Zed 自动补全的坑终于填上了
不知道你有没有在Zed写代码的时候被自动补全背刺过。明明光标停在函数参数中间手按Tab选中补全项结果眼前的代码直接被改得面目全非。上一秒还好好的函数调用下一秒原有变量名直接消失留下一段语法不对的代码自己还要回退撤销重新敲一遍。这不是手速的问题是编辑器的补全逻辑悄悄自作主张了。这个坑的根源来自LSP协议本身。有些语言服务返回的补全项只有insertText和label并不附带textEdit也就是没有明确告诉编辑器应该插入还是替换哪一段文字。按照LSP文档的说法insertText交由客户端自行解释。这下难题就丢给Zed这边了。在本次修复之前Zed会自作聪明地向后查找光标后面的单词直接把整个现有单词当作待替换区间。举个例子来说test(value1, ˇvalue2)光标就在逗号后面、value2前面。LSP返回补全value2没有给出编辑范围。旧版Zed直接判定后面整个value2是要被替换掉的内容。一按Tab直接变成test(value1, value2)原有value2直接不见了。很多人以为是LSP服务出bug反复排查后端配置殊不知是Zed本地推断编辑区间的逻辑闯了祸。更让人头疼的是此时你的completions.lsp_insert_mode设置直接形同虚设。不管你配置的是插入模式还是替换后缀模式这一类缺失edit‑range的补全会直接无视该配置强制走替换逻辑。用户的设置完全不起作用相当于你的偏好被编辑器硬覆盖了。这次 zed终于修好了这个bug。核心改动思路很简单当LSP没有给出编辑范围的时候不再盲目的往后吃掉后面完整单词推断的编辑区间终止于光标位置。这么一改之后completions.lsp_insert_mode终于可以生效了。拿默认配置replace_suffix举例。value2并不是value2的后缀编辑器就选择插入最终结果test(value1, value2value2)看到这里有人会疑惑怎么没有直接覆盖这恰恰就是这套逻辑的本意。是否吃掉光标之后的文字现在由后缀校验规则说了算校验现在改用原始LSP的label不再拿菜单上美化过后的显示文字或者filterText去做判断。往后遇到LSP服务偷懒、不返回textEdit的补全项编辑器不再擅自做主删除后面的标识符。补全行为回归用户配置。不要小看这一处修复。日常写Go、Rust以外的第三方LSP时不少语言服务器都习惯只返回insertText。之前在Zed写这类项目时不时就要跟乱删代码的补全斗智斗勇。现在这一块终于理顺以后按Tab补全的时候心里总算踏实一点。

相关新闻

不调用AI,先把提示词工具做对:一个纯前端的长文收听示例

不调用AI,先把提示词工具做对:一个纯前端的长文收听示例

一篇适合浏览的文章,不一定适合听。列表、表格、网址和“如图所示”,在语音里容易变得难懂。这里用一个可运行的纯前端例子,说明怎样把选题和资料组织成明确的写稿要求。 这段程序不生成文章,也不生成语音。它只生成提示词。把提示…

2026/10/5 10:25:54 阅读更多 →
90分钟双雄闪电决战!Claude Opus 5.5 联手 GPT-6 Sol / Luna 掀起暴烈降价潮:为什么地表最强智力反而被“过度思考”活活撑爆?

90分钟双雄闪电决战!Claude Opus 5.5 联手 GPT-6 Sol / Luna 掀起暴烈降价潮:为什么地表最强智力反而被“过度思考”活活撑爆?

核心震撼导读:如果你以为大模型竞争还在比拼谁的参数更多、谁的吹嘘榜单更炫,那么2026年9月22日这场不到90分钟的闪电肉搏战,将彻底颠覆你对大模型商业与工程落地的认知! 90分钟内的超级闪电决战:Anthropic刚上线新一代…

2026/10/5 10:25:54 阅读更多 →
玩机搞机基本常识-------一文读懂高通骁龙SoC:型号对照、核心常识与代表机型全解析

玩机搞机基本常识-------一文读懂高通骁龙SoC:型号对照、核心常识与代表机型全解析

在玩机、刷机或ROM修改等开发过程中,许多开发者常常混淆设备型号、代号及芯片名称。上一篇博文已对联发科MTK正品芯片进行了简要解析,本文将针对高通芯片做进一步补充说明。高通公司(Qualcomm)成立于1985年7月1日,总部…

2026/10/5 10:25:54 阅读更多 →

最新新闻

TwinCAT3变量定义与IO关联实战指南

TwinCAT3变量定义与IO关联实战指南

1. 为什么变量定义和IO关联是TwinCAT3项目真正的“启动开关”很多人装完TwinCAT3,新建一个PLC项目,写完几行ST代码,编译通过、下载成功、运行灯亮——就以为“程序跑起来了”。结果一接真实设备,电机不转、传感器没响应、HMI显示乱…

2026/10/5 11:11:54 阅读更多 →
车载Wi-Fi全解析:协议选型、系统工程与竞赛调试实战

车载Wi-Fi全解析:协议选型、系统工程与竞赛调试实战

1. 从车载娱乐到竞赛调试:Wi-Fi在智能车里的角色早就变了 很多人一听到“汽车Wi-Fi”,第一反应还是“车上能连热点刷视频”。这个理解不能说错,但放在现在的智能汽车里,实在有点太小看它了。我在用Wi-Fi调试智能车、做车机互联、搞…

2026/10/5 11:11:54 阅读更多 →
函数堆栈图实战指南:从原理到崩溃排查与栈溢出防御

函数堆栈图实战指南:从原理到崩溃排查与栈溢出防御

上周三半夜被电话叫起来,说消息服务某个实例无响应,重启后继续崩。我把崩溃转储拉下来,打开调试器,第一眼看到的是一张平平无奇的函数堆栈图:最顶层是memcpy,往上一层是parse_payload,再往上是d…

2026/10/5 11:11:54 阅读更多 →
Cursor plugins 深度解析:plugin.json、TypeScript SDK 与 CLI 实战

Cursor plugins 深度解析:plugin.json、TypeScript SDK 与 CLI 实战

1. 从“plugins”这个词说起:为什么它值得单独拎出来聊 “plugins”这个词,放在任何技术栈里都不算新鲜,但放在 Cursor 这类 AI 编辑器生态里,它的分量完全不一样。我最早接触 Cursor 的时候,以为它就是个套了 AI 壳的…

2026/10/5 11:11:54 阅读更多 →
插件开发实战:plugin.json与TypeScript SDK核心解析

插件开发实战:plugin.json与TypeScript SDK核心解析

1. 从“plugins”这个标题说起:它到底指什么“plugins”这个词看起来简单,但放在当下的开发语境里,它其实是一个高度浓缩的入口。你搜这个词,大概率不是想了解浏览器插件的历史,而是被某个具体场景卡住了——可能是 Cu…

2026/10/5 11:11:54 阅读更多 →
多目标优化实战:NSGA-II与Matlab求解电动汽车充电负荷调度问题

多目标优化实战:NSGA-II与Matlab求解电动汽车充电负荷调度问题

1. 峰谷分时电价下的充电负荷优化,到底在优化什么 先聊几句这个题目的背景。我自己最早接触这个方向,是因为看到一组实测数据:某小区配电变压器在冬季傍晚的负载率能从日常的 40% 左右直接干到 92%,根因就是下班回家后大量电动车同…

2026/10/5 11:10:54 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →