Skip to content

Upgrade to version 26.1.0 and enhance search and theme features#78

Merged
qianmoQ merged 33 commits into
devlive-community:devfrom
qianmoQ:dev-26.1.0
Jun 5, 2026
Merged

Upgrade to version 26.1.0 and enhance search and theme features#78
qianmoQ merged 33 commits into
devlive-community:devfrom
qianmoQ:dev-26.1.0

Conversation

@qianmoQ

@qianmoQ qianmoQ commented Jun 5, 2026

Copy link
Copy Markdown
Member

No description provided.

qianmoQ added 30 commits June 5, 2026 09:15
- 模板配置编辑器跟随深色模式切换 githubDark 主题
- 顶部侧栏/布局切换按钮的激活态适配深色
- 补齐各组件 hover 状态的 dark 变体
- 标签页与文件树右键菜单浮层适配深色背景与边框
- 拖拽分隔条深色配色
主题切换改为就地更新扩展,由 vue-codemirror 重配置,避免卸载重挂导致白屏闪烁
编辑器在 showConsole 切换时会在两套 DOM 分支间重新挂载,挂载初期 isReady 为 false 时仅显示 bg-white 容器导致白闪。容器背景增加 dark:bg-[#0d1117](与 githubDark 一致)填补这一空档
- 复用快捷键注册表,列出运行/打开/保存/搜索/AI/布局/主题等命令并显示绑定
- 支持模糊匹配(前缀/包含/子序列缩写)与键盘上下选择
- 主题切换命令直接持久化到配置
- 会话恢复(文件夹+标签+激活页)此前已实现,本次确认无需改动
切换文件时自动保存上一个文件的运行输入并载入当前文件的配置,编辑时防抖持久化到 localStorage(按文件路径分组,草稿不持久化)
- 新增 Rust 命令 replace_in_files:ASCII 大小写不敏感的字面量替换,妥善处理 UTF-8 边界,跳过二进制/超大文件
- 搜索面板增加替换输入行与「全部替换」按钮,替换前二次确认
- 替换后刷新涉及到的已打开标签(保留有未保存修改的标签)
- DiffView:基于 LCS 的逐行差异(当前内容 vs 已保存),增删行高亮并显示行号统计,超大文件降级提示
- PreviewPanel:Markdown(markdown-it)与 HTML(沙箱 iframe)右侧实时预览,随编辑实时更新
- 两者均接入命令面板;差异对比为模态、预览为非模态侧栏(不打断编辑快捷键)
- 新增 Rust 命令:git_status/git_stage/git_unstage/git_commit/git_push/git_branches/git_checkout(均 spawn_blocking)
- GitPanel:分支切换、暂存区/工作区改动分组、逐文件或全部暂存、提交、提交并推送、领先/落后提示
- 文件树按 Git 状态着色并显示 M/A/D/U 徽标
- 接入命令面板;打开文件夹/保存后自动刷新徽标

注:编辑器行内 gutter 级 diff 标记较复杂,留作后续迭代
- 新增 Rust 命令 git_file_head 获取文件 HEAD 版本内容
- diffGutter 扩展:StateField + 自定义 gutter,绿(新增)/琥珀(修改)条与红色三角(删除)标记
- App 按文件取 HEAD 基线,编辑防抖重算并派发标记;提交/切分支后刷新基线
- 隐藏行号时改为仅隐藏行号与折叠列,保留差异标记列;无改动时该列零宽不占位
之前用独立 gutter() 渲染差异条,与 vue-codemirror basicSetup 自带的行号 gutter 叠加导致出现两列行号。改为 Decoration.line 在行左缘绘制彩色竖条(新增绿/修改琥珀)与删除红三角,不新增 gutter 列;hideLineNumbersTheme 恢复原行为
之前删除用绝对定位 ::before 三角,导致对应行的行号渲染重叠错位。改为在该行底缘用 inset box-shadow 画红线(提示下方有删除),不引入定位与额外盒子,不影响行高与行号对齐
行内差异标记多次尝试仍导致行号重叠,先移除该子功能解除编辑器异常;GitPanel、文件树徽标、DiffView 弹窗等不受影响。后端 git_file_head 保留备用
撤销上一次的移除;三种标记统一在行左缘绘制竖条:新增=绿、修改=琥珀、删除=红,均为 inset box-shadow,不影响行高与行号对齐
新增 GoToLine 浮层输入行号回车跳转,复用编辑器 gotoLine;接入快捷键(Mod+G)与命令面板
按语言族(py/js-ts/rust/go/java/c-cpp/ruby/php + 通用)启发式正则提取函数/类/方法/结构等符号,浮层可筛选并跳转;接入快捷键与命令面板
外层 flex 默认 align-items:stretch 会把无固定高度的浮层在竖直方向拉满。各命令类浮层(跳转到行/符号大纲/命令面板/快速打开/搜索)统一加 items-start,按内容高度自适应(仍受 max-h 限制)
提交信息输入框右上角增加 AI 图标,点击用 git diff 调用 ai_chat 生成「类型: 描述」格式的中文提交信息并填入;清洗代码块/引号、取首行。复用 useAiConfig,未配置 API Key 时提示
qianmoQ added 3 commits June 5, 2026 16:07
- 运行选中片段(Cmd+Shift+Enter):以编辑器选中文本作为临时代码运行,不就地不关联文件;runCode 增加 codeOverride 选项
- 监听模式:运行输入面板可勾选,保存后自动重跑当前文件;命令面板可切换
- 均接入快捷键与命令面板
AiAssistant 增加 initialPrompt,打开或再次触发时自动发送一次性提示;命令面板新增「解释代码」「生成测试」,对选中文本(无选中则全文)构造提示并以临时会话发送
修正 git_status 的 } else if 同行写法与 main.rs 中命令导入的排序,通过 cargo fmt --check
@qianmoQ qianmoQ merged commit 1b23d0d into devlive-community:dev Jun 5, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant