[发布] 在 VS Code 写 Org-mode 的简单预览扩展,欢迎试用和反馈

:link: 链接


由于我越来越依赖 Cursor 的 AI 功能进行日常开发,因此希望在 VS Code/Cursor 中实现 org-mode 的顺利编辑能力。这就是我开发 VOrg 的初衷——在 org-mode 强大的笔记结构与 Cursor 提供的现代 AI 辅助编辑体验之间搭建桥梁。最近把自己用来写笔记的小工具整理成了一个 VS Code 扩展:VOrg。它不是要"复刻" Emacs 的 Org-mode,而是尽量在 VS Code 里把常用的基础功能做得可用、顺手,重点放在预览体验和一些 org-like 的编辑辅助上。相比 Emacs 中的 org-mode,VOrg 的一个优势是提供了实时预览和预览窗口跟随编辑器滚动的功能,让编辑和预览体验更加流畅。发出来给也在 VS Code 写 Org 的朋友看看,欢迎随便试用、提意见,别客气。

:sparkles: 它能做的

  • 实时预览 + 滚动同步:编辑器和预览窗口同步滚动

  • 语法高亮:标题、TODO、列表、表格、代码块、链接、时间戳等

  • 文档大纲:自动解析结构,提供完整的 Outline 导航

  • 链接跳转:支持多种链接类型(id: 全局ID、文件链接、网页链接、同文件标题跳转等)

  • org-like 编辑功能

    • 智能 Meta Return(上下文感知插入)

    • Tab 智能折叠(标题、列表、代码块、Property 抽屉等)

    • Property 抽屉管理

    • TODO 状态切换

    • TODO 关键字可配置(支持 @/! 记录)

:cross_mark: 它暂时不做的

  • 不追求完全还原 Emacs Org-mode 的所有行为和快捷键

  • 高阶工作流(refile、复杂 agenda、树操作等)还在路线图里

:bullseye: 可能适合

  • 日常在 VS Code 里写 .org 文件,想要一个够用的预览和基础编辑体验

  • 偶尔需要从 Emacs 之外快速浏览/编辑 Org 文档的场景

:red_question_mark: 可能不适合

  • 重度依赖 Org-mode 完整工作流的同学(因为实现还比较“克制”)

:keyboard: 几个常用的快捷键

  • 预览Ctrl+C Ctrl+E(类似 Emacs C-c C-e

  • 跟随链接Ctrl+C Ctrl+O(类似 Emacs C-c C-o

  • 插入 TODO 标题Shift+Alt+Enter

  • 切换 TODO 状态Ctrl+C Ctrl+T(类似 Emacs C-c C-t

  • 智能插入新元素(Meta Return):Alt+Enter 和 (Ctrl Return):Ctrl+Enter

  • Tab 折叠/展开Tab / Shift+Tab

:test_tube: 欢迎反馈

这是个人项目,测试场景有限。如果你在使用过程中遇到问题、有改进建议,或者发现 bug,欢迎:

所有反馈都会认真查看和处理!


如果你日常中主要是 VS Code 系的 IDE,那么希望能帮助你实现在 VS Code 中写 .org 文件的顺畅体验。如果不合适,也请随手告诉我哪里不顺手。我会根据反馈持续改进。谢谢!

7 个赞

希望能增加“预览并保存为 HTML”的功能,并支持通过 CSS 进行渲染。

非常感谢!

已支持 html 预览导出

同时预览页面也添加了导出按钮

自定义 css 暂时不支持,有空我再处理吧

3 个赞

最近更新到 0.0.7 了,新增了不少功能

VOrg 0.0.4 - 0.0.7 新功能总览

:memo: 智能列表编辑(类似 Emacs M-RET

支持 Emacs Org-mode 的列表编辑快捷键:

  • Alt+Enter (Meta Return):在列表中插入新项目,自动保持缩进和格式

  • Ctrl+Alt+Enter (Smart Return):在列表末尾插入新项目

  • Ctrl+Enter (Ctrl Return):分割当前行,适合在列表项中换行

提升列表编辑效率,无需手动调整缩进。

:bar_chart: 标题层级操作(类似 Emacs org-promote-subtree / org-demote-subtree

支持调整标题层级:

  • 升级子树Ctrl+C Ctrl+Shift+,,减少整个子树的标题级别

  • 降级子树Ctrl+C Ctrl+Shift+.,增加整个子树的标题级别

  • CodeLens 按钮:标题行显示 Promote/Demote 按钮,一键调整层级

保持子树内相对层级关系,便于重构文档结构。

:link: ID 链接自动补全(类似 Emacs org-insert-link

输入 [[ 时自动触发补全:

  • 显示所有可用的 ID 链接(包括文件级别的 property ID)

  • 支持模糊搜索,快速定位目标

  • 选择后自动插入 [[id:UUID][标题]] 格式

减少手动输入,提升链接创建效率。

:magnifying_glass_tilted_left: 工作区符号搜索(类似 Emacs helm-org-ql / org-ql

在整个工作区中搜索 Org-mode 符号:

  • 快捷键Cmd+T (Mac) 或 Ctrl+T (Windows/Linux)

  • 支持模糊搜索,可搜索工作区中所有 .org 文件的标题

  • 显示标题层级和 TODO 状态

  • 快速跳转到目标位置

便于在大型项目中快速定位内容。

:high_voltage: 上下文操作(类似 Emacs C-c C-c

实现上下文相关操作:

  • 复选框状态切换:在复选框上使用 Ctrl+C Ctrl+C 切换状态

  • 未完成 ↔ 完成 ↔ 部分完成

  • 可扩展架构,为后续功能(TODO 状态切换、时间戳等)预留空间

提供与 Emacs Org-mode 一致的上下文操作体验。

:page_facing_up: HTML 导出(类似 Emacs org-html-export-to-html

支持将预览内容导出为 HTML 文件:

  • 一键导出当前预览内容

  • 保持格式和样式

  • 便于分享和存档