Gemini CLI 接入 VS Code:光标在哪它就知道
Gemini CLI 接入 VS Code光标在哪它就知道【免费下载链接】gemini-cliAn open-source AI agent that brings the power of Gemini directly into your terminal.项目地址: https://gitcode.com/GitHub_Trending/gemi/gemini-cli上周我在 VS Code 集成终端里跑 gemini改动倒是完成了可编辑器的光标还停在旧接口上追问一句它又得重新读一遍文件才能接上话。后来把 Gemini CLI 的 VS Code 集成接上选中文本它马上就能看见少了一步 文件、行号的交代。从第一行命令到绿灯前提是先装好 CLInpm install -g google/gemini-cli。你遇到的问题在集成终端里跑gemini它只认命令行不知道你编辑器里开着什么文件、光标停在第几行。你做的事在 VS Code 的集成终端里敲gemini。第一次运行它会检测到 IDE 环境并弹出提示 IDE detected: Visual Studio Code Would you like to install the Gemini CLI Companion extension? (Y/n) Y你看到的结果按 Y 后扩展自动装好接着在 CLI 里敲/ide status验证/ide status Connected to Visual Studio Code Recently opened files: - src/types.ts (active, line 42) - src/utils/format.ts - package.json绿灯亮了说明编辑器和 CLI 已经通过本地通道对接你的文件状态会实时推给 CLI。三种装法对比一下按你的习惯挑安装方式触发条件操作步骤适合场景自动提示集成终端首次跑 gemini按一次 Y全自动首次使用最省事/ide installCLI 会话内敲命令自动找到匹配的扩展并安装错过了提示、想重装扩展市场手动装扩展面板搜 Gemini CLI Companion装完记得补一句/ide enable离线或要特定版本⚠️ 第三条最容易被忽略市场手动装完不 enable状态灯一直是断的。整个过程的判断路径你的光标和选区已经在模型眼前了连上之后扩展端有一个叫OpenFilesManager的模块在干一件事把你现在开着哪些文件持续汇报给 CLI。你可以把它理解成编辑器的实时旁白。它有三个硬限制心里有数就行只保留最近访问的 10 个文件选中文本超过 16KB 会被截断状态更新做了 50ms 防抖你鼠标来回切文件也不会卡。下面三个场景都是接入前后体感差别最大的地方。在 .ts 文件里写接口你打开src/types.ts光标停在第 42 行的User接口上直接说 给当前接口加一个 createdAt 字段类型是 ISO 8601 字符串CLI 返回的✦ Edited src/types.ts:42 createdAt: string;它不用先读文件因为你在哪个文件、哪一行已经在上下文里了。拖选一段代码再下指令你拖选一个 30 行的数据处理函数输入 把选中的这段重构成纯函数别改变行为CLI 拿到的是你选中的那段文本加当前文件的周边代码直接干活。选区超过 16KB 时只有前 16KB 生效所以特别长的选区先收窄到一个函数体再下指令更稳。切到另一个文件上下文立刻跟着切你 CtrlTab 切到package.json问build 脚本为什么挂了。此时 CLI 的活跃文件已经换成 package.json它会直接对着scripts字段分析而不是去翻别的文件。拿不准它看见了什么随时敲/ide status最近文件列表会原样打出来。想看这套机制怎么实现的可以翻 OpenFilesManager 源码核心就是监听编辑器切换、选区变化、文件关闭这几类事件。改动落盘之前先让你过一遍 diff让 CLI 改文件时它不直接写盘而是在 VS Code 里打开一个原生 diff 视图左边原文右边建议改动。这就是 Gemini CLI 的 diff 代码审查用的是编辑器自带的对比能力。拿到 diff 后你有三条路接受四种方式任选——点 diff 标题栏的对勾、CtrlS 保存、命令面板跑Gemini CLI: Accept Diff、或者直接在 CLI 里回yes。手动改右边是可直接编辑的文档。AI 提议里某一行你不满意删掉再保存落盘的就是你改过的版本。拒绝点标题栏的 X、关掉标签页、命令面板跑Gemini CLI: Close Diff Editor、或回no。CLI 端会收到对应通知建议直接丢弃。CLI 一侧的交互长这样✦ Want to apply the change to src/types.ts? (diff view opened in your editor) yes ✓ src/types.ts updated完整往返两句提醒如果你审到一半文件在别处被改了diff 左侧始终以磁盘为准看着不对就重新发起一次CLI 里选本次会话允许后改动会跳过 diff 直接落盘批量小改动很快但破坏性操作别开这个。diff 生命周期由 DiffManager 源码 里的DiffManager管理。从个人配置到团队配置个人层面配置文件在~/.gemini/settings.json打开 IDE 模式就一行{ ide: { enabled: true【免费下载链接】gemini-cliAn open-source AI agent that brings the power of Gemini directly into your terminal.项目地址: https://gitcode.com/GitHub_Trending/gemi/gemini-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考