语法突出显示
- Bazel Build Targets 树显示工作区中的构建包/目标
- BUILD 文件中的 CodeLens 链接可通过单击目标直接启动构建或测试
- Buildifier 集成以检查和格式化您的 Bazel 文件(需要安装 Buildifier)
- tasks.json 的 Bazel Task 定义
- 在构建期间调试 .bzl 文件中的 Starlark 代码(设置断点、逐步执行代码、检查变量等)
配置扩展
此扩展将 Bazel 部分添加到 Visual Studio Code 中的扩展设置。如果您将 Bazel 安装在系统路径之外的位置,或者您希望在 IDE 中使用其他版本,则应将 Bazel:可执行文件设置设置为 Bazel 可执行文件的位置。
同样,如果您将 Buildifier 安装在系统路径之外的位置,则可以配置 Bazel:Buildifier 可执行文件设置。
安装 Buildifier 后,Visual Studio 代码中的“格式化文档”命令将使用该工具重新格式化 BUILD、WORKSPACE、.bzl 和 .sky 文件,并在您键入时显示来自这些文件的 lint 警告。默认情况下,此扩展不会在格式化期间自动修复 lint 警告(lint可用于描述在任何一种电脑程式语言中,用来标记原始码中有疑义段落的工具),但您可以通过启用 Bazel:Buildifier Fix on Format 设置来选择此功能。
使用单独的输出库
默认情况下,此扩展将使用默认输出库来运行查询。这将导致构建阻止查询,从而可能导致性能下降。在 Bazel 7.1 版之后,可以通过将 bazel.queriesShareServer 设置更改为 false 来安全地禁用此功能。在早期版本中,可以在将便利符号链接添加到 .bazelignore 后安全地禁用它,例如:
bazel-myreponame
bazel-bin
bazel-testlogs
使用 Starlark 调试器
目前,可以通过右键单击 Bazel 构建目标视图中的构建目标并选择“使用 Starlark 调试器构建目标”来使用 Starlark 调试器。这将在 Visual Studio Code 调试器内启动构建(输出将重定向到调试控制台窗格),并且它将在执行期间遇到任何断点时暂停。
当 Bazel 线程暂停时,您可以逐步执行 Starlark 代码、添加监视表达式,并通过在调试控制台的输入区域中键入任意语句来执行它们。
单击调试器中的“停止”按钮将终止正在调试的 Bazel 进程,从而允许您停止当前构建。但是,Bazel 服务器将继续运行。
Bazel tasks
Bazel tasks can be configured from the tasks.json using the following structure:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Check for flakyness",
"type": "bazel",
"command": "test",
"targets": ["${input:pickFlakyTest}"],
"options": ["--runs_per_test=9"]
}
],
"inputs": [
{
"id": "pickFlakyTest",
"type": "command",
"command": "bazel.pickTarget",
"args": {
"query": "kind('.*_test', //...:*)",
"placeHolder": "Which test to check for flakyness?"
}
}
]
}