Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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);
}
}
}
Expand Down
11 changes: 11 additions & 0 deletions src/project/tree.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,17 @@ let currentSelectedBspItem: ProjectTreeItem | null = null;
// 添加树视图刷新事件发射器
let _onDidChangeTreeData: vscode.EventEmitter<ProjectTreeItem | undefined> | 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 = '';
Expand Down