266 lines
7.4 KiB
JSON
266 lines
7.4 KiB
JSON
{
|
|
"name": "nx-post-support",
|
|
"displayName": "NX Postprocessor Support",
|
|
"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.300",
|
|
"publisher": "Christoph",
|
|
"icon": "images/nx-1.png",
|
|
"activationEvents": [
|
|
"onLanguage:tcl",
|
|
"onLanguage:cdl",
|
|
"onLanguage:def",
|
|
"onDebug"
|
|
],
|
|
"extensionDependencies": [
|
|
"ms-python.python"
|
|
],
|
|
"serverInfo": {
|
|
"name": "NX Postprocessor Support",
|
|
"module": "nx-post-support"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://git.cbsk-tech.de/Christoph/nx_post_support.git"
|
|
},
|
|
"main": "./dist/extension.js",
|
|
"keywords": [
|
|
"cdl",
|
|
"NX CDL",
|
|
"UDE",
|
|
"Postprocessor",
|
|
"NX CAM",
|
|
"Siemens NX",
|
|
"debugger",
|
|
"remote debugging"
|
|
],
|
|
"engines": {
|
|
"vscode": "^1.96.0"
|
|
},
|
|
"categories": [
|
|
"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",
|
|
"aliases": [
|
|
"NX TCL",
|
|
"tcl"
|
|
],
|
|
"extensions": [
|
|
".tcl"
|
|
],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "cdl",
|
|
"aliases": [
|
|
"NX CDL",
|
|
"cdl"
|
|
],
|
|
"extensions": [
|
|
".cdl"
|
|
],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "def",
|
|
"aliases": [
|
|
"NX DEF",
|
|
"def"
|
|
],
|
|
"extensions": [
|
|
".def"
|
|
],
|
|
"configuration": "./language-configuration.json"
|
|
}
|
|
],
|
|
"grammars": [
|
|
{
|
|
"language": "tcl",
|
|
"scopeName": "source.tcl",
|
|
"path": "./syntaxes/tcl.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "cdl",
|
|
"scopeName": "source.cdl",
|
|
"path": "./syntaxes/cdl.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "def",
|
|
"scopeName": "source.def",
|
|
"path": "./syntaxes/def.tmLanguage.json"
|
|
}
|
|
],
|
|
"configuration": {
|
|
"properties": {
|
|
"nx-post-support.formatter": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Use the TCL formatter from `NX Postprocessor Support`"
|
|
},
|
|
"nx-post-support.inlayHint": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Use the Inlay Hints in from `NX Postprocessor Support`"
|
|
},
|
|
"nx-post-support.inlayHints.parameterNames": {
|
|
"type": "string",
|
|
"default": "all",
|
|
"enum": [
|
|
"all",
|
|
"literals",
|
|
"none"
|
|
],
|
|
"enumDescriptions": [
|
|
"Show parameter name hints for all arguments.",
|
|
"Show parameter name hints only for literal arguments.",
|
|
"Do not show parameter name hints."
|
|
],
|
|
"description": "Controls which TCL procedure arguments receive parameter name hints."
|
|
},
|
|
"nx-post-support.inlayHints.suppressWhenArgumentMatchesName": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Hide a parameter hint when a variable argument already has the same name, for example `output` in `my_proc $output`."
|
|
},
|
|
"nx-post-support.importStrategy": {
|
|
"default": "useBundled",
|
|
"description": "Defines where `NX Postprocessor Support` is imported from.",
|
|
"enum": [
|
|
"useBundled",
|
|
"fromEnvironment"
|
|
],
|
|
"enumDescriptions": [
|
|
"Always use the bundled version of `NX Postprocessor Support`.",
|
|
"Use `NX Postprocessor Support` from environment, fallback to bundled version only if `NX Postprocessor Support` not available in the environment."
|
|
],
|
|
"scope": "window",
|
|
"type": "string"
|
|
},
|
|
"nx-post-support.interpreter": {
|
|
"default": [],
|
|
"description": "When set to the path of a Python executable, extension will use that to launch the server.",
|
|
"scope": "resource",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"configurationDefaults": {
|
|
"[tcl]": {
|
|
"editor.inlayHints.maximumLength": 0
|
|
}
|
|
}
|
|
},
|
|
"scripts": {
|
|
"compile": "node esbuild.js --production",
|
|
"compile:debug": "node esbuild.js",
|
|
"watch": "node esbuild.js --watch",
|
|
"package": "node esbuild.js --production",
|
|
"test:debugger": "node --test test/debugger.test.js"
|
|
},
|
|
"devDependencies": {
|
|
"@types/vscode": "^1.96.0",
|
|
"@vscode/vsce": "^3.2.1",
|
|
"cross-env": "^7.0.3",
|
|
"esbuild": "^0.25.6",
|
|
"prettier": "^3.4.2",
|
|
"typescript": "^5.7.2"
|
|
}
|
|
}
|