# Vscode Extension

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

- Skill: `tomevault-io/vscode-extension-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/vscode-extension-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/vscode-extension-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/vscode-extension-3

---


# VS Code Extension Development

## Quick Start

```json
// 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

```json
{
  "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

- [references/textmate.md](references/textmate.md) - TextMate grammar patterns
- [references/language-config.md](references/language-config.md) - Language configuration
- [references/publishing.md](references/publishing.md) - Publishing to marketplace

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/mcclowes) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

