Windows中构建Zed编辑器
2026年10月3日代码拉取
使用git拉取部分代码:
git fetch origin [tag] [branchB] --depth=2
# 下面也有可能是 FETCH_HEAD
git checkout [branchB]
可能需要自行创建本地tag
环境配置
使用cmd,激活以下环境:
- Visual Studio
- git proxy
- system proxy
- proxy env vars
- rustup mirror
修改代码
修改C代码补全格式
补丁如下:
Subject: [PATCH] change hint text format
---
Index: crates/languages/src/c.rs
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/crates/languages/src/c.rs b/crates/languages/src/c.rs
--- a/crates/languages/src/c.rs (revision df181c6f58d02677b385fa947d6bfde6d3530078)
+++ b/crates/languages/src/c.rs (date 1789228147041)
@@ -210,7 +210,7 @@
match completion.kind {
Some(lsp::CompletionItemKind::FIELD) if completion.detail.is_some() => {
let detail = completion.detail.as_ref().unwrap();
- let text = format!("{} {}", detail, label);
+ let text = format!("{}: {}", label, detail);
let source = Rope::from(format!("struct S {{ {} }}", text).as_str());
let runs = language.highlight_text(&source, 11..11 + text.len());
let filter_range = completion
@@ -227,7 +227,7 @@
if completion.detail.is_some() =>
{
let detail = completion.detail.as_ref().unwrap();
- let text = format!("{} {}", detail, label);
+ let text = format!("{}: {}", label, detail);
let runs = language.highlight_text(&Rope::from(text.as_str()), 0..text.len());
let filter_range = completion
.filter_text
@@ -243,7 +243,7 @@
if completion.detail.is_some() =>
{
let detail = completion.detail.as_ref().unwrap();
- let text = format!("{} {}", detail, label);
+ let text = format!("{} -> {}", label, detail);
let runs = language.highlight_text(&Rope::from(text.as_str()), 0..text.len());
let filter_range = completion
.filter_text
构建
配置环境变量
RELEASE_CHANNEL -> stable
构建包
cargo b -r -p zed -j JOBS
cargo b -r -p cli -j JOBS
即可构建编辑器