add-to-terminal
v0.5.0
Published
One-click send file references, line ranges, and diagnostics to the terminal — optimized for Claude Code CLI workflows
Maintainers
Readme
Add to Terminal
一键将文件引用、选中代码行范围、编译报错信息发送到终端,专为 Claude Code CLI 工作流优化。

痛点分析
在使用 Claude Code 等终端 AI 编程工具时,最常见的操作是让 AI 帮你定位问题、修改代码、修复报错。但每次你都需要手动完成以下步骤:
- 在编辑器或资源管理器中复制出问题的文件路径
- 回到终端,粘贴路径
- 回编辑器复制报错信息
- 又回到终端粘贴上错误信息
- 最后输入你的问题,回车
这个流程频繁打断编码思路,每次至少要花 10-20 秒手动拼接路径和行号,一天下来浪费大量时间。文件路径一长,还容易打错。
解决方案
Add to Terminal 让这一切一键完成。无论你在编辑器中、在文件资源管理器中、还是看到编译报错的红色波浪线,只需要一次点击或快捷键,文件引用和诊断信息就直接出现在终端输入框中——未执行,你可以继续补充问题描述,然后回车。
核心功能
📄 文件 + 行号引用
在编辑器中 右键 或按 Ctrl+Alt+T(Mac: Cmd+Alt+T),自动将当前文件路径和选中行范围发送到终端:
`src/extension.ts:42-58`- 单行光标:
`src/extension.ts:42` - 多行选中:
`src/extension.ts:42-58` - 路径格式可配置(相对路径 / 绝对路径 / 仅文件名)
📁 资源管理器文件引用
在文件资源管理器中右键任意文件,一键将文件路径发送到终端:
`src/extension.ts`支持多选文件,用逗号分隔:
`src/extension.ts`, `src/utils.ts`, `package.json`🔴 报错信息一键添加
光标放在红色波浪线(编译错误)或黄色波浪线(警告)上,点击出现的💡灯泡图标(或 Ctrl+.),在 Quick Fix 菜单中点击 "Add to Terminal":
`src/app.ts:42` error: Cannot find name 'foo'
`src/utils.ts:15` warning: Unused variable 'x'这意味着你看到报错 → 点灯泡 → 点 Add to Terminal → 终端里直接有了
路径+行号+错误信息→ 输入你的问题 → 回车,Claude Code 立刻开始分析。
使用场景
| 场景 | 操作 | 终端输出 |
|---|---|---|
| 让 AI 分析某段代码 | 编辑器选中代码行 → Ctrl+Alt+T | `src/app.ts:30-45` |
| 让 AI 修复报错 | 光标放红色波浪线 → 灯泡 → Add to Terminal | `src/app.ts:42` error: Cannot find name 'foo' |
| 让 AI 了解项目结构 | 资源管理器选中多个文件 → 右键 → Add to Terminal | `src/index.ts`, `src/utils.ts`, `package.json` |
| 让 AI 审查代码 | 选中代码 → 右键 → Add to Terminal → 继续输入"review this" | `src/app.ts:30-45` review this |
发送到 DSH Web 输入框
除终端外,引用也可以直接投递到 DSH Web 页面的输入框草稿(不提交,你补一句话再回车)。
@src/app.ts:30-45
@src/app.ts:42 error: Cannot find name 'foo'- 面板/状态栏会告诉你投给了哪个会话(例如
docs.10coding-demos · 线性代数讲义); - 路径:相对路径只在文件确实位于该 DSH 会话工作目录下时使用,否则自动退化为绝对路径;
- 多个引用换行分隔;
- 目标页面断开或没有输入框时,按
addToTerminal.fallbackToTerminal自动回退到终端。
前置条件:DSH 侧安装 dsh-add-to-terminal 桥接插件(它会把自己的地址与令牌写到 <系统临时目录>/dsh-add-to-terminal/bridge.json,本扩展读取后零配置可用)。
只用终端也完全没问题。 没装桥接插件、没开 DSH Web、或者你自己点了「断开」,这三种情况下扩展不会弹失败提示:引用直接发给终端,状态栏只说一句「只发到终端」。DSH 只是多出来的一个投递目标,不是必需条件。
选择投递到哪个 DSH 页面
左侧资源管理器侧边栏里会多出一个 DSH 页面 区块,列出当前打开着 DSH Web 的标签页:
- 每行显示 工作区 · 标题(例如
docs.10coding-demos · 线性代数讲义)与状态;正在投递的那一行标为当前目标 · 可写并带插头图标; - 单击一行 = 连接它:设为投递目标 → 立刻把当前选区投过去(行尾也有一个 🔌 行内按钮);
- 目标按工作区记住,之后
Ctrl+Alt+T一直投给它; - 状态栏右下角显示
🔌 DSH: docs.10coding-demos · 线性代数讲义,点它弹出 Quick Pick 换目标或断开(命令面板:Add to Terminal: 选择 DSH 页面); - 区块标题栏有刷新按钮与一个断开按钮(⏏);可见时每 3 秒自动刷新;
- 收到内容的那个浏览器标签页会把自己的标题前面加上
●闪 6 秒 —— 这是"内容进了哪个标签页"最可靠的提示(页面无法可靠地把浏览器窗口提到前台)。
只有"页面开着、且当前有输入框"的标签页才会出现在列表里(草稿存在页面侧,宿主写不了);没有打开 DSH 时列表显示「只发到终端」,引用按
fallbackToTerminal发给终端。
断开 DSH · 只发到终端
接好之后想彻底不投 DSH 了,有三个入口,效果一样:
| 入口 | 位置 |
| --- | --- |
| 状态栏 → Quick Pick 第一项 | $(debug-disconnect) 断开 DSH · 只发到终端 |
| DSH 页面区块标题栏的断开按钮 | 视图标题栏 |
| 当前目标那一行尾部的断开按钮 | 行内图标;命令面板里也有 Add to Terminal: 断开 DSH · 只发到终端 |
断开后:忘记记住的目标、不再探测桥接(省掉每次投递的一次 HTTP),引用直接发终端,状态栏变成 $(terminal) 只发到终端。想连回来,点列表里任意一个 DSH 页面即可(断开状态按工作区记,不影响 addToTerminal.destination 设置)。
addToTerminal.dshFocus默认关闭:浏览器判断"这个地址是否已经打开"是按完整 URL 比对的,带上锚点(#...)就会被当成新地址而多开一个标签页,所以默认不去动浏览器。确实想让浏览器打开/切到该地址时再手动打开它(此时只使用不含锚点的裸地址)。
快捷键
| 命令 | Windows / Linux | macOS |
|---|---|---|
| Add to Terminal | Ctrl+Alt+T | Cmd+Alt+T |
配置
| 设置项 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
| addToTerminal.destination | 发送目标:DSH 输入框 / 终端 / 两者 | dsh / terminal / both | dsh |
| addToTerminal.fallbackToTerminal | DSH 投递失败(页面关闭或没有输入框)时回退到终端 | true / false | true |
| addToTerminal.dshUrl | DSH Web 地址,留空则读发现文件 | 例如 http://127.0.0.1:3080 | 空 |
| addToTerminal.dshToken | 桥接令牌,留空则读发现文件 | 字符串 | 空 |
| addToTerminal.dshFocus | 投递成功后打开/切到该 DSH 地址(按下述原因默认关闭) | true / false | false |
| addToTerminal.dshPathStyle | DSH @ 引用里的路径风格 | relative / absolute | relative |
| addToTerminal.pathFormat | 终端目标的路径格式 | relative / absolute / basename | relative |
想要原来的行为(一律发到终端):把
addToTerminal.destination设为terminal。
安装
从 VS Code 插件市场安装(推荐)
- 打开 VS Code,按
Ctrl+Shift+X打开扩展面板 - 搜索 "Add to Terminal"
- 点击 Install 安装
- 安装后自动启用,无需额外配置
或者直接访问:VS Code Marketplace - Add to Terminal
为什么用 Add to Terminal?
| | 手动操作 | 用 Add to Terminal | |---|---|---| | 输入文件引用 | 复制粘贴路径 + 行号,容易出错 | 一键,零出错 | | 添加报错信息 | 复制报错 → 切换窗口 → 粘贴 | 灯泡菜单一键 | | 多文件引用 | 逐个手打,逗号分隔 | 多选文件一键 | | 打断编码思路 | 频繁切换 | 无缝衔接,思路不中断 |
License
MIT
