Claude Code Plugins

Community-maintained marketplace

Feedback

vscode-extension

@mcclowes/vague
1
0

Use when developing VS Code extensions including TextMate grammars, language configuration, and extension manifest

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name vscode-extension
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 contributes for 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 literals
  • comment.line / comment.block - Comments
  • entity.name.function - Function names
  • variable - Variables
  • constant.numeric - Numbers

Reference Files