GitHub - stackb/bazel-stack-vscode-cc: C/C++ Support For Bazel Stack VSCode Extension (original) (raw)

bazel-stack-vscode-cc

Additional support for rules_cc in conjunction with bazel-stack-vscode

Features

Clang Compilation Database

This extension provides a command Bazel/C++: Generate Compilation Database(bsv.cc.compdb.generate) that produces a file${workspaceDirectory}/compile_commmands.json that assists with Intellisense for Bazel/C++ repositories.

To setup, edit your workspace settings (search for bsv.cc.compdb.targets) and configure a list of bazel labels for the cc_binary or cc_library targets you'd like to be indexed. The tool will then produce a command set for the transitive closure of those top-level targets.

To configure the bazel executable and/or additional bazel build arguments, use the bsv.bazel.executable and bsv.bazel.buildFlags settings (provided bybazel-stack-vscode).

These can be added to your .vscode/settings.json and checked-in to VCS as follows:

{ ... "bsv.bazel.buildFlags": [ "--config=custom", ], "bsv.cc.compdb.targets": [ "//app/foo:foo_binary", "//app/bar:bar_binary", "//app/baz:baz_binary", ] }

Works best in conjuction withhttps://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd.

This feature was derived from https://github.com/grailbio/bazel-compilation-database.