在VSCode中,通过快捷键直接调用CodeGeeX实现代码自动生成,远比每次点击右下角图标再翻找菜单更加便捷高效——特别是当你全神贯注编写Python函数体、补全API请求逻辑,或是临时需要将一段JavaScript代码转换为Python时,任何中断都会打断编码节奏,每一秒都在消耗注意力。

然而在着手配置之前,必须确认一个关键前提:确保CodeGeeX插件已正确启用,否则后续所有快捷键设置都将无法生效。
确保插件已安装并正确启用
启动VSCode后,点击左侧扩展图标(或使用快捷键 Ctrl+Shift+X),在搜索框内输入 CodeGeeX,确认发布者为 Zhipu AI,然后点击“启用”按钮。若按钮显示为“禁用”,则表示插件尚未激活——此时按下任何快捷键都不会响应。
此步骤容易被忽略,因为VSCode并不会自动启用新安装的插件,需要手动确认。为稳妥起见,建议安装完成后先随意编写几行代码,测试潜行补全是否正常弹出,再继续配置快捷键。
配置核心快捷键(三类必备设置)
CodeGeeX 默认仅绑定了 Ctrl+Enter(交互模式),而另外两个高频操作——潜行模式重试与翻译模式——均需手动绑定。好在配置过程并不复杂,以下提供两种方法供您选择。
方法一:通过图形界面快速绑定
在Windows/Linux系统中,按下 Ctrl+K 后松开,再按 Ctrl+S;macOS 用户则按 ⌘+K 后松开,再按 ⌘+S,即可打开键盘快捷方式设置页面。
在设置页的搜索框中输入 codegeex.requestCompletion,定位到该命令后右键点击,选择“添加快捷键”,然后按下您习惯的组合键(例如 Ctrl+Alt+Space),最后按回车确认。
此命令专用于手动触发潜行模式补全。典型应用场景是:当光标位于语法正确的位置,但灰色代码预览未自动弹出时——例如刚刚输入完 for i in range(10): 后换行却无反应,此时按下此快捷键即可立即生成缩进后的第一行代码。
方法二:为翻译模式单独设置快捷键
在相同的快捷键设置页面中,搜索 codegeex.translateSelection,点击右侧的加号,输入您希望绑定的组合键(例如 Ctrl+Alt+T,若已被其他命令占用,可改用 Ctrl+Shift+T),然后按回车确认。
请注意:该命令仅对选中的文本生效,且当前文件的语言与目标语言必须均为 CodeGeeX 所支持——例如选中一段 JavaScript 代码,并将目标语言设为 Python,方可成功转换。若选择不兼容的语言组合,按下快捷键后可能无任何响应。
高级自定义:通过 keybindings.json 绑定多个动作
如果您希望用一个快捷键完成“选中→翻译→插入”的完整流程,或者想让 Tab 键在特定场景下直接采用 CodeGeeX 的建议(而非默认的缩进操作),则需要编辑 JSON 配置文件。虽然这项操作稍显进阶,但能显著提升工作效率。
第一步:在快捷键设置页面右上角点击 {} 图标,打开 keybindings.json 文件。
第二步:在数组末尾插入以下内容(注意逗号分隔,不要破坏 JSON 结构):
[
{
"key": "alt+enter",
"command": "codegeex.requestCompletion",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+g",
"command": "codegeex.interactiveMode",
"when": "editorTextFocus && !editorReadonly"
}
]
第三步:保存文件后,Alt+Enter 将强制触发代码补全(无视潜行模式的延迟),Ctrl+Shift+G 则等效于原生的 Ctrl+Enter,但按键更顺手——尤其适用于戴手套或键盘布局特殊的情况。
⚠️ 修改前务必确保 JSON 格式正确。多一个逗号或少一个引号都可能导致整个快捷键系统失效,VSCode 会弹出红色警告框。如果不熟悉 JSON 语法,建议先在在线校验工具中验证无误后再粘贴。
验证与调试快捷键是否正常生效
打开任意 .py 或 .js 文件,编写一行函数声明(例如 def process_data(data):),然后换行,按下您刚刚设置的触发键(如 Ctrl+Alt+Space),观察状态栏右下角的 CodeGeeX 图标是否旋转,以及灰色代码是否出现。
若无反应,请检查两个关键点:光标是否位于空行开头(不能在字符串内部、注释之后或缩进中间);当前语言模式是否被正确识别(左下角应显示 Python 或 Ja vaScript,而非 Plain Text)。
选中一段代码后,按下 Ctrl+Alt+T,如果弹出语言选择面板,则说明翻译快捷键已配置成功。若无弹出,则很可能是快捷键被其他命令占用,可以尝试更换另一个组合键。
