Postprocessor IDE for SolidCAM
Full support for the GPPL language (
FeaturesSemantic Highlighting & HoverAll syntax highlighting is provided by the language server — variables, procedures, parameters, types, keywords, operators, built-in functions and system variables are color-coded by meaning, not just pattern matching. Hover over any symbol to see its kind, type, scope, and reference count. System variables show a description from the SolidCAM reference. 48 built-in functions ( Auto-CompletionContext-aware suggestions for keywords, built-in functions, your own variables and procedures, plus 1070 SolidCAM system variables and 94 system procedures with descriptions. Built-in functions expand as snippets with tab-stops over parameter names and show localized documentation in the completion popup. Descriptions follow VS Code's display language — English, Russian, and German are shipped.
Smart Call CompletionAfter you type
Wrap Selection with Built-insSelect any variable, press Without a selection, the same completion behaves as before: the first parameter is a placeholder tab-stop (
Go to Definition & Find All ReferencesF12 / Ctrl+Click — jump to where a variable or procedure is defined. Shift+F12 — see all usages across the file.
Rename SymbolF2 — rename a variable or procedure across the entire file. Scope-aware: local renames stay local.
DiagnosticsParse errors with clear, context-aware messages. Semantic checks: undeclared identifiers (
Quick FixesCtrl+. on a diagnostic to apply a one-click fix:
SnippetsType a prefix and press Tab to expand common constructs with tab-stops at the places you care about:
Document FormattingShift+Alt+F — automatic indentation and operator spacing based on the parse tree.
Signature HelpParameter hints when calling procedures and built-in functions — see expected argument types, optional parameters, and localized descriptions. Supports all 48 built-in functions and user-defined
Clickable
|
| Rule | Example |
|---|---|
| Indentation | 2 spaces per nesting level |
| Assignment | x = 1 |
| Comparison | x == 1, x != 2, x <= 10 |
| Arithmetic | x + 1, y * 2 |
| Word operators | x eq 1, a and b |
Power ^ |
x^2 (no spaces) |
| Unary sign | z = -x + 2 (no space after sign) |
Colon : |
result:'+3.3' (no spaces) |
Comma , |
f(a, b) (space after) |
| Code-gen braces | { nl, 'G1' } (spaces inside { }) |
Empty lines, comments, and string literals are preserved as-is.
File Encoding
SolidCAM reads .gpp files in the system's ANSI codepage. The extension defaults .gpp to Windows-1252 and warns (GPPL3001) about characters that cannot be saved in the selected encoding.
For Cyrillic postprocessors (Windows-1251)
Add to your User or Workspace settings.json:
"[gppl]": {
"files.encoding": "windows1251"
},
"gppl.encoding": "windows1251"
files.encoding tells VS Code how to read/write the file; gppl.encoding tells the language server which characters to accept. Both should match.
Switching encoding of an open file
Use VS Code's built-in commands:
Change File Encoding → Reopen with Encoding— re-read the file bytes with a different codepage (useful when a file opens with mojibake).Change File Encoding → Save with Encoding— re-save the file in a different codepage.
The extension intentionally does not offer per-character Quick Fixes — re-encoding the whole file is almost always the right action.
Language / Localization
The extension is fully localized in English (default), Russian, and German.
The active language follows VS Code's display language (vscode.env.language) — install the matching Language Pack and the extension follows automatically. A reload (Developer: Reload Window) is needed for the language server to pick up a newly changed locale.
What gets translated:
- System catalog — all 1105 system variable descriptions and 94 system procedure descriptions (hover tooltips and completion item details).
- Diagnostics — parser error messages, semantic diagnostics, encoding warnings.
- UI strings — extension settings, command titles, hover labels, completion details.
No configuration is required.
Installation
From VS Marketplace (Recommended)
Search for SolidCAM Postprocessor IDE in the Extensions panel (Ctrl+Shift+X), or install directly:
code --install-extension anzory.vscode-gppl-ide
Or visit the marketplace page.
From VSIX (Offline)
- Download
vscode-gppl-ide-x.y.z.vsixfrom GitHub Releases - In VSCode: Extensions panel →
...→ Install from VSIX...
Or via command line:
code --install-extension vscode-gppl-ide-x.y.z.vsix
Requirements
- Windows (SolidCAM is Windows-only)
- VSCode 1.75+
Feedback
This extension is built for postprocessor developers. If you work with GPPL, your input is invaluable:
- Bug reports — open an issue
- Feature requests — what would save you the most time?
- General impressions — is this heading in the right direction?
License
The VSCode extension client is licensed under MIT. The language server binary is proprietary. See LICENSE for details.
Acknowledgements
This extension builds on the shoulders of excellent open-source projects. The language server in particular is powered by:
- ANTLR 4 (BSD-3-Clause) — parser generator used for GPPL grammar
- OmniSharp Language Server Protocol (MIT) — LSP 3.17 framework for .NET
- Serilog (Apache-2.0) — structured logging
- .NET Runtime (MIT) — © .NET Foundation and Contributors
For the complete list of third-party components, their versions, licenses, and copyright notices, see THIRD_PARTY_NOTICES.md — included in every release.








