clang-tools 8.0.0

vscode-clangd

Provides C/C++ language IDE features for VS Code using clangd.

## Usage

`vscode-clangd` provides the features designated by the Language Server Protocol, such as code completion, code formatting and goto definition.

Note: `clangd` is under heavy development, not all LSP features are implemented. See Current Status for details.

To use `vscode-clangd` extension in VS Code, you need to install `vscode-clangd` from VS Code extension marketplace.

`vscode-clangd` will attempt to find the `clangd` binary on your `PATH`. Alternatively, the `clangd` executable can be specified in your VS Code `settings.json` file:

{
"clangd.path": "/absolute/path/to/clangd"
}

To obtain `clangd` binary, please see the installing Clangd.

## Development

A guide of developing `vscode-clangd` extension.

### Requirements

- VS Code
- node.js and npm

### Steps

1. Make sure you disable the installed `vscode-clangd` extension in VS Code.
2. Make sure you have clangd in /usr/bin/clangd or edit src/extension.ts to point to the binary.
3. In order to start a development instance of VS code extended with this, run:

$ cd /path/to/clang-tools-extra/clangd/clients/clangd-vscode/
$ npm install
$ code .
# When VS Code starts, press <F5>.

## Publish to VS Code Marketplace

New changes to `clangd-vscode` are not released until a new version is published to the marketplace.

### Requirements

- Make sure install the `vsce` command (`npm install -g vsce`)
- `llvm-vs-code-extensions` account
- Bump the version in `package.json`, and commit the change to upstream

The extension is published under `llvm-vs-code-extensions` account, which is currently maintained by clangd developers. If you want to make a new release, please contact cfe-d.nosp@m.ev@l.nosp@m.ists..nosp@m.llvm.nosp@m..org.

### Steps

$ cd /path/to/clang-tools-extra/clangd/clients/clangd-vscode/
# For the first time, you need to login in the account. vsce will ask you for
the Personal Access Token, and remember it for future commands.
$ vsce login llvm-vs-code-extensions
$ vsce publish