When maintaining large enterprise CAD automation repositories—ranging from thousands of lines of AutoLISP / Visual LISP (.lsp, .mnl) and Dialog Control Language (.dcl) files to native C++ ObjectARX / GstarCAD GRX (.grx / .arx) plugins—Sublime Text 4 is substantially faster than heavyweight IDEs once configured with tailored syntax scopes and build systems.
Here is our team’s Sublime Text 4 setup for cross-platform AutoCAD and GstarCAD plugin engineering:
1. Mapping .lsp, .mnl, and .dcl Extensions to Lisp & C Scopes
By default, .mnl (Menu LISP) and .dcl (Dialog Control Language) files open as plain text. Mapping .lsp and .mnl to Lisp and .dcl to C (since DCL shares brace-delimited attribute syntax) immediately restores bracket matching (Ctrl+M) and symbol indexing:
{
"extensions": [
"lsp",
"mnl",
"scr"
],
"tab_size": 2,
"translate_tabs_to_spaces": true,
"auto_match_enabled": true
}
2. Multi-Target .sublime-build for C++ ObjectARX & GstarCAD GRX SDKs
When porting C++ AcDbObject / OdDbObject entities or .NET (gcad.dll / acdbmgd.dll) plugins across CAD engines from a single codebase, you can switch between AutoCAD ObjectARX and GstarCAD GRX MSBuild configurations directly from Sublime Text (Ctrl+Shift+B):
{
"cmd": ["msbuild", "${project_path}/${project_base_name}.sln", "/p:Configuration=Release_GRX2026", "/p:Platform=x64", "/m"],
"file_regex": "^\\s*([A-Za-z]:[^(:]+)\\(([0-9]+),?([0-9]+)?\\): (?:fatal )?(?:error|warning) [A-Z0-9]+: (.*)$",
"working_dir": "${project_path}"
}
3. AutoLISP & GRX API Migration Reference
For developers porting existing AutoLISP scripts, DCL dialogs, or C++ ObjectARX plugins to run natively on GstarCAD without rewriting core business logic:
- See our complete SDK header mapping and API reference at the GstarCAD GRX, .NET & AutoLISP Developer Hub.
- Step-by-step LISP automation patterns are also documented in our AutoLISP Automation Programming Basics Guide.
Has anyone here built a custom LSP (Language Server Protocol) client config for vlax-* and vla-* ActiveX COM symbols in Sublime Text 4?