This change removes outdated development and debugging guidance from the README and streamlines the licensing note. It also deletes the embedded debugger license file and relies on the main LICENSE file for terms. - Remove outdated debugging guidance from README - Delete embedded debugger license file and rely on LICENSE
108 lines
4.1 KiB
Markdown
108 lines
4.1 KiB
Markdown
# NX Postprocessor Support
|
|
|
|
A comprehensive VS Code extension providing language support and remote debugging 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
|
|
- **NX Tcl Remote Debugger** - Breakpoints, stepping, call stack, scopes, variables, watches, evaluation, logpoints, hit conditions, and Tcl error stops directly in a running NX Post process
|
|
|
|
## 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
|
|
|
|
The former standalone `NX Tcl Remote Debugger` extension is no longer required. Disable or
|
|
uninstall `local-nx.nx-tcl-debug` before using the integrated debugger because both extensions
|
|
register the same `nx-tcl` debug type.
|
|
|
|
## 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.
|
|
|
|
## NX Tcl Remote Debugger
|
|
|
|
### Add a VS Code attach configuration
|
|
|
|
Create `.vscode/launch.json` through **Run and Debug: create a launch.json file** and select
|
|
**NX Tcl: Attach to NX Post**, or use this configuration:
|
|
|
|
```json
|
|
{
|
|
"version": "0.2.0",
|
|
"configurations": [
|
|
{
|
|
"type": "nx-tcl",
|
|
"request": "attach",
|
|
"name": "Attach to NX Post Tcl",
|
|
"host": "127.0.0.1",
|
|
"port": 4711,
|
|
"connectTimeout": 120000,
|
|
"stopOnEntry": false,
|
|
"breakOnError": true,
|
|
"localRoot": "${workspaceFolder}"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
When VS Code and NX see the source through different roots, set `remoteRoot` to the root used by
|
|
NX and keep `localRoot` as the corresponding workspace root.
|
|
|
|
### Start debugging
|
|
|
|
1. Set breakpoints on executable Tcl or DEF commands.
|
|
2. Start **Attach to NX Post Tcl** in VS Code before running the postprocessor.
|
|
3. Start postprocessing in NX.
|
|
4. Use Continue, Step Over, Step Into, Step Out, Pause, Variables, Watch, and the Debug Console as
|
|
with a normal source debugger.
|
|
|
|
Breakpoints remain active and stop at every real invocation. Use a hit condition such as `1` for
|
|
a one-time stop. Blank lines, comments, declarations, and multiline Tcl commands may be relocated
|
|
to the nearest executable command; VS Code shows the resolved line. Dynamic
|
|
`LIB_GE_command_buffer_edit_*` bodies are mapped back to their original source and owning Tcl
|
|
procedure.
|
|
|
|
## 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
|
|
- Remote NX Tcl debugging with breakpoints and full stepping
|
|
|
|
## 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.
|