# NX Postprocessor Support A comprehensive VS Code extension providing language support for NX CAM postprocessor development, including CDL, TCL, and DEF files. ## Features - **Syntax Highlighting** - Full syntax highlighting for CDL, TCL, and DEF files - **Code Formatting** - Automatic code formatting for all supported file types - **Multi-language Support** - Supports NX CDL, TCL, and DEF file formats - **Intelligent Code Analysis** - Linting and error detection for postprocessor code - **Auto-completion** - Context-aware code completion for faster development - **Signature Help** - Shows parameters and documentation for custom and NX procedures ## Supported File Types - `.cdl` - NX User Defined Event File - `.tcl` - NX TCL postprocessor files - `.def` - NX Definition files ## Installation 1. Install from the VS Code Marketplace 2. Install Python 3.11 or higher 3. Open any `.cdl`, `.tcl`, or `.def` file 4. The extension will automatically activate and provide language support ## Configuration The extension can be configured through VS Code settings: - `nx-post-support.interpreter` - Specify custom Python interpreter path for the language server - `nx-post-support.formatter` - Enable/disable the TCL formatter (default: false) - `nx-post-support.inlayHint` - Enable/disable inlay Hints (default: true) - `nx-post-support.inlayHints.parameterNames` - Show parameter names for `all`, only `literals`, or `none` (default: `all`) - `nx-post-support.inlayHints.suppressWhenArgumentMatchesName` - Hide redundant hints such as `value:` before `$value` (default: true) TCL files default to unlimited inlay hint length so that VS Code does not truncate later parameter names on a line. An explicit user setting for `editor.inlayHints.maximumLength` still takes precedence. ## Usage Simply open any supported file type and enjoy: - Syntax highlighting - Error detection and linting - Code completion - Code formatting (Format Document command) - Hover information - Signature help while entering procedure arguments ## Development and debugging Install the root and client dependencies before the first debug session: ```powershell npm install npm install --prefix client ``` Use one of the checked-in VS Code launch configurations: - **Run Extension** debugs the TypeScript extension host. - **Debug Extension and Python** debugs both the TypeScript extension and the Python language server. This is the recommended configuration for LSP work. - **Python Attach** attaches manually to an already running Python process. The launch configuration creates a fresh non-minified bundle with embedded source maps and opens `test/test.tcl` so the extension activates immediately. For combined debugging, the Python adapter listens on `127.0.0.1:5678`; the language server waits for that adapter before initialization. The NX Postprocessor Support output channel reports `Python debug mode: enabled` and shows `_debug_server.py` in the server command when the debug path is active. ## Contributing This extension is actively maintained. For issues or feature requests, please visit our [repository](https://git.cbsk-tech.de/Christoph/nx_post_support.git). ## License AGPL-3.0 License - see LICENSE file for details.