From 3be057765aa616de24ce901d6cb8f5f82032adc9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Oct 2025 15:48:32 +0000 Subject: [PATCH 1/2] Initial plan From ecd2d6618b1ddd2edee296f8be5897f685e7978a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Oct 2025 15:53:59 +0000 Subject: [PATCH 2/2] =?UTF-8?q?Fix:=20Remove=20=F0=9F=93=8C=20from=20initi?= =?UTF-8?q?al=20BSP=20when=20switching=20to=20another=20BSP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: BernardXiong <1241087+BernardXiong@users.noreply.github.com> --- src/extension.ts | 4 +++- src/project/tree.ts | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/extension.ts b/src/extension.ts index 25a073d..f88a5ae 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -15,7 +15,7 @@ import { initDockView } from './dock'; import { setupVEnv } from './venv'; import { initAPI } from './api'; import { openWorkspaceProjectsWebview } from './webviews/project'; -import { initProjectTree } from './project/tree'; +import { initProjectTree, setCurrentSelectedBspItem } from './project/tree'; import { DecorationProvider } from './project/fileDecorationProvider'; import { getCurrentProjectInWorkspace } from './webviews/project'; import { initCurrentProject } from './project/cmd'; @@ -73,6 +73,8 @@ export async function activate(context: vscode.ExtensionContext) { DecorationProvider.getInstance().markFile(vscode.Uri.file(currentProject)); // 初始化当前项目到 cmd.ts 的 _currentProject 变量 initCurrentProject(currentProject); + // 初始化当前选中的BSP项目,以便后续切换时能正确移除标记 + setCurrentSelectedBspItem(currentProject); } } } diff --git a/src/project/tree.ts b/src/project/tree.ts index 597cbde..4396f09 100644 --- a/src/project/tree.ts +++ b/src/project/tree.ts @@ -18,6 +18,17 @@ let currentSelectedBspItem: ProjectTreeItem | null = null; // 添加树视图刷新事件发射器 let _onDidChangeTreeData: vscode.EventEmitter | null = null; +// 设置当前选中的BSP项目(用于初始化时设置) +export function setCurrentSelectedBspItem(fn: string) { + // Create a minimal ProjectTreeItem for tracking + currentSelectedBspItem = new ProjectTreeItem( + path.basename(fn), + vscode.TreeItemCollapsibleState.None, + 'project_bsp', + fn + ); +} + export class ProjectTreeItem extends vscode.TreeItem { children: ProjectTreeItem[]; fn: string = '';