feat(debugger): integrate NX Tcl Remote Debugger into NX Postprocessor
build_and_puplish.yml / build_and_publish (release) Successful in 35s
build_and_puplish.yml / build_and_publish (release) Successful in 35s
Embed the NX Tcl Remote Debugger into the NX Postprocessor extension. Add a new debugging client, protocol, and adapter logic to drive attach/launch, breakpoints, stepping, and evaluation via the runtime adapter. - Introduced a client debugger with a new adapter and protocol - Wired attach/launch, breakpoints, stepping, and evaluation - Updated docs and licensing to reflect the embedded debugger
This commit is contained in:
+106
-5
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"name": "nx-post-support",
|
||||
"displayName": "NX Postprocessor Support",
|
||||
"description": "VS Code extension for NX CAM postprocessor development with syntax highlighting, formatting, linting, and auto-completion for CDL, TCL, and DEF files",
|
||||
"version": "2026.8.200",
|
||||
"description": "VS Code extension for NX CAM postprocessor development with language support and remote Tcl debugging for CDL, TCL, and DEF files",
|
||||
"version": "2026.8.201",
|
||||
"publisher": "Christoph",
|
||||
"icon": "images/nx-1.png",
|
||||
"activationEvents": [
|
||||
"onLanguage:tcl",
|
||||
"onLanguage:cdl",
|
||||
"onLanguage:def",
|
||||
"onDebug"
|
||||
],
|
||||
"extensionDependencies": [
|
||||
"ms-python.python"
|
||||
],
|
||||
@@ -23,15 +29,109 @@
|
||||
"UDE",
|
||||
"Postprocessor",
|
||||
"NX CAM",
|
||||
"Siemens NX"
|
||||
"Siemens NX",
|
||||
"debugger",
|
||||
"remote debugging"
|
||||
],
|
||||
"engines": {
|
||||
"vscode": "^1.96.0"
|
||||
},
|
||||
"categories": [
|
||||
"Programming Languages"
|
||||
"Programming Languages",
|
||||
"Debuggers"
|
||||
],
|
||||
"contributes": {
|
||||
"breakpoints": [
|
||||
{
|
||||
"language": "tcl"
|
||||
},
|
||||
{
|
||||
"language": "def"
|
||||
}
|
||||
],
|
||||
"debuggers": [
|
||||
{
|
||||
"type": "nx-tcl",
|
||||
"label": "NX Tcl Remote Debugger",
|
||||
"languages": [
|
||||
"tcl",
|
||||
"def"
|
||||
],
|
||||
"configurationAttributes": {
|
||||
"attach": {
|
||||
"required": [
|
||||
"host",
|
||||
"port"
|
||||
],
|
||||
"properties": {
|
||||
"host": {
|
||||
"type": "string",
|
||||
"default": "127.0.0.1",
|
||||
"description": "Host on which the NX Tcl runtime is listening."
|
||||
},
|
||||
"port": {
|
||||
"type": "number",
|
||||
"default": 4711,
|
||||
"description": "TCP port of the NX Tcl runtime."
|
||||
},
|
||||
"connectTimeout": {
|
||||
"type": "number",
|
||||
"default": 120000,
|
||||
"description": "How long VS Code retries until NX starts the runtime, in milliseconds."
|
||||
},
|
||||
"stopOnEntry": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Stop on the first traced Tcl command."
|
||||
},
|
||||
"breakOnError": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Stop when a traced Tcl command returns TCL_ERROR."
|
||||
},
|
||||
"localRoot": {
|
||||
"type": "string",
|
||||
"description": "Local source root opened in VS Code."
|
||||
},
|
||||
"remoteRoot": {
|
||||
"type": "string",
|
||||
"description": "Corresponding source root on the NX host when it differs from localRoot."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"initialConfigurations": [
|
||||
{
|
||||
"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}"
|
||||
}
|
||||
],
|
||||
"configurationSnippets": [
|
||||
{
|
||||
"label": "NX Tcl: Attach to NX Post",
|
||||
"description": "Attach VS Code to an NX runtime embedded in NX Post.",
|
||||
"body": {
|
||||
"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}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"languages": [
|
||||
{
|
||||
"id": "tcl",
|
||||
@@ -151,7 +251,8 @@
|
||||
"compile": "node esbuild.js --production",
|
||||
"compile:debug": "node esbuild.js",
|
||||
"watch": "node esbuild.js --watch",
|
||||
"package": "node esbuild.js --production"
|
||||
"package": "node esbuild.js --production",
|
||||
"test:debugger": "node --test test/debugger.test.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/vscode": "^1.96.0",
|
||||
|
||||
Reference in New Issue
Block a user