From 5db793d5f7c5d0ba8f1145362e4341e448556e56 Mon Sep 17 00:00:00 2001 From: fi3ework Date: Tue, 18 Aug 2026 22:58:40 +0800 Subject: [PATCH 1/2] chore(vscode): complete the Marketplace manifest for the first release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Flag the extension as preview while it is pre-1.0 and breaks freely. - Point Q&A at GitHub Issues instead of the unmonitored Marketplace Q&A. - Declare virtualWorkspaces: false — the extension resolves @rslint/core, @rstest/core and rstack from the workspace's node_modules and spawns them as local processes, so it cannot work without a real file system. - Add the missing top-level description for rstack.rstest.testCaseCollectMethod so the Settings UI shows what the setting decides, not only the per-value labels. --- packages/vscode/package.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/vscode/package.json b/packages/vscode/package.json index bee55c4..796fa5e 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -24,6 +24,7 @@ "url": "git+https://github.com/rstackjs/rstack-editor.git" }, "license": "MIT", + "qna": "https://github.com/rstackjs/rstack-editor/issues", "publisher": "rstack", "main": "./dist/extension.js", "scripts": { @@ -201,6 +202,7 @@ "rstack.rstest.testCaseCollectMethod": { "order": 3, "type": "string", + "description": "How test cases are discovered inside a test file: statically from the AST, or by running the file and collecting the registered tests.", "default": "ast", "enum": [ "ast", @@ -455,7 +457,12 @@ "vscode": "^1.97.0" }, "icon": "icon.png", + "preview": true, "capabilities": { + "virtualWorkspaces": { + "supported": false, + "description": "Rstack resolves `@rslint/core`, `@rstest/core` and `rstack` from the workspace's node_modules and spawns them as local processes, which needs a real file system." + }, "untrustedWorkspaces": { "supported": "limited", "description": "Rstack spawns project-local executables (the Rslint language server, the Rstest worker, `rs fmt`) and loads project configuration files. In Restricted Mode only the status bar item is shown; no process is spawned and no project code is loaded." From e47c107d5afc3a61f7d0efb858b7cb8a7ef29d8c Mon Sep 17 00:00:00 2001 From: fi3ework Date: Tue, 18 Aug 2026 23:49:17 +0800 Subject: [PATCH 2/2] chore(vscode): declare virtualWorkspaces as limited, not unsupported The shell always activates (packages/vscode/AGENTS.md) and detection already skips non-file workspace folders, so in a virtual workspace the status bar item still shows while no stack starts. `supported: false` would stop VS Code from activating the extension there at all; `limited` describes what actually happens. --- packages/vscode/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 796fa5e..66b5a5c 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -460,8 +460,8 @@ "preview": true, "capabilities": { "virtualWorkspaces": { - "supported": false, - "description": "Rstack resolves `@rslint/core`, `@rstest/core` and `rstack` from the workspace's node_modules and spawns them as local processes, which needs a real file system." + "supported": "limited", + "description": "Rslint, Rstest and `rs fmt` are resolved from the workspace's node_modules and spawned as local processes, so they only start for file-system workspace folders. In a virtual workspace only the status bar item is shown; no tool starts." }, "untrustedWorkspaces": { "supported": "limited",