This extension adds intelligent support for Source Engine file types like VMT, QC, FGD, gameinfo.txt and many more.
Checklist for features that are planned or already implemented.
- Keyvalue highlighting
- Auto-detect common file names like gameinfo.txt
- Semantic Tokenizer
- Error detection
- Duplicate key detection
- Keyvalue file auto indentation and formatting
- Support for
#includeand#base - Support for conditionals (e.g.:
[$Debug])
- VMT highlighting
- Parameter name completion
- Config for parameters
- Parameter value completion
- Parameter value validation dependent on parameter name
- Texture path completion
- Color value preview
- .fgd highlighting
- UnifyFGD support (Hammer Addons)
- QC highlighting
- Compile model button
- Configuration for mdlcompile.exe
- Configuration for game root path
- Captions highlighting
- Captions markup highlighting
- Captions color preview
- Compile captions button
- .cfg highlighting
- VPC highlighting
- .rad file highlighting
- Soundscript snippets
- .smd highlighting
- .fxc highlighting
This is what is planned for this extension. In case you wish to contribute, this is a good place to start.
- Tree view
- Schema implementation
- Schema for gameinfo
- Schema for soundscripts
- Schema for soundscapes
- QC smd/dmx path completion
- $File path completion
- Captions preview render
- Ability to modify color in gui
Create your pull requests to merge to the dev branch. Do not edit changelog.md or the feature listings in readme.md as the changelog will be handled later when merging to master.
Make sure all workflows succeed. To validate locally:
npm run lint
npm run test
Users can just install this extension on the VSCode Marketplace, but developers might want to run the development build of the extension.
- Install NPM and NodeJS (>v12)
- Install Visual Studio Code (Duh)
- Clone the repository
- Run
npm installin the repository's folder, to install the dependencies
To start the unit tests, run npm run test. The project will be automatically compiled.
To run the benchmark tests, run npm run benchmark. The project will be automatically compiled
- To start the extension, first compile the project
npm run compile(Ornpm run watchto auto-compile on every file change) - Open the repository in VSCode
- Open the 'Run and Debug' tab
- Select the 'Extension' run configuration on the dropdown on the top
- Run by pressing F5
This project is licensed under the GNU Public License version 3: License

