关于 CodeQL 扩展名的 Visual Studio Code 中的设置
可更改 扩展的 的许多设置,包括:
- 扩展使用的 CodeQL CLI 版本。
- 扩展程序如何显示以前的查询。
- 扩展如何运行查询。
编辑 CodeQL 扩展的设置
-
打开“扩展”视图,右键单击 ****,然后单击扩展设置。
-
在设置窗口中,根据需要编辑设置。 新设置将自动保存。
Tip
或者,可通过打开 VS Code Command Palette并选择“首选项: 打开用户设置(JSON)”来编辑 JSON 格式的设置****。
选择 CodeQL CLI 的版本
要覆盖默认行为并使用特定版本的,可在扩展设置中指定可执行路径,并将其指向您现有的副本。 即名为 codeql
(Linux 和 macOS) 或 codeql.exe
(Windows) 的文件。 有关默认行为的详细信息,请参阅 配置 CodeQL CLI 的访问权限。
更改查询历史记录项的标签
查询历史记录“格式”设置控制扩展在查询历史记录中列出查询的方式。 默认情况下,每个项都有一个标签,格式如下:
QUERY-NAME on DATABASE-NAME - QUERY-STATUS NUMBER-OF-RESULTS [QUERY-RUNTIME]
要覆盖默认标签,可以为查询历史记录项指定不同的格式。
更改查询历史记录项的保留期
默认情况下,“查询历史记录”视图中的项将保留 30 天。 可以通过更改“查询历史记录: Ttl”设置来设置不同的生存时间 (TTL)。 要无限期保留项,请将值设置为 0。
在本地配置用于运行查询的设置
“运行查询”下有许多设置。 例如,如果查询运行速度太慢且经常超时,则可能需要通过更改“运行查询:内存”设置来增加内存。
如果要检查查询性能,请启用“运行查询:调试”设置以包括计时和元组计数。 然后,这将显示在“输出”视图的 “查询服务器”选项卡中的日志中。 元组计数非常有用,因为它指示查询计算的谓词的大小。
要将查询服务器日志保存在自定义位置,请编辑“运行查询:自定义日志目录”设置。 如果使用自定义日志目录,则扩展程序会永久保存日志,而不是在每次工作区会话后自动删除日志。 如果要调查这些日志以提高查询性能,这将非常有用。
配置变体分析的设置
变体分析下有许多设置,可使用它们来定义或编辑用于变体分析的存储库列表,并更改为不同的控制器存储库。 有关控制器仓库的用途和要求的信息,请参阅 通过多库变体分析大规模运行 CodeQL 查询。
您还可以通过编辑 Visual Studio Code 工作区中名为 databases.json
的文件来编辑“变体分析存储库”视图中显示的项。 此文件包含视图中显示的所有项的 JSON 表示形式。 要在编辑器窗口中打开 databases.json
文件,请单击“变体分析存储卡”视图右上方的 { } 图标。 然后,可在视图中看到存储库、组织和列表的结构化表示形式。 例如:
{
"version": 1,
"databases": {
"variantAnalysis": {
"repositoryLists": [
{
"name": "My favorite JavaScript repos",
"repositories": [
"facebook/react",
"babel/babel",
"angular/angular"
]
}
],
"owners": [
"microsoft"
],
"repositories": [
"apache/hadoop"
]
}
},
"selected": {
"kind": "variantAnalysisSystemDefinedList",
"listName": "top_10"
}
}
可通过直接编辑此文件来更改视图中显示的项或添加新项。
配置用于添加数据库的设置
要自动将数据库源文件夹添加到工作区,可以启用“添加数据库:将数据库源添加到工作区”设置。
默认情况下,此设置处于禁用状态。 如果经常浏览数据库的源代码(例如,查看代码的抽象语法树),则可能需要启用该设置。 有关详细信息,请参阅“浏览源代码的结构”。
Note
如果位于单文件夹工作区中,则添加数据库源文件夹将导致该工作区重新加载为多根工作区。 这可能会导致查询历史记录和数据库列表重置。
在启用此设置之前,建议将工作区另存为多根工作区。 有关详细信息,请参阅 文档中的多根工作区。
配置用于在本地测试查询的设置
要增加用于测试查询的线程数,可以更新“运行测试:线程数”设置。
要在运行测试时将其他参数传递给 CodeQL CLI,可以更新“运行测试:其他测试参数”设置。 有关可用参数的详细信息,请参阅 test run。
配置遥测和数据收集的设置
可以配置 CodeQL 扩展插件决定其是否收集遥测数据。 默认禁用了此属性。 有关详细信息,请参阅“Visual Studio Code 的 CodeQL 中的遥测”。
延伸阅读
- Visual Studio Code 文档中的用户和工作区设置