Description
CMake IntelliSense is a VSCode extension that provides features such as syntax highlighting, semantic tokens, document formatting, and code completion for CMake scripts.
Feedback
This extension is still under development, you may encounter bugs or missing features. If you have any suggestions or find any bugs, please feel free to open an issue on github. Your feedback is highly appreciated.
Requirements
No other runtime dependencies are required. You should have CMake installed.
Features
Features
- Syntax highlighting
- Semantic tokens
- Auto-completion for commands, variables, properties, etc.
- Document formatting
- Document links
- Go to definition
- Find references
- Rename symbol
- Workspace symbol search
- Diagnostics publishing
- Code actions (quick fixes, etc.)
- Snippet support
- Multi-language/localization support
- Integration and unit tests


Development
Note: This section describes the development environment setup required for modifying/developing this extension. If you just want to use this extension, simply install it without any additional setup.
This project use antlr4 to generate the parser and lexer for CMake language. You need to setup antlr4 command line tool before you start development.
- Install Java JDK/JRE, make sure java command is available in your terminal
- Download antlr-4.13.2-complete.jar
- Add a script named
antlr4 in your path, and set the script content as follows:
on Linux/macOS, you can name the script antlr4 and add execute permission to it, then put it in your path. The content of the script is as follows:
java -jar /path/to/antlr-4.13.2-complete.jar "$@"
on Windows, you can name the script antlr4.bat and put it in your path. The content of the script is as follows:
java -jar C:\path\to\antlr-4.13.2-complete.jar %*
After setting up antlr4 command line tool, you can flow the steps below to start development:
- Clone the repository and open it in Visual Studio Code
- Run
npm install to install dependencies
- Run
npm run develop to compile the source code
- Select
Client + Server in the debug panel and press F5 to start the extension
Todo
- Add more LSP features
- Performance optimization
- Unit/Integeation tests