ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

手把手给Void编辑器 AI功能开发:5步从扩展骨架到智能引用的完整路线图

手把手给Void编辑器 AI功能开发:5步从扩展骨架到智能引用的完整路线图 手把手给Void编辑器 AI功能开发5步从扩展骨架到智能引用的完整路线图【免费下载链接】void开源AI代码编辑器Cursor的替代方案。项目地址: https://gitcode.com/GitHub_Trending/void2/void你正在给 Void——那个被当作 Cursor 替代方案的开源AI代码编辑器——写第一份AI能力。读完这篇你能独立定位「改哪一层、入口在哪个文件、测试往哪放」并亲手把一条从配置到智能引用的完整链路跑通而不必在几万行源码里打转。先认清你要改哪一层Void 的源码分成四张清晰的网工作台层src/vs/workbench/面板、命令、AI 交互入口、编辑器层src/vs/editor/编辑核心、语言服务层补全/高亮这类能力、扩展层extensions/可插拔能力。记住一件事90% 的 AI 功能改动落在编辑器层的 contrib 模块或扩展层而不是去动最底层。克隆仓库后的前30分钟git clone https://gitcode.com/GitHub_Trending/void2/void cd void npm install装完别急着写功能。把两条主线摸熟src/vs/是引擎workbench / editor / platformextensions/是插件集合。前者决定「能力从哪来」后者决定「能力怎么被打包给用户」。三条可独立上手的 AI 开发线语言智能服务—— 入口在src/vs/editor/contrib/suggest/、inlineCompletions/、semanticTokens/分别管补全、行内建议、语义高亮负责「输入时浮出什么」改触发条件与 provider 注册逻辑即可。扩展插件体系—— 入口是每个扩展的src/extension.tsactivate()就是起点负责把命令、视图、贡献点装配起来在package.json声明 在extension.ts实现就是给 Void 加 AI 能力的标准姿势。import * as calls from ./calls; calls.register(tree, context);配置系统—— 入口在src/vs/platform/configuration/负责把用户设置变成可读取的键值先定义配置项 key再在功能里消费它AI 开关、模型参数都走这里。以「代码引用分析」走通一条完整链路这条链路正好把四层串起来。配置贡献快捷键与命令贡献点让能力可被触发扩展extensions/references-view/src/extension.ts的activate()注册 references / calls / types 三棵树语言服务底层依赖编辑器的符号查找与 findReferences 能力返回结果测试把断言放进test/unit/。四层各管一段链路才跑得顺。避坑与调优 checklist测试三档别漏test/unit/下的node/、browser/、electron/各跑一遍高频能力如 codelens 结果优先走缓存别每次重算大文件与长链路用异步 懒加载避免阻塞输入配置项先落 schema 再消费防止「改了不生效」下一步做这三件事打开extensions/references-view/把activate()到三棵树的注册读一遍在src/vs/editor/contrib/里挑一个模块顺着 provider 读到底给本地克隆跑一次test/unit/确认你的环境能真正编译测试【免费下载链接】void开源AI代码编辑器Cursor的替代方案。项目地址: https://gitcode.com/GitHub_Trending/void2/void创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表