文档工具
编辑器与搜索
打开和编辑文件,支持语法高亮、语言检测和语言服务器补全,文件浏览器还会显示已忽略的文件。
Kiln 在终端旁边内置了文件编辑器,提供语法高亮、语言服务器补全和文件浏览器。文件、搜索和问题列表都在同一个工作区中打开,不必离开当前任务。

打开编辑器和工具
工作区检查器中的文件用于打开文件浏览器。标题栏的工具菜单汇总了文件、搜索、源代码管理、GitHub、数据库、远程连接和问题,选中的项目会在当前工作旁边打开。窗口较窄时,点击返回任务回到终端。
文件浏览器
文件浏览器默认显示被 Git 忽略的文件和文件夹,包括 .env、.env.prod、日志和生成的目录。它们和其他文件一样,可以点击打开,也可以用键盘导航打开。
- 已忽略的条目名称和图标以淡色显示,并带有小小的已忽略标记。
- 把指针悬停在已忽略的条目上,可以看到是哪条规则排除了它。
- 文件夹只在展开时才加载。
- 选择隐藏已忽略的文件,可以把它们从视图中过滤掉。
显示或隐藏已忽略的文件,不会改变 Git 的跟踪状态,也不会改动仓库的忽略规则。内部的 .git 和 .DS_Store 元数据始终隐藏。
语言检测
编辑器使用内置的语法定义来高亮文件。它先根据文件名和扩展名确定语言,再参考 shebang 或可识别的内容特征,例如 JSON 文档、XML、HTML doctype 或 PHP 头部。它不会根据普通文本猜测语言。
要覆盖检测结果,使用文档上方的语言选择器。可以选择某种语言(包括纯文本),也可以改回自动检测。
- 选择在重启后依然保留,对已保存的文件和有未保存更改的文件都有效。
- 修改脚本的 shebang,或重新加载在 Kiln 外部改动过的文件,都会更新检测结果。
- 所选语言决定高亮、注释命令,以及发送给已配置语言服务器的语言。
补全
输入标识符前缀时会出现补全建议,也可以手动打开建议列表。
| 操作 | 方法 |
|---|---|
| 打开建议 | ⌃Space、⌥Esc,或点击补全 |
| 选择候选项 | 方向键 |
| 插入 | Enter 或 Tab |
| 关闭列表 | Esc |
| 查看完整名称和详情 | 把指针悬停在被截断的条目上 |
用输入法(IME)组字时,输入法保留自己的输入键和候选键,Kiln 的补全不会抢占它们。
接受建议时,Kiln 会把服务器给出的完整替换内容和所有附加编辑作为一次撤销操作应用。如果建议到达前你已经移动了光标或修改了文档,这条建议会被丢弃。
语言服务器
已安装的语言服务器提供语义建议。Kiln 为以下语言提供了默认配置:
| 语言 | 语言服务器 |
|---|---|
| Rust | rust-analyzer |
| Go | gopls |
| JavaScript 和 TypeScript | typescript-language-server |
| Python | pyright-langserver 或 pylsp |
| C 和 C++ | clangd |
| Lua | lua-language-server |
装好对应语言的服务器,Kiln 就会使用它。要更改语言、文件扩展名、命令或参数,编辑 lsp.json 配置即可。
语言服务器启动时使用你平常的 PATH,并加上受支持的安装位置和服务器自身所在的文件夹,因此通过解释器启动的服务器也能运行。在包含嵌套子项目的项目中,每个文件使用离它最近的可识别项目标记。这不会改变终端或工作区的工作目录。
没有语言服务器时
没有连接语言服务器时,Kiln 仍会提供本地建议,标为语言建议或文档中的词语。
- 每种语言都内置了常用关键字、字面量和内置名称。JavaScript 和 TypeScript 各有一份列表。
- 其他语法会从当前打开的文档中建议匹配的词语。
- 本地建议不具备语义能力,不会解析其他文件中的导入、类型或符号。
- 扫描范围有限,以保证大型文档依然流畅。二进制模式和大文件模式不提供补全。
搜索和问题
项目搜索和问题列表都在标题栏的工具菜单中,与文件和源代码管理并列。两者都在当前工作旁边打开,终端任务保持原位。
远程文件
S3、OCI、GCS、R2、FTP 和 SFTP 上的文件也在同一个编辑器中打开。详见远程文件与 SSH。
Windows
编辑器在 Windows 上的用法完全相同。韩语输入法的组字和上屏在编辑器中与在终端中一样正常。