blob: 232501086e2808782be7cae3d7762cbb3c714714 [file] [log] [blame] [view]
# Pigweed Extension for Visual Studio Code
Work more effectively with [Pigweed](https://pigweed.dev) projects in Visual
Studio Code!
## Usage
Right now, all functionality is exposed through [tasks](https://code.visualstudio.com/docs/editor/tasks),
so your first step will be to open the [command palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette)
and select `Tasks: Run Task`.
### Sync your IDE to your project
Running the `Pigweed: Sync IDE` task is the equivalent of running the
[`pw ide sync`](https://pigweed.dev/pw_ide/#sync) CLI command.
### Manage C++ target toolchains
For more information, see [this page](https://pigweed.dev/docs/editors.html#c-c)
in the Pigweed docs.
Running the `Pigweed: Set C++ Target Toolchain` will display a list of available
target toolchains. Simply select one, and `clangd` will be configured to use it.
### Manage the Python virtual environment
Usually, `Pigweed: Sync IDE` will automatically configure Visual Studio Code to
use the correct Pigweed Python virtual environment. But if you need to change
this manually, you can do so with `Pigweed: Set Python Virtual Environment`.
### Launch Pigweed activated terminals
Run `Pigweed: Launch Activated Terminal`, or
`Pigweed: Bootstrap Activated Terminal` if you need to bootstrap first.
### Other tasks
- `Pigweed: Format` == `pw format --fix`
- `Pigweed: Presubmit` == `pw presubmit`
### Found a bug?
Run `Pigweed: File Bug` to let us know!
## Configuration
This extension provides the following configuration options:
- `pigweed.enforceExtensionRecommendations`: If set to `true`, recommendations
in your project's `extensions.json` will be enforced. Recommended extensions
will need to be installed, and non-recommended extensions will need to be
disabled in the project's workspace.
## Developing
If you want to contribute to this extension, here's how you can get started:
- Ensure that you have `npm` installed globally; this doesn't use the
distribution provided by Pigweed yet.
- Open the `pigweed/pw_ide/ts/pigweed-vscode` directory directly in Visual
Studio Code.
- Run `npm install` to add all dependencies.
- Run "Run Extension" in the "Run and Debug" sidebar, or simply hit F5. A new
Visual Studio Code window will open with the extension installed.
- Make changes. The build will update automatically. Click the little green
circle-with-an-arrow icon at the top of your development window to update
the extension development host with the new build.
- Run tests: `npm run test`
### Building
- Install the build tool: `npm install -g @vscode/vsce`
- Run `pw ide vscode --build-extension`