Sublime Forum

Sublime Text 4 Setup for AutoLISP (.lsp / .dcl) & C++ GRX/ObjectARX CAD Plugin Development

#1

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:

Has anyone here built a custom LSP (Language Server Protocol) client config for vlax-* and vla-* ActiveX COM symbols in Sublime Text 4?

0 Likes