关于在 CodeQL 配置文件中指定命令选项
您可以将默认选项或常用选项保存在每个用户的配置文件中。
您可以通过两种方式指定 CodeQL CLI 命令选项
- 直接在命令行中使用相应的标志。
- 在 CodeQL 每次执行命令时都会搜索相关选项的配置(或 `config`)文件中。
对于每次执行命令时都可能更改的选项,在命令行上指定值是在将信息传递给 CodeQL 的最方便的方法。在 `config` 文件中保存选项是指定常用选项的好方法。这也是将经常使用的自定义 CodeQL 包添加到搜索路径的好方法。
使用 CodeQL 配置文件
您需要将 `config` 文件保存在您的主目录(Linux 和 macOS)或用户配置文件(Windows)目录下的 `.config/codeql/` 子目录中。例如,`$HOME/.config/codeql/config`。
指定选项的语法如下:
<command> <subcommand> <option> <value>
要将相同的选项应用于多个命令,您可以:
- 省略 `<subcommand>`,这将为每个相关的 `<subcommand>` 指定选项。
- 同时省略 `<command>` 和 `<subcommand>`,这将为每个相关的 `<command>` 和 `<subcommand>` 全局指定选项。
注意
- `config` 文件只接受选项标志和值之间的空格 — 如果您使用 `=` 指定选项值,CodeQL 将抛出错误。
- 如果在命令行中指定选项,则会覆盖为该选项定义的 `config` 值。
- 如果要为 `<command>`、`<subcommand>` 或全局指定多个选项,请每个选项使用一行。
示例
-
要将 `codeql database analyze` 生成的所有分析结果输出为 CSV 格式,您需要指定:
database analyze --format csv
在这里,您必须指定命令和子命令,以防止在 `database analyze` 期间执行的任何低级命令都传递相同的 `--format` 选项。
-
要定义在运行 CodeQL 命令时使用的 RAM(4096 MB)和线程数(4),请分别指定以下内容:
--ram 4096 --threads 4
-
要全局指定 CodeQL 用于扫描 CodeQL 包的目录(不是安装目录的同级目录),请使用:
--search-path <path-to-directory>