66
77- 项目目录选择和加载
88- 树状导航浏览 changes/ 和 specs/ 目录
9- - Markdown 文档渲染和语法高亮
9+ - Markdown 默认渲染视图(Typora 风格),支持语义双击选区与就地编辑
10+ - Markdown 可选行号(LN 开关),行号与源文本对齐
11+ - 文件内容查找(Ctrl+F)与高亮:当前命中蓝色、候选黄色
1012- 任务进度解析和展示
13+ - tasks.md 任务看板(勾选/改标题/改描述)同源写回源 Markdown,支持撤销/重做
1114- 文件监听和自动刷新
1215- 搜索和过滤功能
1316- 亮色/暗色主题切换
2124- Vue 3 + TypeScript
2225- Vite 5
2326- Pinia (状态管理)
24- - marked (Markdown 渲染)
27+ - CodeMirror 6(Markdown 渲染视图/编辑、查找、撤销栈)
28+ - Monaco Editor(代码/纯文本编辑兜底)
2529- highlight.js (代码高亮)
2630- chokidar (文件监听)
31+ - xterm(内置终端)
2732
2833## 安装
2934
@@ -74,14 +79,17 @@ openspec-visualizer/
7479│ └── preload.js # 预加载脚本(IPC 桥接)
7580├── src/
7681│ ├── components/
77- │ │ ├── AppHeader.vue # 顶部工具栏
78- │ │ ├── Sidebar.vue # 左侧导航
79- │ │ ├── TreeNode.vue # 树节点组件
80- │ │ ├── ContentPanel.vue # 内容面板
81- │ │ └── StatusBar.vue # 状态栏
82+ │ │ ├── AppHeader.vue # 顶部工具栏
83+ │ │ ├── Sidebar.vue # 左侧导航
84+ │ │ ├── ContentPanel.vue # 内容面板(视图/编辑/任务看板)
85+ │ │ ├── MarkdownSurface.vue # Markdown 渲染视图/就地编辑(CodeMirror 6)
86+ │ │ ├── FileEditor.vue # 代码/纯文本编辑(Monaco)
87+ │ │ ├── TerminalPanel.vue # 右侧终端
88+ │ │ └── StatusBar.vue # 状态栏
8289│ ├── stores/
83- │ │ ├── project.ts # 项目状态
84- │ │ └── ui.ts # UI 状态
90+ │ │ ├── project.ts # 项目状态
91+ │ │ ├── tabs.ts # 多会话页签
92+ │ │ └── ui.ts # UI 状态
8593│ ├── types/
8694│ │ └── index.ts # 类型定义
8795│ ├── App.vue # 根组件
@@ -99,13 +107,19 @@ openspec-visualizer/
991071 . 启动应用后,点击"选择项目目录"按钮
1001082 . 选择包含 ` changes/ ` 或 ` specs/ ` 目录的 OpenSpec 项目
1011093 . 左侧导航树会显示项目结构
102- 4 . 点击文件查看内容
103- 5 . 使用搜索框过滤文件
104- 6 . 点击右上角按钮切换主题
110+ 4 . 点击文件查看内容(Markdown 默认 View;tasks.md 默认看板)
111+ 5 . 使用左侧搜索框过滤文件;底部“显示全部文件”可展开全量文件树
112+ 6 . Ctrl+F 在当前文件内查找(不会跳到顶部“搜索文件”;终端区域不接管)
113+ 7 . 右上角 View 按钮切换渲染/源码(tasks.md 会在 看板 / View / Source 间切换)
114+ 8 . Markdown 可用 LN 按钮显示行号
115+ 9 . 点击右上角按钮切换主题
105116
106117## 快捷键
107118
108- - 无(暂未实现)
119+ - ` Ctrl+F ` :在当前文件中查找(终端区域不接管)
120+ - ` Ctrl+S ` :保存(编辑器/MarkdownSurface)
121+ - ` Ctrl+Z ` :撤销(终端除外)
122+ - ` Ctrl+Y ` / ` Ctrl+Shift+Z ` :重做(终端除外)
109123
110124## 已知问题
111125
0 commit comments