简介
“Code at the speed of thought“ — 用过之后都说好,名副其实~
不过,请记住它的定位是“编辑器、编辑器、编辑器”(重要的事情说三遍)
一切皆可配置
步入正题,开始配置~!
配置一瞥:可以看到所有按键皆可随意定制~
配置菜单入口
Settings
要特别注意的是“Local Settings"可配置的内容“有限”,即便你(force)配置并不支持的项,也不会生效的(小心踩坑),它所支持的配置项我会放在文末列出。
Bindings
接下来,以Python的开发配置环境为例。
两个必备的“插件”
-
-
pyright
微软出品,配置功能非常强大,详见:https://microsoft.github.io/pyright/ -
ruff
把书写格式不规范的地方自动帮你纠正,详见:https://github.com/astral-sh/ruff
-
~/.config/zed/settings.json
{
"proxy": "http://127.0.0.1:7897", //科学xx
"lsp": { // Configuration for language servers
"pyright": {
"settings": {
"python.analysis": {
"diagnosticMode": "workspace",
"typeCheckingMode": "strict"
},
"python": {
"pythonPath": "/Users/song/Documents/Pys/LangChain/.venv/bin/python" // Python环境
}
}
}
}
}
{项目所在目录}/.zed/settings.json
{
"autosave": "on_focus_change",
"languages": {
"Python": {
"format_on_save": { "language_server": { "name": "ruff" } },
"formatter": { "language_server": { "name": "ruff" } },
"language_servers": ["pyright", "ruff"]
}
}
}
”Run“起来...
请按cmd - j
,会出现terminal窗口,但需要手动敲(运行命令)... 太费劲~
PS:这里有个小技巧,可以让窗口“浮动”,请大家自行尝试哈~
在这里可用KeyMap设置快捷键,
这里我设置的是cmd - r,先来看看效果
还可以选指定行来运行:
最后我提供这里的配置文件如下,请君取用~
~/.config/zed/tasks.json
[
{
"label": "run file",
"env": {
"python": "/Users/song/Documents/Pys/LangChain/.venv/bin/python"
},
"command": "sh ~/.config/zed/runfile.sh",
"description": "run python file"
},
{
"label": "run selection",
"env": {
"python": "/Users/song/Documents/Pys/LangChain/.venv/bin/python"
},
"command": "sh ~/.config/zed/runselect.sh",
"description": "run selected lines"
}
]
~/.config/zed/keymap.json
"bindings": {
// "shift shift": "file_finder::Toggle"
"cmd-r": ["task::Spawn", { "task_name": "run file" }],
"cmd-shift-r": ["task::Spawn", { "task_name": "run selection" }]
}
两个shell文件,依次是:
#!/bin/zsh
file_path="$ZED_FILE"
filename_ext=$(basename "$file_path")
filename="${filename_ext%.*}"
extension="${filename_ext##*.}"
if [[ "$extension" == "py" ]]; then
"$python" "$file_path";
fi
#!/bin/zsh
file_path="$ZED_FILE"
filename_ext=$(basename "$file_path")
filename="${filename_ext%.*}"
extension="${filename_ext##*.}"
if [[ "$extension" == "py" ]]; then
"$python" -c "$ZED_SELECTED_TEXT";
fi
遗憾的是,它当前并没有集成debug功能...姑且认为它仅是个编辑器吧~
One more thing...
让它与AI联动~起来:) 这里演示用Ollama当然,也可以用收费的AI
效果如下
配置起来超easy...
附:
.zed/settings (即:Local Settings)
(仅)支持的配置项如下
- `inline_completions`
- 配置内联完成
- `enable_language_server`
- 是否启用language_server
- `ensure_final_newline_on_save`
- 是否在最后一行添加换行符
- `format_on_save`
- 保存时是否格式化
- `formatter`
- 格式化程序设置
- `hard_tabs`
- 是否使用制表符缩进
- `languages`
- 每种language的设置
- `preferred_line_length`
- 要换行的字符数
- `remove_trailing_whitespace_on_save`
- 保存时是否去除尾随空格
- `soft_wrap`
- 是否换行,如果换行,在什么位置
- `tab_size`
- Tab长度
- `show_inline_completions`
- 是否显示自动补全
- `show_whitespaces`
- 是否显示空白字符,如果是,何时显示它们。