虽然 Cursor、Copilot 等工具已经很普及,但它们在处理长 Context 时往往截断得比较狠。
针对涉及多文件、大篇幅的代码改动,我更习惯在网页端使用 Claude 或 Gemini,利用它们完整的上下文额度进行分析,拿到方案后再通过 Code Agent 执行。
痛点在于:构建 Prompt 是个体力活。 为了避免在编辑器和网页间反复复制粘贴文件的机械劳动,我开发了这个 VS Code 插件。
frostime/vscode-files2prompt: 将文件内容合并为一个 prompt
Assemble LLM Prompt - Visual Studio Marketplace

核心工作流
使用逻辑很简单: “选材 -> 暂存 -> 组装” 。
- 添加素材:在开发过程中,可以将整个文件加入 Prompt 集合。

也可以仅选中某段代码,加入合集。

- 一键生成:左侧 Panel 会记录当前集合中的所有条目。点击 Run 按钮,插件会自动拼接所有内容,生成一个临时的 Text Editor,直接全选复制即可。

支持的数据类型
插件覆盖了常见的上下文来源,并区分了动态与静态模式:
| 类型 | 模式 | 说明 |
|---|---|---|
| 文件 | 动态 | 生成时读取磁盘最新内容 |
| 目录树 | 动态 | 生成时刷新当前文件结构 |
| Git Diff | 动态 | 生成时获取最新的修改差异 |
| 代码片段 | 静态 | 添加时的文本快照,不会随文件修改更新 |
| 终端输出 | 静态 | 报错信息或运行日志,可编辑 |
| 用户指令 | 静态 | 全局任务指令,始终置顶 |

无论是导入整个目录结构,还是追加终端的报错日志,都能快速整合进 Prompt 中。


关键特性
1. 动态更新机制
这是为了适应开发过程中的变动。如果将文件加入合集,后续的代码修改会在点击生成时自动同步。这意味着你可以预先配置好 context 列表,专注改代码,每次生成的 Prompt 都是最新的。
注:选中的“代码片段”默认为静态快照,不适用此机制。

2. User Instruction(全局指令)
支持输入一段 User Instruction 作为任务总纲,该指令会被固定放置在 Prompt 的最前端。

3. Package(Zip 导出)
针对支持文件上传的模型(如 Claude 网页版),或者上下文超出单次对话限制的场景,插件提供了 Package 功能。它可以将选中的所有内容直接打包成 .zip 文件。

格式配置
核心配置项是 format,决定了代码块在 Prompt 中的包裹形式。

提供了以下预设方案,也可自定义:
// 预设: xml | markdown | plain | github | custom
"assembleCodeToPrompt.format.preset": "xml"
| 预设 | 输出示例 |
|---|---|
xml |
<Content src="path" lang="ts">code</Content> |
markdown |
```ts\ncode\n``` |
plain |
纯代码,无包装 |
github |
<!-- filepath: path --> ... |
custom |
自定义函数 |
其他细节配置可参考插件文档。



欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于