Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>OneNote Clipper for VSCodeNew to Visual Studio Code? Get it now.
OneNote Clipper for VSCode

OneNote Clipper for VSCode

fuwuxinzhong

|
3 installs
| (0) | Free
将代码片段或文件内容发送到OneNote
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OneNote Clipper for VSCode

一个功能强大的VSCode扩展,可以方便地将代码、文件、图片发送到Microsoft OneNote。

✨ 功能特性

核心功能

  • ✅ 发送选中代码片段 - 选中代码后一键发送
  • ✅ 发送整个文件 - 发送完整文件内容
  • ✅ 批量发送多个文件 - 一次性发送多个文件
  • ✅ 发送Markdown - 将Markdown渲染为HTML后发送
  • ✅ 自定义页面标题 - 为每个页面设置标题
  • ✅ 标签支持 - 为页面添加彩色标签
  • ✅ 记住最近目标 - 自动记住上次使用的笔记本/分区

高级功能

  • ✅ 批量发送模式 - 合并到一个页面或分开多个页面
  • ✅ 代码高亮主题 - 6种代码高亮主题可选
  • ✅ 最近目标快速选择 - 默认使用上次的笔记本/分区
  • ✅ Markdown渲染 - 支持基础Markdown语法
  • ✅ OAuth2认证 - 安全的Microsoft账户登录
  • ✅ 完全本地运行 - 不经过任何中间服务器

🚀 快速开始

安装

  1. 在VSCode中按 F5 启动扩展开发主机进行测试
  2. 或者打包安装:
    npm install
    npm run compile
    vsce package
    
    然后在VSCode中安装生成的 .vsix 文件

首次使用

  1. 登录Microsoft账户

    • 按 Ctrl+Shift+P 打开命令面板
    • 输入 "OneNote" 并选择 "登录Microsoft账户"
    • 在浏览器中完成授权
  2. 发送内容到OneNote

    • 选中代码:选中代码后按 Ctrl+Alt+O
    • 整个文件:按 Ctrl+Shift+Alt+O
    • 批量文件:按 Ctrl+Shift+Alt+M
    • Markdown文件:打开.md文件 → 右键 → "发送Markdown到OneNote"

⌨️ 快捷键

功能 Windows/Linux Mac 说明
发送选中代码 Ctrl+Alt+O Cmd+Alt+O 需要选中代码
发送整个文件 Ctrl+Shift+Alt+O Cmd+Shift+Alt+O 发送当前文件
批量发送文件 Ctrl+Shift+Alt+M Cmd+Shift+Alt+M 选择多个文件发送
发送Markdown Ctrl+Shift+Alt+I Cmd+Shift+Alt+I 发送Markdown文件

📖 详细使用指南

发送代码片段

  1. 在编辑器中选中要发送的代码
  2. 按 Ctrl+Alt+O 或右键选择 "发送选中内容到OneNote"
  3. 输入页面标题(可选)
  4. 输入标签(用逗号分隔,可选)
  5. 选择笔记本和分区
  6. 完成!代码已发送到OneNote

发送整个文件

  1. 打开要发送的文件
  2. 按 Ctrl+Shift+Alt+O 或右键选择 "发送整个文件到OneNote"
  3. 输入页面标题(可选)
  4. 输入标签(可选)
  5. 选择笔记本和分区
  6. 完成!文件已发送到OneNote

批量发送多个文件

  1. 按 Ctrl+Shift+Alt+M 或从命令面板选择 "批量发送文件到OneNote"
  2. 在弹出的文件选择对话框中选择多个文件(按住Ctrl或Shift多选)
  3. 输入批量标题前缀(可选)
  4. 选择发送方式:
    • 合并到一个页面:所有文件内容合并到一个OneNote页面
    • 分开多个页面:每个文件创建一个独立的OneNote页面
  5. 选择笔记本和分区
  6. 完成!文件已批量发送到OneNote

发送Markdown文件

将Markdown文件渲染为HTML后发送到OneNote,保持格式和样式。使用强大的 markdown-it 渲染引擎,支持完整的Markdown语法。

方式1:右键菜单(推荐)

  1. 打开要发送的Markdown文件(.md 或 .markdown)
  2. 在编辑器中右键点击
  3. 选择 "发送Markdown到OneNote"
  4. 输入页面标题(可选,默认为文件名)
  5. 输入标签(可选,用逗号分隔)
  6. 选择笔记本和分区
  7. 完成!Markdown已渲染并发送到OneNote

方式2:命令面板

  1. 打开Markdown文件
  2. 按 Ctrl+Shift+P 打开命令面板
  3. 输入 "OneNote" 并选择 "发送Markdown到OneNote"
  4. 输入页面标题(可选)
  5. 输入标签(可选)
  6. 选择笔记本和分区
  7. 完成!

方式3:快捷键

  1. 打开Markdown文件
  2. 按 Ctrl+Shift+Alt+I
  3. 输入页面标题(可选)
  4. 输入标签(可选)
  5. 选择笔记本和分区
  6. 完成!

支持的Markdown语法(使用markdown-it渲染引擎):

  • ✅ 标题(#、##、###,支持多级)
  • ✅ 粗体(text)和斜体(text)
  • ✅ 行内代码(code)和代码块(code,支持语法高亮)
  • ✅ 链接(text)和图片(alt)
  • ✅ 列表(* item、- item、1. item,支持嵌套)
  • ✅ 引用块(> quote)
  • ✅ 水平线(---)
  • ✅ 表格(| Header | Header |)
  • ✅ 删除线(~~text~~)
  • ✅ 任务列表(- [x] task)
  • ✅ 所有HTML标签(如果启用)

渲染特性:

  • 符合CommonMark规范
  • 支持表格、任务列表等扩展语法
  • 代码块支持语法高亮
  • 自动转换URL为链接
  • 智能排版(引号、连字符等)

添加标签

在发送内容时,可以在输入框中输入标签(用逗号分隔),例如:

重要,待办,代码片段,API文档

标签会以彩色样式显示在OneNote页面的底部,方便分类和查找。

使用最近的目标

扩展会自动记住你上次使用的笔记本和分区:

  1. 当你发送内容时,会显示 "最近使用: 笔记本名 > 分区名" 的选项
  2. 直接按 Enter 或点击该选项,即可快速使用上次的目标
  3. 按 ESC 或选择 "选择新的目标",可以重新选择

这个功能可以大大提高效率,避免重复选择相同的笔记本和分区。

代码高亮主题

在VSCode设置中配置代码高亮主题:

{
  "onenote.codeHighlightTheme": "monokai"
}

可选主题:

  • default - 默认主题
  • github - GitHub风格
  • monokai - Monokai深色主题
  • vs-dark - VS Code深色主题
  • vs-light - VS Code浅色主题
  • atom-one-dark - Atom One Dark主题

⚙️ 配置选项

在VSCode设置中搜索 "OneNote" 进行配置:

配置项 类型 默认值 说明
onenote.clientId string 公共Client ID Azure应用Client ID(通常不需要修改)
onenote.defaultNotebook string "" 默认笔记本名称
onenote.defaultSection string "" 默认分区名称
onenote.codeHighlightTheme string "default" 代码高亮主题
onenote.enableTags boolean true 发送时是否启用标签输入(如果禁用,将跳过标签输入步骤)
onenote.createNewPage boolean true 是否创建新页面

🔒 隐私与安全

  • 完全本地运行:所有数据直接传输到Microsoft OneNote,不经过任何第三方服务器
  • OAuth2认证:使用安全的PKCE认证流程,不需要client_secret
  • 无数据收集:不收集任何用户数据或遥测信息
  • 令牌自动刷新:访问令牌过期后自动刷新,无需重复登录

🛠️ 开发说明

创建Azure应用(开发者)

如果你要自己构建和发布这个扩展,需要在Azure Portal创建应用:

  1. 访问 Azure Portal
  2. 注册新应用:
    • Name: OneNote Clipper Public
    • Supported account types: Accounts in any organizational directory and personal Microsoft accounts
    • Redirect URI: Mobile and desktop applications → http://localhost:8080/callback
  3. 在 "Authentication" 中启用 "Allow public client flows"
  4. 在 "API permissions" 中添加:
    • Notes.ReadWrite
    • offline_access
  5. 复制 "Application (client) ID" 并更新到 src/config.ts

编译

npm install
npm run compile

打包

npm install -g @vscode/vsce
vsce package

📄 许可证

MIT License

🤝 贡献

欢迎提交Issue和Pull Request!

🐛 故障排除

登录失败

问题:AADSTS70002: The provided request must include a 'client_secret'

原因:Azure应用没有正确配置为公共客户端

解决:

  1. 在Azure Portal中打开应用
  2. 进入 "Authentication"
  3. 勾选 "Allow public client flows"
  4. 确保 "Platform configurations" 中有 "Mobile and desktop applications"
  5. 等待2-3分钟后重试

获取笔记本失败

问题:Could not find a property named 'name'

原因:OneNote API使用 displayName 而不是 name

解决:更新到最新版本

图片发送失败

问题:无法读取图片文件

原因:图片文件路径错误或文件损坏

解决:确保图片文件存在且格式正确

📞 支持

如有问题,请在GitHub提交Issue。


享受使用 OneNote Clipper 吧! 🎉

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft