
Tabby for VS Code 命令完全指南用好 Tabby Command Palette 与全部扩展命令【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby本篇技术指南聚焦于 Tabby自托管 AI 编程助手VS Code 扩展的命令体系围绕官方 Walkthrough 文档 commands.md 展开从状态栏一键呼出 Tabby 命令面板到命令面板的分区结构、全部tabby.*命令的用途与触发条件再到 Chat 类命令的可见性规则帮助你彻底掌握通过命令高效操控 Tabby 的方法。两种方式打开 Tabby 命令面板原文档给出了两条入口路径两者都围绕tabby.commandPalette.trigger这一核心命令展开方式一点击状态栏的Tabby图标Tabby 扩展会在 VS Code 状态栏右侧放置一个Tabby状态项。直接点击它即可打开Tabby Command Palette然后在面板中选择你想要的命令。这一交互在源码中有着明确对应StatusBarItem.ts 创建状态栏项时将item.command设置为this.item.command { title: Show Tabby Command Palette, command: tabby.commandPalette.trigger, };也就是说状态栏点击事件与命令面板的打开动作是同一个命令的两种触发入口。状态栏图标本身还是连接状态的实时指示器就绪时显示$(check) Tabby自动触发模式或$(chevron-right) Tabby手动触发模式、加载中显示旋转图标、未授权显示钥匙图标、断连显示$(debug-disconnect)、响应缓慢或触发限流时以警告色显示——每种状态对应不同的图标与 tooltip具体逻辑见 StatusBarItem.ts。方式二在 VS Code 全局命令面板中搜索Tabby在任意编辑器界面按下CtrlShiftPmacOS 为CmdShiftP打开命令面板输入Tabby即可看到由该扩展贡献的全部命令来源为 package.json 中contributes.commands声明的命令列表。这种方式尤其适合通过键盘快速触发单个命令例如手动触发补全、开关自动补全模式。注意与 Chat 功能相关的命令只有在你的 Tabby Server 支持时才会显示。这一点既体现在命令面板的菜单项when条件上例如tabby.chatEnabled也体现在命令面板动态构建菜单的逻辑中下文会详细展开。Tabby 命令面板的分区结构与动态构建从源码看Tabby Command Palette 并非一个静态列表而是由 commandPalette.ts 中的buildMenuItems()根据当前扩展状态动态生成的 QuickPick 面板。它按 5 个分区组织每区一个分隔符标题分区包含内容可见条件status当前连接状态条目始终显示chatChat打开聊天面板仅当client.chat.isAvailable为真code completion开关自动补全、开关当前语言补全连接状态不在connecting/unauthorized/disconnected之中settingsConnect to Server、Update Token、Settings、Agent Settings、Show LogsUpdate Token 仅当状态为unauthorizedAgent Settings 仅桌面端浏览器环境隐藏help supportHelp打开在线文档始终显示值得注意的是面板菜单会随状态变化实时刷新CommandPalette.show()监听了client.status的didChange事件一旦连接状态变化便重新构建菜单项commandPalette.ts因此你看到的面板总是与当前连接状况一致。状态分区一眼看清连接状况itemForStatus()根据 Language Client 状态与 Tabby Agent 上报的status字段生成不同条目commandPalette.tsInitializing...Language Client 尚未启动或正在启动Connecting...正在连接服务器Unauthorized未授权附带Update your token to connect to Tabby Server提示可直接跳转tabby.updateTokenDisconnected已断开可直接跳转tabby.connectToServerReady就绪description 中显示当前服务器端点server.endpoint点击可查看输出面板Slow Response补全请求响应过慢弹出警告并提供Online Help...与Dont Show Again操作Too Many Requests触发限流rateLimitExceededUnknown Status未知状态提示查看日志。Code Completion 分区开关补全的快捷开关当连接状态正常时非 connecting / unauthorized / disconnected面板提供两个高频开关Enable / Disable auto completions切换inlineCompletionTriggerMode的automatic/manual对应命令tabby.toggleInlineCompletionTriggerModeEnable / Disable completions for当前语言基于当前活动编辑器语言 ID 调用tabby.toggleLanguageInlineCompletion等价于维护配置项inlineCompletion.disabledLanguages。Tabby 扩展全部命令速查表以下命令均以tabby.为前缀完整清单见 package.json 的contributes.commands实现代码集中在 commands/index.ts 的Commands.commands表中命令 ID面板标题用途tabby.commandPalette.trigger状态栏触发打开 Tabby Command Palettetabby.toggleInlineCompletionTriggerModeToggle Code Completion Trigger Mode在自动/手动触发模式间切换tabby.inlineCompletion.triggerTrigger Code Completion Manually手动触发代码补全默认快捷键Alt\tabby.connectToServerConnect to Server...连接/切换 Tabby Server支持选择历史服务器、输入 Tokentabby.updateTokenUpdate Token...更新当前服务器的访问 Tokentabby.openSettingsOpen Settings打开 Tabby 扩展设置页tabby.openTabbyAgentSettingsOpen Tabby Agent Settings打开~/.tabby-client/agent/config.toml仅桌面端tabby.gettingStartedQuick Start重新打开Getting Started引导tabby.openOnlineHelpOnline Help...打开在线文档/社区/GitHubtabby.status.resetIgnoredIssuesReset Ignored Issues重置被忽略的状态问题tabby.chat.addRelevantContextAdd Selection to Chat将当前选区加入聊天上下文tabby.chat.addFileContextAdd File to Chat将当前文件加入聊天上下文tabby.chat.explainCodeBlockExplain This解释选中代码tabby.chat.fixCodeBlockFix This修复选中代码tabby.chat.codeReviewCodeBlockCode Review对选中代码做代码评审tabby.chat.generateCodeBlockDocGenerate Docs为选中代码生成文档tabby.chat.generateCodeBlockTestGenerate Tests为选中代码生成测试tabby.chat.generateCommitMessageGenerate Commit Message为 Git 仓库生成提交信息tabby.chat.generateBranchNameCreate Branch with Suggestions生成并创建分支名tabby.chat.edit.startStart Inline Editing开始内联编辑默认快捷键CtrlI/CmdItabby.chat.edit.stopStop Inline Editing停止内联编辑tabby.chat.edit.acceptAccept Changes接受内联编辑结果CtrlEnter/CmdEntertabby.chat.edit.discardDiscard Changes丢弃内联编辑结果tabby.chat.createPanelOpen Chat in Editor在编辑器中打开聊天面板tabby.chat.navigate.newChatNew Chat开启新对话tabby.chat.navigate.historyChat History查看历史对话tabby.toggleLanguageInlineCompletionEnable/Disable Inline Completion for Current Language开关当前语言的补全tabby.terminal.explainSelectionExplain解释终端中的选中文本tabby.terminal.addSelectionToChatAdd Selection to Chat将终端选中文本加入聊天上下文Chat 类命令的可见性规则原文档特别提醒Chat 相关命令仅在服务器支持时才可见。这一规则从两个层面落实命令面板菜单项层面在 package.json 的commandPalette菜单段中Chat 相关命令如tabby.chat.explainCodeBlock、tabby.chat.generateCodeBlockDoc、tabby.chat.generateCommitMessage、tabby.chat.edit.start等均带有when: tabby.chatEnabled之类的上下文条件只有满足时才出现在全局命令面板中而tabby.chat.fixCodeBlock、tabby.chat.edit.stop等命令的when被显式设为false即不直接暴露在命令面板它们主要由右键菜单或内联 UI 触发。Tabby Command Palette 层面在 commandPalette.ts 中Chat 分区条目仅在client.chat.isAvailable为真时构建——isAvailable由客户端探测当前连接的 Tabby Server 是否启用了 Chat 能力对应仓库中 Chat 相关协议与路由实现。因此如果你的服务器是较旧版本或未启用 Chat 的配置命令面板的 Chat 分区会自动消失其余补全、设置类命令不受影响。从命令到键盘两条效率路径命令体系与键盘快捷键是互补的两条路径相关细节记录在配套的 keybindings.md 与 package.json 的contributes.keybindings中补全接受默认vscode-style模式下Tab接受完整补全、Ctrl/Cmd →接受下一个词切换为tabby-style后Tab接受下一个词、CtrlTab接受完整补全Chat 快捷操作CtrlImacOSCmdI开始内联编辑CtrlEnter接受编辑CtrlL在选中文本时把选区加入聊天/聚焦聊天面板自定义键位通过tabby.openKeybindings命令直接打开键位编辑器过滤Tabby相关绑定进行个性化修改。小结点击状态栏Tabby图标或搜索命令面板中的Tabby即可进入 Tabby 的命令世界命令面板按状态/聊天/补全/设置/帮助动态分区命令的显隐与服务器能力、连接状态实时联动。配合 commands/index.ts 与 commandPalette.ts 的源码你可以准确理解每个命令背后的触发条件与行为从而在 VS Code 中最高效地使用 Tabby。【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考