内容
# 开发笔记
▎ 随处粘贴的笔记。
问题不在于开发者不记录文档,而在于没有一个好的地方可以存放这些文档。仓库根目录下的 Markdown 文件会积累并被忽略。代码注释无法容纳截图。外部应用程序不了解你的代码库。
开发笔记(DevNotes)正是为了解决这个痛点而设计的:笔记链接到特定的文件和行,组织成分支,存储在代码旁边,并与团队成员选择性地共享,并且始终在侧边栏中可见。
由于开发笔记也是一个 MCP 服务器,像 Claude Code 这样的 AI 助手可以直接访问这些上下文,而无需将笔记复制到每次对话中。
---
> **测试版**
>
> 开发笔记目前处于测试阶段,积极寻求来自独立开发者和团队的反馈。在公开发布之前,如果您遇到错误、意外行为或有改进建议,请 [提交问题](https://github.com/hibachaabnia/devnotes/issues)。您的报告将直接影响产品的最终形态。
>
> 测试重点领域:
> - **独立使用** — 笔记创建、代码链接、提醒、标签、内联编辑器
> - **团队使用** — 共享笔记、Git 冲突解决、活动动态、GitHub 集成
---
## 功能
**笔记**
- 侧边栏卡片视图,支持内联编辑和 Markdown 预览
- 完整的富文本编辑器,支持表格、图片、任务列表、代码块等
- 任意位置快速捕获笔记,自动链接到当前 `文件:行`
- 笔记支持复制、存档、标记和批量管理
**代码链接**
- 将任意笔记附加到工作空间中的特定文件和行
- gutter 标志显示哪些行有链接的笔记
- 鼠标悬停显示笔记标题
- 状态栏显示当前文件中链接的笔记
- 当文件在 VS Code 中重命名时,代码链接自动更新
**组织**
- 自定义标签,支持颜色和图标
- 分支范围内的笔记,仅在相关 Git 分支上显示
- 提醒,支持逾期指示器
- 按标签、分支和存档状态搜索和筛选
**团队**
- 笔记默认私有,可选择共享给团队成员
- Git 冲突解决面板,支持保留、放弃和合并更改
- 活动动态显示最近的笔记更改
**集成**
- GitHub:通过 OAuth 连接,链接笔记到问题或拉取请求
- Claude Code:注册开发笔记为 MCP 服务器,实现无缝交互
**导出**
- 将笔记导出为自包含的 HTML 文件
- 将笔记复制为 Markdown,粘贴到 Slack、Notion、GitHub 等
---
## 快速入门
1. 在 VS Code 中打开一个工作空间文件夹。
2. 点击活动栏中的开发笔记图标。
3. 按 `Ctrl+Alt+Q` (Mac 上为 `Cmd+Alt+Q`)创建第一个笔记。如果编辑器处于焦点,笔记将自动链接到当前文件和行。
4. 使用侧边栏查看、筛选和编辑笔记。
---
## 核心工作流程
### 创建笔记
笔记可以从三个地方创建:
- **快速捕获** — 在任意位置按 `Ctrl+Alt+Q`。提示输入标题、模板和分支范围。如果编辑器处于活动状态,笔记将自动链接到当前文件和行。
- **侧边栏** — 点击 "+" 按钮直接在侧边栏中创建笔记。
- **命令面板** — 运行 `DevNotes: Add DevNote Here`。
### 富文本编辑器
点击侧边栏卡片上的“在编辑器中打开”,即可打开完整的编辑器。支持:
- 标题、粗体、斜体、删除线、内联代码
- 有序和无序列表、任务列表
- 表格
- 代码块
- 图片
### 链接笔记到代码
当从编辑器中使用 `Ctrl+Alt+Q` 创建笔记时,开发笔记会存储当前 `文件:行` 与笔记。你也可以稍后从侧边栏卡片的溢出菜单添加或删除代码链接。
一旦笔记有代码链接:
- 链接行上出现 gutter 标志。
- 鼠标悬停显示笔记标题。
- 状态栏显示链接到活动文件的笔记数。
### 模板
开发笔记提供六个内置模板:
| 模板 | 标签 | 内容 |
|---|---|---|
| 错误报告 | Bug | 重现步骤、预期和实际行为、环境 |
| 架构决策记录 | Reference | 背景、决策、后果 |
| 会议笔记 | Meeting | 参会人员、决策、行动项 |
| 站立会议 | Todo | 已完成、进行中、阻塞 |
| 功能规格 | Idea | 目标、验收标准、开放问题 |
| 代码审查 | Reference | 检查内容、发现、决策 |
自定义模板可以从侧边栏设置面板添加。
---
## 保持笔记有序
### 分支范围
创建笔记时,开发笔记会检测当前 Git 分支,并提供作用域到该分支的选项。分支范围内的笔记仅在相关分支上显示。
侧边栏标题中的分支筛选器可以将视图限制为仅当前分支的笔记。
### 提醒
在任何笔记上设置提醒日期和时间。 当提醒到期时:
- 状态栏显示逾期指示器。
- 触发通知,并提供打开笔记的选项。
### 标记和存档
标记重要笔记以将其固定在侧边栏顶部。 存档不再需要采取行动的笔记,但不删除它们 — 存档的笔记在主视图中隐藏,但可以通过存档筛选器访问。
### 团队功能
#### 共享笔记
所有笔记默认存储在 `.devnotes/` 中,并被 Git 忽略。 要共享笔记,请在溢出菜单中切换“共享此笔记”。 开发笔记为该特定文件添加了 `.devnotes/.gitignore` 例外 — 团队成员在下次拉取时看到它。
共享笔记像其他文件一样被提交和差异化。 `.gitignore` 和 `tags.json` 文件在共享第一个笔记时也会被取消忽略,以便自定义标签定义和共享规则自动传播到团队。
#### 冲突解决
如果共享笔记收到冲突的编辑(例如,两个开发人员在不同的分支上编辑它并合并),开发笔记会检测 Git 冲突标记并显示一个具有三个选项的解决面板:
- **保留我的更改** — 放弃传入的更改。
- **保留他们的更改** — 放弃您的更改。
- **合并两者** — 联合标签并连接内容。 自定义合并编辑器允许您在确认之前调整结果。
当拉取后检测到新冲突的笔记时,会自动触发通知。
#### 活动动态
活动面板(位于侧边栏的笔记面板下方)列出所有贡献者最近的笔记更改 — 您、队友和 Claude Code。 每个条目显示谁进行了更改、影响了哪个笔记以及何时更改。 点击条目在编辑器中打开该笔记。
仅当有共享笔记活动要显示时,活动动态才会出现。
---
## GitHub 集成
从侧边栏设置面板连接 GitHub 帐户。 开发笔记使用 VS Code 内置的 GitHub 身份验证 — 无需个人访问令牌。
连接后:
- **链接拉取请求** — 粘贴 GitHub 拉取请求 URL 以将其附加到笔记。 开发笔记获取拉取请求标题和状态(打开、合并、关闭)并在侧边栏卡片上显示它们。
- **创建问题** — 直接从溢出菜单将笔记转换为 GitHub 问题。 笔记标题和内容成为问题标题和正文。
- 当您刷新侧边栏时,链接的问题和拉取请求状态会更新。
GitHub令牌存储在 `.devnotes/.github-token` 中,该令牌始终被 Git 忽略。
---
## Claude Code / MCP
开发笔记可以注册为 MCP 服务器,以便 Claude Code 可以与您的笔记交互。
**注册:**
1. 打开命令面板并运行 `DevNotes: Connect to Claude Code (Register MCP Server)`。
2. 重启 Claude Code。
注册后,Claude Code 可以列出笔记、读取笔记内容、创建新笔记、更新现有笔记、追加笔记、完成待办事项、搜索等 — 所有操作无需离开聊天。
Claude Code 所做的更改会在活动动态中记录,这样您可以看到添加或修改了什么。
---
## 快捷键
| 快捷键 | 操作 |
|---|---|
| `Ctrl+Alt+Q` / `Cmd+Alt+Q` | 快速捕获 — 创建链接到当前文件:行的笔记 |
所有其他操作均可从侧边栏和命令面板(前缀为 `DevNotes:`)访问。
---
## 从源代码构建
```bash
git clone https://github.com/hibachaabnia/devnotes.git
cd devnotes
npm install
npm run compile # TypeScript + webview bundles
```
在 VS Code 中按 `F5` 启动扩展开发主机并加载开发笔记。
要监听 TypeScript 更改:
```bash
npm run watch
```
webview 包(`media/editor.js`、`media/sidebar-editor.js`)必须在更改 `src/webview/` 下的文件后手动重建:
```bash
npm run build:webview
```
---
## 许可证
AGPL-3.0 — 请参阅 [LICENSE](LICENSE) 以获取详细信息。