Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>EPSON SPEL+ Language SupportNew to Visual Studio Code? Get it now.
EPSON SPEL+ Language Support

EPSON SPEL+ Language Support

spel-plus-publisher

|
1 install
| (0) | Free
VS Code language support for EPSON SPEL+ robot programs (.prg) — syntax highlighting, completions, hover, outline, snippets, and formatting.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

EPSON SPEL+ Language Support

VS Code extension that recognizes .prg files as EPSON SPEL+ robot programs (the language used by EPSON RC+) and provides:

  • Syntax highlighting for keywords, motion commands, IO, tasks, built-in functions, types, constants, strings (both "..." and [...]), numbers (&H, &B, &O, decimal), and comments.
  • Autocompletion for SPEL+ keywords, motion commands (Go / Move / Jump / Arc / Curve / CVMove), IO commands, task control, types, constants, and built-in functions. The list is driven by a structured knowledge base so the official SPEL+ manual can be used to enrich the catalogue without touching the rest of the extension.
  • Hover documentation showing signature, description, and notes.
  • Go to Definition for user-declared Functions / Subs.
  • Document Outline / Symbols so the Explorer can show a tree of Functions, Subs, and labels.
  • Snippets for Function, Sub, If, For, While, Select, Xqt, motion commands, and OnErr / Resume Next skeletons.
  • Lightweight validation that warns on unclosed If / For / While / Select / Function / Sub blocks and stray closers.
  • Document formatter that normalises indentation to a configurable size.

Project layout

.
├─ package.json              # extension manifest
├─ language-configuration.json
├─ syntaxes/
│  └─ spel.tmLanguage.json   # TextMate grammar for SPEL+
├─ snippets/
│  └─ spel.json              # common code snippets
├─ src/
│  ├─ extension.ts           # extension entry (language client)
│  ├─ common/
│  │  └─ spelKnowledge.ts    # keyword/function/motion catalogue
│  └─ server/
│     └─ server.ts           # language server (LSP)
├─ .vscode/                  # launch / tasks for F5 development
└─ out/                      # compiled client (generated)
└─ out-server/               # compiled server (generated)

Build & run locally

npm install
npm run build

Then press F5 in VS Code — this opens an Extension Development Host with the extension loaded. Open any .prg file to see highlighting, suggestions, hover, outline, etc.

Package a .vsix

npm run package

The output is spel-plus-0.1.0.vsix. Install it with:

code --install-extension spel-plus-0.1.0.vsix

Filling in real SPEL+ semantics

The current catalogue is a sensible starter. When you share the official EPSON SPEL+ reference manual, expand src/common/spelKnowledge.ts:

  • Add the full keyword list (in the KEYWORDS array).
  • Add the full built-in function list (in FUNCTIONS) with real signatures and descriptions.
  • Add motion command variants (Go / Move / Jump / Jump3 / Arc / Curve / CVMove) with their full option set.
  • Add task control (Xqt, TaskStart, TaskStop, …).
  • Add the system variables (MyTask, TSpeed, etc.) so they appear in completion too.
  • Update syntaxes/spel.tmLanguage.json to make any keywords that the starter grammar missed be styled correctly.

The rest of the pipeline (hover, completion, definition, outline, formatter) will pick up new entries automatically.

Roadmap

  • v0.2 – refine formatter and add per-language settings (case-sensitivity, Indent style).
  • v0.3 – diagnostic provider that catches GoSub to unknown labels, Call to unknown Subs, and undeclared variable usage.
  • v0.4 – symbols + outline polish and code-folding markers.

License

MIT.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft