Files
nx_post_support/package.json
T

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"
}
}