Vala-Code
Vala Language Support for Visual Studio Code
Vala-Code extends VS Code with support for the Vala programming language, and provides tools for effectively editing, refactoring, running, and reloading Vala apps.
Installation
The Vala-Code full release can be installed from my Github PPA. Extension only users can install from Visual Studio Code Marketplace or by searching within VS Code.
Features
- Realtime compilation diagnostics provider
- Integrated Gdb debugging
- Syntax highlighting
- Code completion
- Code snippets
- Symbol Outline provider
- Document Format provider
- .vala: OnType & OnSave
- .vapi: OnSave
- Go to Definition
- Find References
- Workspace symbol search
- Document symbol search
- Integrated terminal logging
- Terminal link handler
How it works, what it shows?
- The extension implements and registers a
TextDocumentContentProvider
for a particular URI scheme.
- The content provider uses the
vscode.executeReferenceProvider
-API command to delegate searching for references to the language extensions, like TypeScript, vscode-go, or C#
- The generated document initially contains a caption only and incrementally updates as each reference location is resolved.
- Add links for each result in the virtual document pointing to the reference.
- Add an entry to editor context menu via
package.json
Typical Project tree structure (<=required folders
)
├── bin `<=compiled binaries`\
├── config\
├── gdb\
│ └── python\
├── obj `<=compiled intermediate files ie (*.o;*.h;*.dep)`\
├── protobuf\
├── resources\
├── src `<=source files (*.vala;*.c)`\
├── test\
│ ├── files\
│ └── protobuf\
├── vscode\
└── xtras
Integrated Gdb debugging
Requires installing Gdb. I'm developing with:
GNU gdb (GDB) 8.1 & 8.2
Sample Launch Configuration:
"type": "valadb",
"request": "launch",
"name": "ValaDB:Launch Program",
"target": "bin/helloworld-dbg.exe",
"gdbpath": "/usr/local/bin/gdb",
"gdbargs": ["--data-directory=/home/george/Downloads/gdb-8.1/gdb/data-directory"],
"showTraceCalls": true,
"debugServer": 0
Contribute your knowledge and experience:
This project welcomes contributions and suggestions.
- Install the package and keep us informed on your progress. Let us know how to make it better and promote the Vala language.
- Submit additions/changes to the Vala-Code Website. This is a big step forward in helping others with their startup and usage experience.
Raising Issues in Vala-Code
If you've found an issue or have a suggestion for Vala-Code, please do open an issue.
Vala Language useful links
Credits
vala-source-colorizer and snippets based on Vala language support for Visual Studio Code by Thiago 'Jedi' Abreu.