vscode-extension
Use when developing VS Code extensions including TextMate grammars, language configuration, and extension manifest
$ Installer
git clone https://github.com/mcclowes/vague /tmp/vague && cp -r /tmp/vague/.claude/skills/vscode-extension ~/.claude/skills/vague// tip: Run this command in your terminal to install the skill
SKILL.md
name: vscode-extension
prettier-ignore
description: Use when developing VS Code extensions including TextMate grammars, language configuration, and extension manifest
VS Code Extension Development
Quick Start
// package.json
{
"name": "my-language",
"contributes": {
"languages": [{
"id": "mylang",
"extensions": [".ml"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "mylang",
"scopeName": "source.mylang",
"path": "./syntaxes/mylang.tmLanguage.json"
}]
}
}
Core Components
- package.json: Extension manifest with
contributesfor languages, grammars, commands - language-configuration.json: Brackets, comments, auto-closing pairs, folding
- TextMate Grammar: Syntax highlighting via regex patterns and scopes
- Language Server: Advanced features (LSP) for completions, diagnostics
TextMate Grammar Structure
{
"scopeName": "source.mylang",
"patterns": [{ "include": "#expression" }],
"repository": {
"expression": {
"patterns": [
{ "include": "#keywords" },
{ "include": "#strings" }
]
},
"keywords": {
"match": "\\b(if|else|while)\\b",
"name": "keyword.control.mylang"
}
}
}
Key Scope Naming
keyword.control- Control flow (if, else, for)keyword.operator- Operators (+, -, =)string.quoted- String literalscomment.line/comment.block- Commentsentity.name.function- Function namesvariable- Variablesconstant.numeric- Numbers
Reference Files
- references/textmate.md - TextMate grammar patterns
- references/language-config.md - Language configuration
- references/publishing.md - Publishing to marketplace
Repository

mcclowes
Author
mcclowes/vague/.claude/skills/vscode-extension
1
Stars
0
Forks
Updated3d ago
Added1w ago