代码编辑器
Blyck 的代码编辑器基于与 VS Code 相同的 Monaco 引擎。LSP 语言智能、内联 AI 编辑、代码执行、DB 链接(SQL 自动完成)、SFTP 远程编辑都集成到了编辑流程之中。
打开 & 保存文件
Section titled “打开 & 保存文件”在文件树或终端输出中双击即可打开编辑器。用树中的新建文件按钮也可创建 Untitled 文件。
| 文件大小 | 处理方式 |
|---|---|
| 2MB 及以下 | 用 Monaco 编辑器打开 |
| 2 ~ 32MB | 只读查看器(标签页显示 [只读]) |
| 超过 32MB | 引导用 OS 默认应用打开 |
| 格式 | 行为 |
|---|---|
| 图片(PNG·JPG·GIF·WebP·SVG 等) | 内置图片查看器 |
| 内置 PDF 查看器(至 32MB) | |
Markdown(.md) | 用工具栏 预览 按钮在渲染 HTML ↔ 编辑模式间切换 |
| Office(xlsx·docx·pptx) | OS 默认应用 —— 远程文件会自动下载后打开 |
语言智能(LSP)
Section titled “语言智能(LSP)”Monaco 内置 —— 无需安装
Section titled “Monaco 内置 —— 无需安装”TypeScript 和 JavaScript 由 Monaco 内置分析引擎直接工作。无需另外安装或配置。
外部 LSP 服务器 —— 自动安装
Section titled “外部 LSP 服务器 —— 自动安装”Python·Go·Rust·C·C++·C#·Lua·Bash·JSON·YAML 等使用专用 LSP 服务器。首次打开该语言文件时会显示”是否下载?”模态,批准后会在后台自动安装。
| 语言 | LSP 服务器 |
|---|---|
| Python | Pyright |
| Go | gopls |
| Rust | rust-analyzer |
| C / C++ | clangd |
| C# | csharp-ls |
| Lua | lua-language-server |
| Bash | bash-language-server |
| JSON / YAML | vscode-json-language-server / yaml-language-server |
安装进度会显示在 UI 中,若系统 PATH 中已有则优先使用它。若没有,则从 npm 或 GitHub 发布页下载适配 OS·架构的二进制文件,保存在应用内部。
| 功能 | 支持 |
|---|---|
| 自动完成(IntelliSense) | ✅ |
| 悬停提示(类型·签名) | ✅ |
| 诊断(语法·类型错误红线) | ✅ |
| 函数签名提示 | ✅ |
| 符号名批量重命名 | ✅ |
| 跳转到定义 | ✅(同一文件内) |
内联 AI —— Ctrl+I
Section titled “内联 AI —— Ctrl+I”Cursor 风格的内联编辑。
- 选中代码(不选则为整个文件),按
Ctrl+I或工具栏 AI(Ctrl+I) 按钮 - 在光标附近的输入框中输入指令 —— “添加错误处理”、“做到类型安全”。用
Enter发送,Shift+Enter换行,Esc取消。也可在输入框右侧下拉中切换模型(Claude/Codex)。 - 发送前自动检索 RAG 上下文 —— 在项目中查找相关代码并一并传给 AI(显示”正在查找相关代码…“,最多 4 个 chunk)。从而得到遵循相同模式·约定的修改。
- 根据响应首行,以两种模式工作:
- MODE:EDIT —— 选区为内联 diff(绿/红)+ 应用/取消工具栏,整个文件为左右分屏 diff 模态。应用时记录到 ChangeSet。
- MODE:ANSWER —— 不修改代码,以说明·评审回答 popover 形式显示。
已 Apply 的变更会记录到当前活动 AI 会话的 ChangeSet,之后可以撤销。
Ctrl+I 在编辑器之外也能工作 —— 在终端中按下会让 AI 分析选中的输出,在 DB 结果网格中按下则将选中的单元格作为上下文传递。
代码执行(▶ 运行)
Section titled “代码执行(▶ 运行)”仅在保存于本地的文件上,工具栏才会显示 ▶ 运行 按钮。执行中会切换为 ■ 停止。
项目类型自动检测
Section titled “项目类型自动检测”| 标志文件 | 检测类型 |
|---|---|
package.json | Node.js |
go.mod | Go |
Cargo.toml | Rust |
*.csproj | .NET |
pyproject.toml / setup.py | Python / pytest |
Makefile | Make |
CMakeLists.txt | CMake |
| (单文件) | 按语言执行脚本 |
- 实时显示执行命令($)、标准输出(白色)、标准错误(红色)(最多 5,000 行)。
- Problem Matcher —— 解析
文件名:行号模式的错误,在编辑器中以红色标记显示。点击即可直接跳转到对应行。
代码中的 SQL 自动完成(DB 链接)
Section titled “代码中的 SQL 自动完成(DB 链接)”在代码文件中编写 SQL 字面量时,可使用基于已打开 DB 连接架构的自动完成。
- 在工具栏右侧 DB 下拉 中选择连接以建立链接。
- 在代码中的 SQL 字面量(嵌入式 SQL 或 SQL 草稿条件)中启用自动完成。
- 在
FROM/JOIN/UPDATE/INTO之后提示表 - 在
表名.之后提示列
- 在
- SQL 语句上方会显示 ▶ DB 执行 codelens。点击时:
- 查询(SELECT):立即执行并显示结果
- DML/DDL:经确认模态后执行
SFTP 远程编辑
Section titled “SFTP 远程编辑”在 终端·SSH·SFTP 树中打开远程文件时,会用 Monaco 编辑器显示。Ctrl+S 保存时会立即上传到远程并记录到变更历史。
左侧文件树(Ctrl+Shift+E)对本地·SFTP 远程以相同方式处理。
- git 状态徽标 ——
?untracked、+staged、-deleted、!冲突(仅本地树) - 新建文件·新建文件夹·刷新,
F2重命名,Delete删除 Ctrl+C/Ctrl+X/Ctrl+V复制·剪切·粘贴(可多选文件)- 双击终端输出中的文件名也会打开编辑器
项目全局搜索 —— Ctrl+Shift+G
Section titled “项目全局搜索 —— Ctrl+Shift+G”- 在整个项目中搜索文本(忽略大小写,一次最多 500 个文件)
- 也会搜索 SFTP 远程文件夹
- 替换有 Replace Selected(仅选中结果)/ Replace All 两种 —— 执行前会经过”N 个文件、M 处替换”确认模态
AI 直接操作编辑器
Section titled “AI 直接操作编辑器”AI 聊天不仅能感知活动编辑器的可见代码·选区·光标位置,还能用 editor_inject 工具直接向编辑器注入代码。若以评审模式请求,则不会立即应用,而是弹出 diff 卡片(Apply/Reject)由用户决定。
详情请参阅 AI 聊天 & RAG 检索。
编辑器快捷键
Section titled “编辑器快捷键”| 键 | 行为 |
|---|---|
Ctrl+I | 内联 AI 编辑 |
Ctrl+S | 保存(远程则上传) |
Ctrl+F | 文件内搜索(支持正则) |
Ctrl+H | 文件内搜索·替换 |
Ctrl+Shift+G | 项目全局搜索·替换 |
Ctrl+L | 将当前文件附加到 AI 聊天 |
Esc | 返回文件树 |
Ctrl+K | RAG 通用检索 |
Ctrl+Shift+H | 变更历史(ChangeSet) |
Ctrl+= / Ctrl+- / Ctrl+0 | 编辑器字体放大/缩小/默认 |
Q. LSP 自动完成不工作。 → 请确认是否为对应语言扩展名的文件。首次打开时若显示”下载?”模态,需批准才会安装。远程 SFTP 文件不支持 LSP。
Q. 看不到 ▶ 运行按钮。 → 远程文件或 Untitled 文件没有运行按钮。仅在保存于本地的文件上显示。
Q. DB 下拉中没有连接。 → 请先在 DB 客户端 面板中连接 DB。下拉每次打开时都会刷新为最新列表。
Q. Markdown 预览不工作。
→ 用编辑器打开 .md 文件后,工具栏会显示预览按钮。点击按钮即可切换为渲染 HTML。
Q. 保存了远程文件但没有上传。
→ 请检查 SFTP 连接状态。需在 终端·SSH·SFTP 树中保持连接存活,Ctrl+S 保存时才会自动上传。
Q. 想撤销内联 AI 应用后的变更。
→ 用 Ctrl+Shift+H 打开 ChangeSet,按下对应条目的撤销按钮。详情请参阅 变更历史 & Git。