rgbds-vscode
Visual Studio Code language extension for RGBDS GBZ80 Assembly.
RGBDS
This extension provides support for the RGBDS assembler for the Game Boy in Visual Studio Code.
Features
Syntax Highlighting Grammar
A full grammar definition for syntax highlighting is included.

Documented Instruction Snippets
Instruction snippets reveal and document every instruction the Game Boy CPU understands. The documentation even includes the number of cycles instructions take!

Problem Matcher
An included problem matcher enables Visual Studio Code to highlight invalid lines of code when you compile.

Documented Symbol Detection
Symbols you declare are detected and populated in IntelliSense prompts. It even grabs your documentation comments!
- Any uninterrupted runs of lines that consist only of comments preceding a symbol declaration will be considered part of that symbol's documentation.
- A comment on the same line as a symbol declaration is also part of its documentation.

Documentation Hovers
Hover over symbol references to see their documentation at a glance.

Jump to Declaration
For when you need to see a symbol's implementation.

Usage
The language support will automatically activate for any file with .z80, .asm, .inc, .s, or .sm83 file extensions.
Using the Problem Matchers
The rgbasm problem matcher is named "rgbdserror", and the rgblink problem matcher is named "rgbdslinkerror". The following is an example of a build task that calls make and uses the problem matchers.
{
"label": "build",
"type": "shell",
"command": "make",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"panel": "new"
},
"problemMatcher": ["$rgbdserror", "$rgbdslinkerror"]
}
Include Path Searching
This extension supports IntelliSense for symbols declared in included files. By default, it searches for included files relative to the workspace root. But you can configure additional directories to search via the rgbdsz80.includePath configuration variable. You may assign a string path or an array of string paths to that variable, and all associated directories will be searched in turn to resolve an included file. Configured paths may be either absolute or relative to the workspace directory.
Include File Suggestion Filtering
By default, IntelliSense prompts for include directives will suggest files of any supported file extension. However, it's common practice to separate header/include files from implementation/code files, and to use different extensions (such as .inc/.asm) to differentiate them. By using the rgbdsz80.includeSuggestionExtensions configuration variable, you can specify an array of extensions to only be suggested files that have those extensions.
For example, the setting "rgbdsz80.includeSuggestionExtensions" : [ ".inc" ] will only suggest files ending in .inc.
Capitalization Formatting
You can customize capitalization rules for your code. See Capitalization Formatting for details.