{"meta":{"title":"自定义设置","intro":"可以根据需要编辑 CodeQL 扩展的 Visual Studio Code 设置。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/code-security","title":"安全性和代码质量"},{"href":"/zh/code-security/how-tos","title":"How-tos"},{"href":"/zh/code-security/how-tos/find-and-fix-code-vulnerabilities","title":"查找和修复代码漏洞"},{"href":"/zh/code-security/how-tos/find-and-fix-code-vulnerabilities/scan-from-vs-code","title":"从 VS Code 扫描"},{"href":"/zh/code-security/how-tos/find-and-fix-code-vulnerabilities/scan-from-vs-code/customizing-settings","title":"自定义设置"}],"documentType":"article"},"body":"# 自定义设置\n\n可以根据需要编辑 CodeQL 扩展的 Visual Studio Code 设置。\n\n## 关于 CodeQL 中 Visual Studio Code 扩展的设置\n\n可以为 CodeQL 扩展的 Visual Studio Code 更改许多设置，包括：\n\n* 扩展使用的是哪个版本的 CodeQL CLI。\n* 扩展程序如何显示以前的查询。\n* 扩展如何运行查询。\n\n## 编辑CodeQL扩展的设置\n\n1. 打开“扩展”视图，然后右键单击**CodeQL**，然后单击 **“扩展设置”。**\n\n   ![“扩展”视图的屏幕截图，其中显示右键单击菜单，并用深橙色轮廓显示“扩展设置”。](/assets/images/help/security/codeql-for-vs-code-extensions-view.png)\n\n2. 在设置窗口中，根据需要编辑设置。 新设置将自动保存。\n\n   ![在 VS Code 中显示的 VS Code CodeQL 扩展设置窗口的截图。](/assets/images/help/security/codeql-for-vs-code-extension-settings.png)\n\n> \\[!TIP]\n> 或者，可以通过打开 VS Code Command Palette 并选择“ **首选项：打开用户设置”（JSON）** 来编辑 JSON 格式的设置。\n\n### 选择 CodeQL CLI 的版本\n\n若要覆盖默认行为并使用 CodeQL CLI 的特定版本，可以在扩展设置中指定 CodeQL CLI 的“可执行路径”，并将其指向您已有的 CodeQL CLI 副本。 即名为 `codeql`（Linux 和 macOS） 或 `codeql.exe` (Windows) 的文件。 有关默认行为的更多信息，请参阅 [在 VS Code 扩展中管理 CodeQL CLI](/zh/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/configuring-access-to-the-codeql-cli)。\n\n### 更改查询历史记录项的标签\n\n查询历史记录“格式”设置控制扩展在查询历史记录中列出查询的方式。 默认情况下，每个项都有一个标签，格式如下：\n\n```bash\nQUERY-NAME on DATABASE-NAME - QUERY-STATUS NUMBER-OF-RESULTS [QUERY-RUNTIME]\n```\n\n要覆盖默认标签，可以为查询历史记录项指定不同的格式。\n\n### 更改查询历史记录项的保留期\n\n默认情况下，“查询历史记录”视图中的项将保留 30 天。 可以通过更改“查询历史记录： Ttl”设置来设置不同的生存时间 (TTL)。 要无限期保留项，请将值设置为 0。\n\n### 在本地配置用于运行查询的设置\n\n“运行查询”下有许多设置。 例如，如果查询运行速度太慢且经常超时，则可能需要通过更改“运行查询：内存”设置来增加内存。\n\n如果要检查查询性能，请启用“运行查询：调试”设置以包括计时和元组计数。 然后，这将显示在“输出”视图的“查询服务器”选项卡中的日志 CodeQL 中。 元组计数非常有用，因为它指示查询计算的[谓词](https://codeql.github.com/docs/ql-language-reference/predicates/#predicates)的大小。\n\n要将查询服务器日志保存在自定义位置，请编辑“运行查询：自定义日志目录”设置。 如果使用自定义日志目录，则扩展程序会永久保存日志，而不是在每次工作区会话后自动删除日志。 如果要调查这些日志以提高查询性能，这将非常有用。\n\n### 配置变体分析的设置\n\n“变体分析”下有许多设置可用于定义或编辑用于变体分析的 GitHub 存储库列表，并更改为其他控制器存储库。 有关控制器存储库的用途和要求的信息，请参阅 [通过多库变体分析大规模运行 CodeQL 查询](/zh/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis)。\n\n还可以通过编辑工作区中 Visual Studio Code 名为 `databases.json`的文件来编辑“变体分析存储库”视图中显示的项目。 此文件包含视图中显示的所有项的 JSON 表示形式。 要在编辑器窗口中打开 `databases.json` 文件，请单击“变体分析存储卡”视图右上方的 **{ }** 图标。 然后，可在视图中看到存储库、组织和列表的结构化表示形式。 例如：\n\n```json\n{\n  \"version\": 1,\n  \"databases\": {\n    \"variantAnalysis\": {\n      \"repositoryLists\": [\n        {\n          \"name\": \"My favorite JavaScript repos\",\n          \"repositories\": [\n            \"facebook/react\",\n            \"babel/babel\",\n            \"angular/angular\"\n          ]\n        }\n      ],\n      \"owners\": [\n        \"microsoft\"\n      ],\n      \"repositories\": [\n        \"apache/hadoop\"\n      ]\n    }\n  },\n  \"selected\": {\n    \"kind\": \"variantAnalysisSystemDefinedList\",\n    \"listName\": \"top_10\"\n  }\n}\n```\n\n可通过直接编辑此文件来更改视图中显示的项或添加新项。\n\n### 配置用于添加数据库的设置\n\n要自动将数据库源文件夹添加到工作区，可以启用“添加数据库：将数据库源添加到工作区”设置。\n\n默认情况下，此设置处于禁用状态。 如果经常浏览数据库的源代码（例如，查看代码的抽象语法树），则可能需要启用该设置。 有关详细信息，请参阅“[探索源代码的结构](/zh/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/exploring-the-structure-of-your-source-code)”。\n\n> \\[!NOTE]\n> 如果位于单文件夹工作区中，则添加数据库源文件夹将导致该工作区重新加载为多根工作区。 这可能会导致查询历史记录和数据库列表重置。\n>\n> 在启用此设置之前，建议将工作区另存为多根工作区。 有关详细信息，请参阅Visual Studio Code中[多根工作区](https://code.visualstudio.com/docs/editing/workspaces/multi-root-workspaces)。\n\n### 配置用于在本地测试查询的设置\n\n要增加用于测试查询的线程数，可以更新“运行测试：线程数”设置。\n\n若要将其他参数传递给 CodeQL CLI 运行测试时，可以更新“正在运行的测试：其他测试参数”设置。 有关可用参数的更多信息，请参阅 [测试运行](/zh/code-security/codeql-cli/codeql-cli-manual/test-run)。\n\n### 配置遥测和数据收集的设置\n\n可以配置 CodeQL 扩展是否收集遥测数据。 默认禁用了此属性。 有关详细信息，请参阅“[Visual Studio Code 的 CodeQL 中的遥测](/zh/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code)”。\n\n## 延伸阅读\n\n* 文档中的[用户和工作区设置](https://code.visualstudio.com/docs/configure/settings)Visual Studio Code"}