Provides
V programming language
and
v-analyzer
support for Visual Studio Code.
It is recommended over and replaces
V extension.
For most of its functionality, the extension uses
v-analyzer,
which we will refer to as the server to avoid confusion.
- syntax highlighting
- code completion
- go to definition, type definition
- find all references, document symbol, symbol renaming
- types and documentation on hover
- inlay hints for types and some construction like
orblock - semantic syntax highlighting
- formatting
- signature help
Welcome! 👋🏻
Let's get started setting up v-analyzer in VS Code!
-
First of all, make sure you have the latest version of V installed. If you are unsure, run
v upto update. -
Now let's install VS Code v-analyzer extension:
- Open the command palette with
Ctrl+Shift+PorCmd+Shift+P - Select
Install Extensionsand choosev-analyzer.
You can also install the extension manually:
- Select
Install from VSIX... - Choose pre-built VSIX file from this folder or build it yourself
After installation, restart VS Code.
- Open the command palette with
-
Open any project that contains files with
.vextension. The extension should automatically activate. Upon activation, the extension will try to findv-analyzerserver, which is the heart of the extension and provides all the smart features. -
Since
v-analyzerserver is not installed (unless you installed it in advance and added it to PATH, in which case you can skip this step), the extension will prompt you to install it. ClickInstalland wait for the installation to complete. -
After installing
v-analyzerserver, the extension will prompt you to restart thev-analyzerserver. ClickYesand wait for the restart to complete. -
When
v-analyzerserver is successfully restarted, it will start to analyze your project as well as the V standard library. -
Note that if
v-analyzerserver cannot find where the V standard library is stored, an error will be shown.In this case, follow the instructions in the error and specify the path to the V source code folder in the
custom_vrootfield.Note You need to specify the folder where all the V sources are stored (e.g.
C:\v\or/home/user/v/and not the folder with the standard library (e.g.C:\v\vlibor/home/user/v/vlib)! After making changes, restartv-analyzerusing thev-analyzer: Restart servercommand in the command palette. -
If the server was able to find all the necessary things, then after a while the indexing will end, and you will be able to use all the features of
v-analyzer.Note Indexing can take up to 30 seconds on weak machines, but this is only done on the first run; then the indexes will be loaded from the cache.
You are ready to code in V! 🎉
You can install v-analyzer server manually:
Clone the
v-analyzer
repository, build it and specify the path to the compiled binary.
{
"v-analyzer.serverPath": "path/to/v-analyzer"
}v-analyzer uses v compiler to analyze code.
It calls it every time a file is saved, so you can set up auto-save to get real-time
feedback.
{
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 300
}With highlighting based on TextMate grammar, v-analyzer provides semantic highlighting, which allows you to highlight fields, variables, parameters and other elements as different entities.
To enable semantic highlighting, make sure the editor.semanticHighlighting.enabled
setting is set to true in the VS Code settings.
In the settings, you can also specify colors for each entity type:
{
"editor.semanticTokenColorCustomizations": {
"[Theme Name]": {
"rules": {
"namespace": "#AFBF7E",
"parameter": "#B189F5",
"decorator": "#DEBC7E",
"typeParameter": "#B189F5",
"enumMember": "#72CFD6",
"*.global": "#A9B7C6",
"function": "#FFC66D",
"*.mutable": {
"underline": true
}
}
}
}
}See all available entity types in the LSP specification.
npm install
npm run packageThis project is under the MIT License. See the LICENSE file for the full license text.