{ "name": "disasmer-vscode", "displayName": "Disasmer", "description": "VS Code support for Disasmer build programs, environments, and debugging.", "version": "0.1.0", "publisher": "disasmer", "engines": { "vscode": "^1.80.0" }, "categories": [ "Debuggers", "Other" ], "activationEvents": [ "onLanguage:rust", "onDebugResolve:disasmer", "onView:disasmer.nodes", "onView:disasmer.processes", "onView:disasmer.logs", "onView:disasmer.artifacts", "onView:disasmer.inspector", "workspaceContains:envs/*/Containerfile", "workspaceContains:envs/*/Dockerfile" ], "main": "./extension.js", "files": [ "extension.js", "resources/**" ], "contributes": { "viewsContainers": { "activitybar": [ { "id": "disasmer", "title": "Disasmer", "icon": "resources/disasmer.svg" } ] }, "debuggers": [ { "type": "disasmer", "label": "Disasmer", "languages": [ "rust" ], "configurationAttributes": { "launch": { "type": "object", "required": [ "request", "type", "name" ], "properties": { "name": { "type": "string", "default": "Disasmer: Launch Virtual Process" }, "type": { "type": "string", "default": "disasmer" }, "request": { "type": "string", "enum": [ "launch" ], "default": "launch" }, "entry": { "type": "string", "description": "Disasmer entrypoint such as build, test, package, or release." }, "project": { "type": "string", "description": "Project directory. Defaults to the current workspace folder." }, "sourcePath": { "type": "string", "description": "Source file shown in the Disasmer virtual stack. Defaults to src/build.rs or src/main.rs." }, "runtimeBackend": { "type": "string", "enum": [ "local-services", "live-services", "simulated" ], "default": "local-services", "description": "Runtime backend used by the debug adapter. F5 defaults to local coordinator/node services; live-services uses the configured coordinator and an attached node." }, "coordinatorEndpoint": { "type": "string", "description": "Optional coordinator assertion. Normally inferred from the authenticated CLI session." }, "processId": { "type": "string", "description": "Explicit virtual process identity. Normally derived from the workspace and entrypoint." } } }, "attach": { "type": "object", "required": [ "request", "type", "name", "processId" ], "properties": { "name": { "type": "string", "default": "Disasmer: Attach to Virtual Process" }, "type": { "type": "string", "default": "disasmer" }, "request": { "type": "string", "enum": [ "attach" ], "default": "attach" }, "processId": { "type": "string", "description": "Virtual process to attach to." }, "entry": { "type": "string", "description": "Entrypoint represented by the virtual process." }, "project": { "type": "string", "description": "Local workspace used for source and bundle metadata." }, "sourcePath": { "type": "string", "description": "Source file shown in the Disasmer virtual stack." }, "runtimeBackend": { "type": "string", "enum": [ "local-services", "live-services", "simulated" ], "default": "live-services" }, "coordinatorEndpoint": { "type": "string", "description": "Optional coordinator assertion. Normally inferred from the authenticated CLI session." } } } } } ], "commands": [ { "command": "disasmer.refreshProcesses", "title": "Disasmer: Refresh Virtual Processes", "icon": "$(refresh)" }, { "command": "disasmer.process.attach", "title": "Disasmer: Attach to Virtual Process", "icon": "$(debug-alt)" }, { "command": "disasmer.process.cancel", "title": "Disasmer: Request Process Cancellation", "icon": "$(debug-stop)" }, { "command": "disasmer.process.abort", "title": "Disasmer: Abort Virtual Process", "icon": "$(error)" } ], "menus": { "view/title": [ { "command": "disasmer.refreshProcesses", "when": "view == disasmer.processes", "group": "navigation" } ], "view/item/context": [ { "command": "disasmer.process.attach", "when": "view == disasmer.processes && viewItem == disasmer.virtualProcess", "group": "inline@1" }, { "command": "disasmer.process.cancel", "when": "view == disasmer.processes && viewItem == disasmer.virtualProcess", "group": "process@2" }, { "command": "disasmer.process.abort", "when": "view == disasmer.processes && viewItem == disasmer.virtualProcess", "group": "process@3" } ] }, "views": { "disasmer": [ { "id": "disasmer.nodes", "name": "Disasmer Nodes" }, { "id": "disasmer.processes", "name": "Disasmer Processes" }, { "id": "disasmer.logs", "name": "Disasmer Logs" }, { "id": "disasmer.artifacts", "name": "Disasmer Artifacts" }, { "id": "disasmer.inspector", "name": "Disasmer Inspector" } ] } } }