Markdown Copilot for Visual Studio Code

December 9, 2025 · View on GitHub

en ja zh-cn

Markdown Copilot for Visual Studio Code

Version Downloads GitHub Workflow Status GitHub stars GitHub Contributors

Markdown Copilot 是适用于 VS Code 的 LLM API 客户端。

基本使用

Markdown Copilot 使您能够完全替代 OpenAI ChatGPT WebUI,提供更优越的功能,例如:

  1. 利用Model Context Protocol服务器
  2. 以 Markdown 形式保存对话历史
  3. 同时进行多个对话
  4. 分支对话
  5. 随时编辑之前的对话并继续对话
  6. 根据对话命名文件
  7. 标题对话
  8. 根据文件类型智能粘贴剪贴板内容

注意:使用此扩展需要配置 OpenAI, Azure OpenAI, OpenRouter 或本地 Ollama 实例。配置方法如下:

🛰️ 可用后端

通过 markdown.copilot.backend.protocol 选择后端:

  • OpenAI:Chat Completions(默认)。
  • OpenAI Responses:调用 Responses API,并可使用 OpenAI 内置的 web_search 工具。
  • Azure:将 backend.baseUrl 指向部署的 chat/completions URL;若可用则使用 webSearchPreview
  • Google Vertex:将 backend.baseUrl 设置为服务账号 JSON 的 URI(如 file:///path/key.json),选择 Vertex 模型(如 gemini-3-pro-preview)。
  • OpenRouterOllama:配置各自的端点和 API Key 以使用托管或本地模型。

🌟 主要特性

⚡ MCP 服务器与工具调用

Markdown Copilot 支持工具调用(function calling),并可从 Model Context Protocol (MCP) 服务器 获取更多工具。将需要的工具写在 json copilot-toolsyaml copilot-tools 的数组中,与提示一起选中后执行 💡 Markdown Copilot: 继续

工具前缀

  • @ 内置分组:@context (context_summary_and_new, context_reset_and_new),@file (fs_read_file, fs_read_dir, fs_find_files),@eval! (eval_js),@web (后端的 web search;在 OpenAI Responses 或具备 webSearchPreview 的 Azure 可用)。
  • ^ VS Code LM 工具 在 VS Code 中添加的 MCP 服务器:值是用于过滤工具提供方的正则,如 ^copilot(内置 Copilot 工具)或 ^my-mcp-server(指向已配置的 MCP 服务器)。请参见 Add an MCP server 了解添加方法。
  • 无前缀:单个工具,如 web_searchfs_read_file,或在 copilot-tool-definition 块中定义的自定义工具。

示例:列出可用工具

请列出你可以使用的所有工具。

```json copilot-tools
["^copilot"]
```

示例:组合 Web 搜索与文件读取

请先进行 Web 搜索,再读取文件后回答。

```json copilot-tools
["@web", "fs_read_file"]
```

Web 搜索(OpenAI Responses / Azure webSearchPreview)

查找最新的 VS Code 发行说明并进行总结。

```json copilot-tools
["@web"]
```

也可以显式请求该工具:

最新的 Python 稳定版是哪个?

```json copilot-tools
["web_search"]
```

关于如何添加 MCP 服务器,请参考 Use MCP servers in VSCode: Add an MCP server

🔀 并行编辑

同时执行多个自动编辑,通过不必等待一个编辑完成就开始另一个编辑,从而提高您的生产力。

并行编辑

📝 上下文编辑

Markdown Copilot根据上下文回答选文。

使用时,选择文本范围并从代码操作建议中选择 💡 Markdown Copilot: 继续

上下文编辑

或使用快捷方式快速访问:

命令Windows / LinuxMac
触发建议Ctrl+SpaceCtrl+I+Space+I
上下文编辑快捷方式

ᝰ 覆盖选项

使用覆盖选项自定义 Markdown Copilot 的行为。这允许您直接在文档中控制响应长度或 AI 模型等设置。

要使用覆盖选项,只需包含一个标记为 json copilot-optionsyaml copilot-options 的 JSON 或 YAML 代码块,并在其中填入您希望的设置,然后选择此块及您的文本并从代码操作建议中选择 💡 Markdown Copilot: 继续

示例: 让 Markdown Copilot 用自定义的响应长度和模型介绍自己 (JSON):

自我介绍。

```json copilot-options
{"max_tokens":50,"model":"gpt-3.5-turbo"}
```

示例: 让 Markdown Copilot 用自定义的响应长度和模型介绍自己 (YAML):

自我介绍。

```yaml copilot-options
max_tokens: 50
model: gpt-3.5-turbo
```

示例: 使用 o1-preview 模型 (JSON)

o1-preview 模型不支持系统消息,因此我们将使用 **System(Override):** 清除系统消息。

**System(Override):**

**User:**
自我介绍。

```json copilot-options
{"model":"o1-preview","temperature":1}
```

示例: 使用本地 Ollama 的 llama2 模型 (JSON)

自我介绍。

```json copilot-options
{"model":"llama2","baseURL":"http://localhost:11434/v1"}
```

示例: 使用本地 Ollama 的 llama2 模型 (YAML)

自我介绍。

```yaml copilot-options
model: llama2
baseURL: http://localhost:11434/v1
```

更多配置选项,请参考 OpenAI API: 创建聊天完成

📛 命名和另存文件

Markdown Copilot 允许您根据文件内容命名和另存文件。

要使用此功能,请选择您要命名和保存的编辑器,然后使用 Markdown Copilot: 命名和另存为... 命令。

或者使用快捷方式快速访问:

Windows / LinuxMac
Ctrl+Shift+P > Name and Save As++P > Name and Save As

🏷️ 为活动上下文添加标题

Markdown Copilot 可以根据对话历史记录为对话添加标题。 对话标题以# Copilot Context: 开头的行表示。

要使用此功能,请将光标移至您要标题的上下文,然后使用 Markdown Copilot: 活动上下文标题 命令。

或使用快捷方式快速访问:

Windows / LinuxMac
Ctrl+Shift+P > Title active context++P > Title active context

🪄 总结并开启新的上下文

Markdown Copilot 允许您先对当前上下文进行总结,然后根据该总结开启新的上下文。 此功能有助于防止对话上下文变得过长,从而影响模型的处理效果,同时也能让您更轻松地掌握对话的要点。

要使用此功能,请将光标移动到要总结的上下文,然后使用 Markdown Copilot: 总结并开始新上下文 命令。

Windows / LinuxMac
Ctrl+Shift+P > Summarize and New Context++P > Summarize and New Context

📋⤵ 粘贴为美化文本

Markdown Copilot 允许您以智能方式将剪贴板内容粘贴到文档中,并根据文件类型进行适配。
此功能确保粘贴的内容能够无缝集成到您的编辑文件中,避免不必要的格式问题。

要使用此功能,请选择您希望粘贴内容的位置,然后使用 Markdown Copilot: 粘贴为美化文本 命令。

或者使用快捷键快速访问:

Windows / LinuxMac
Ctrl+Shift+P > Paste as pretty++P > Paste as pretty

📥 导入其他 Markdown 文件

Markdown Copilot 允许您轻松地将其他 Markdown 文件导入当前文档。 这使得引用或重用其他文档的内容成为可能。

要导入其他 Markdown 文件,请使用 @import 指令。 在此指令后,用双引号括起来,指定您想要导入的文件的路径。

相对路径示例: 从当前文件的相对位置导入 another-markdown.md

@import "path/to/another-markdown.md"

绝对路径示例: 使用从工作区根目录开始的绝对路径导入 toplevel-markdown.md

@import "/toplevel-markdown.md"

如果当前文档尚未保存,因为文件路径未确定,您必须使用绝对路径来指定要导入的其他 Markdown 文件。

🎛 上下文控制

使用上下文缩进和语法颜色进行可视化上下文突出显示。

上下文控制

♯ Markdown 中的上下文标记

活动上下文是通过从光标行追溯上下文缩进来确定的。 可以使用以 # Copilot Context 开头的行强制执行上下文保护。

示例: take care

如果您选择 Then say "take care". 并选择 💡 Markdown Copilot: 继续,您将得到以下输出: hellogood byetake care

示例: take care

更复杂的示例: 上下文跨越 take care 行继续。

示例: see you again

指定发言人: 您可以在行首使用特殊的 Markdown 符号来指定发言人。

Markdown意思
**User:**用户是发言人
**Copilot:**Markdown Copilot 是发言人
**System(Override):**覆盖系统消息
**System:**指定附加的系统消息

⤷ 上下文缩进

通过直观的操作简化上下文缩进级别的编辑。

选择文本并从代码操作建议中选择 💡 Markdown Copilot: 缩进上下文行💡 Markdown Copilot: 减少上下文行缩进

上下文缩进

或使用这些快捷方式:

命令Windows / LinuxMac
缩进上下文行Ctrl+Alt+L++L
减少上下文行缩进Ctrl+Alt+Shift+L+++L
上下文缩进快捷方式

📋 先决条件

🔌 提升您的 Markdown 体验

将 Markdown Copilot 与这些扩展结合使用,获得更强大的 Markdown 体验:

  • Markdown All in One: 全面的 Markdown 支持(键盘快捷键、目录、自动预览等)。
  • Snippets: 为 VS 代码中的代码片段增效 - 无需退出编辑器即可管理代码片段。
  • Markdown Preview Mermaid Support: 为 VS Code 内置的 markdown 预览添加 Mermaid 图表和流程图支持。
  • Markdown Preview Enhanced: Markdown Preview Enhanced 是一款为 Visual Studio Code 编辑器编写的超级强大的 Markdown 插件。 这款插件意在让你拥有飘逸的 Markdown 写作体验。
  • Markdown+Math: 使用 LaTeX 数学增强您的 Markdown ... 包括宏等。

🔄 更新日志

有关详细更新,请参阅 更新日志

🤝 参与其中