MarkKit
【EN】Manipulate and visualize Markdown structure: list markers (ordered/unordered/quote/custom) ⇄ ASCII Tree ⇄ Mermaid flowchart(like mindmap & simple chain syntax without learning Mermaid), and a Icons palette.
【CN】操作与可视化 markdown 结构:列表标记 ⇄ ASCII 树 ⇄ Mermaid 流程图(像思维导图, 但不用学mermiad 语言,可直接用链式语言), icon&emoji
🌟 Turn Markdown into well-structured content in seconds — Marker Tools + Structure Tools.
- Marker Tools: add / toggle / strip list markers (ordered, unordered, quote, custom prefix) on any selection — even in SQL / JS / TXT.
- Structure Tools: convert Markdown structure ⇄ ASCII tree ⇄ Mermaid flowchart — visualize hierarchy and relationships at a glance.
- Markdown Icons: click-to-copy symbol palette (emoji, arrows, math, markdown chars, …) inside the sidebar.
💡 Workflow: Write → Select → Mark → Chain the structure ↔ back to cleaner Markdown.
💡 Example: You can customize the prefix "- [ ]" for to‑do items. To express a graph without learning Mermaid, write plain chain syntax and it becomes a flowchart:
a-b-c-b-a
a-d
d-b
【中文版介绍请见底部】
30-second understanding
Open any Markdown (or SQL / JS / TXT)
↓
Select the lines you want to modify
↓
Mark them: Ordered / Unordered / Quote / Custom prefix / Delete blank line
↓
Or convert your structure to an ASCII tree (and back)
↓
Copy / Replace in place — done in seconds
MarkKit Marker Tools
│
┌─────────────┼─────────────┬───────────┐
↓ ↓ ↓ ↓
Ordered Unordered Quote Custom
│ │ │ │
1. a. i. - * + • > // -- $ # -[x]
8 formats 4 formats single any prefix you define
│
│ Numbering: auto / continuous / perBlock
↓
Apply / Toggle / Strip (layer by layer)
Markdown (unordered / ordered / heading) ⇄ ASCII Tree ⇄ Mermaid flowchart
│ │
↓ ↓
parse hierarchy copy / preview / replace
The Structure Converter panel (sidebar STRUCTURE entry) is a single three-way switch:
- Input type —
Auto by default detects whether your selection is Markdown / ASCII tree / Mermaid / graph syntax; a Manual folder lets you force one if auto-detection ever guesses wrong.
- Output type — ASCII Tree, Markdown, or Mermaid. When Markdown is chosen, pick the form you want:
- unordered list, 1. numbered list, or ## headings.
- Select text, open the converter, and it auto-fills the input; converting, previewing, and replacing the selection (single undo) work the same as before.
Why MarkKit?
Structural editing in Markdown is repetitive: typing - , 1., > by hand is slow, inconsistent, and error-prone. MarkKit solves both directions of that problem.
| Value |
What it means |
| Any text file, not just Markdown |
Line markers work in Markdown, SQL, JS, TXT — prefix lines as lists, quotes, comments, or TODO. |
| 8 ordered formats |
1. 1) 1、 ① (1) a. A. i. — switch the whole list style in one gesture. |
| 4 unordered styles |
- * + • — consistent bullets everywhere. |
| Custom prefix = your grammar |
// -- $ # or even task list - [ ] — define any marker for your own language. |
| Smart numbering |
auto / continuous / perBlock — decide how numbering behaves across blank lines. |
| Visualize hierarchy |
Convert Markdown lists or headings to an ASCII tree or a Mermaid flowchart — see the structure. |
| Express graphs in plain text |
Write A-B-C or A-B-C-A and get a flowchart TD — cycles, no Mermaid learning required. |
| Idempotent toggling |
Apply → Toggle → Strip layer by layer, preserving indentation and blank lines. |
| One-click cleanup |
Delete blank lines in the selection, single undo. |
| Symbol palettes |
Click-to-copy emoji, arrows, math, and Markdown characters — no leaving the editor. |
Core surfaces
| Surface |
Best for |
Main actions |
| Sidebar (Activity Bar) |
Configure everything |
Toggle available styles, manage prefixes, choose current formats, run Actions & Tree Tools |
| Editor context menu / lightbulb |
Instant marking |
Right-click or lightbulb to mark/unmark the selection |
| Command Palette |
Everything |
Every command is reachable here |
| Tree Converter panel |
Structure ⇄ tree |
Convert, Copy Output, Replace Selection — single undo |
Open the MarkKit icon in the Activity Bar. It has two subsections:
- Custom Prefixes & Available Styles — check which marker styles are available; add / delete custom prefixes (unchecked ones stay in the list).
- Current — pick the exact Ordered format, Unordered format, Numbering mode, and Current Prefix.
- Actions — horizontal icon buttons: Ordered → Unordered → Quote → Custom → Remove Marker → Delete Blank Lines.
- STRUCTURE — one button (
Mermaid ⇄ Markdown ⇄ ASCII Tree) opens the three-way Structure Converter, auto-filled to your selection.
| Task |
How |
| Restrict available markers |
Uncheck a style in Available Styles; it disappears from Actions & commands |
| Add a custom prefix |
Enter it, click Add; check it to make it usable, click × to delete |
| Choose ordered format |
Radio in Ordered Format (e.g. 1., 1、, a., i.) |
| Mark the selection |
Click an Actions icon, or use a shortcut |
Select lines in any text file and choose a marker:
Apple → Ordered → 1. Apple
Banana Unordered - Banana
Quote > Orange
Custom prefix // Pear (any prefix)
- Toggle applies the marker if absent, strips it if all lines already have it.
- Strip peels one layer at a time:
> - 1. Apple → - 1. Apple → 1. Apple → Apple.
- Smarter than regex: nothing false-positives (
1.5, -5, x-y, C++ are not markers).
| Direction |
Input |
Output |
| Markdown → ASCII Tree |
unordered list / ordered list / headings |
box-drawing ASCII tree |
| ASCII Tree → Markdown |
box-drawing tree |
unordered / ordered / headings |
- Handles tab/space mixing, blank lines, single nodes, nested levels.
- Use Copy Output or Replace Selection — the replacement keeps a single undo step.
- Markdown output picks its form (
- list / 1. list / ## headings) from the converter's Output Markdown style selector.
Product map
MarkKit
├─ Marker Tools (any text file)
│ ├─ Ordered (1. 1) 1、 ① (1) a. A. i.)
│ ├─ Unordered (- * + •)
│ ├─ Quote (>)
│ └─ Custom (// -- $ # - [ ] … any prefix)
│ └─ Numbering: auto / continuous / perBlock
├─ Structure Tools (Tree + Mermaid)
│ ├─ Markdown ⇄ ASCII Tree (list / ordered / heading)
│ ├─ Markdown ⇄ Mermaid (flowchart TD)
│ └─ Graph syntax A-B-C / A-B-C-A
├─ Sidebar panel
│ ├─ Available Styles + Prefixes
│ ├─ Current formats
│ ├─ STRUCTURE (three-way Structure Converter)
│ │ ├─ Input: Auto (detect) / Manual (force type)
│ │ ├─ Output: ASCII / Markdown (- 1. ##) / Mermaid
│ │ ├─ Copy text / Copy PNG / Preview / Replace
│ └─ TOOLS — Markdown Icons palette
├─ Structure Converter panel (Copy / Preview / Replace)
└─ Entry points: context menu / lightbulb / command palette / shortcuts
Keyboard shortcuts (can be customized)
Active in Markdown files with a selection (editorLangId == markdown && editorHasSelection).
| Shortcut |
Command |
Action |
Shift+Cmd+1 |
markdownStructureTools.toggleOrdered |
Toggle Ordered |
Shift+Cmd+2 |
markdownStructureTools.toggleUnordered |
Toggle Unordered |
Shift+Cmd+3 |
markdownStructureTools.toggleQuote |
Toggle Quote |
Shift+Cmd+4 |
markdownStructureTools.toggleCustom |
Toggle Custom |
Shift+Cmd+5 |
markdownStructureTools.removeMarker |
Remove Marker |
Shift+Cmd+6 |
markdownStructureTools.deleteBlankLines |
Delete Blank Lines |
Customize: Cmd+K Cmd+S → search "MarkKit", or edit keybindings.json via Preferences: Open Keyboard Shortcuts (JSON):
{
"key": "ctrl+alt+1",
"command": "markdownStructureTools.toggleOrdered",
"when": "editorLangId == markdown && editorHasSelection"
}
No Mermaid required. To draw a graph, just write the connections as plain chains:
a-b-c-b-a
a-d
d-b
Open the Structure Converter (STRUCTURE) with a chain like this selected — input Auto recognizes it and converts straight to a flowchart TD. No need to learn Mermaid.
Supported files & limitations
| Item |
Note |
| Supported files |
Any text document (Markdown, SQL, JS, TXT…); tree tools are Markdown-aware |
| Language detection |
Based on document.languageId (respects custom language associations) |
| Local-first |
No account, no backend, no cloud sync, no AI API — all local |
Feedback
Found a bug or want a feature? Open an issue in the extension repository.
MarkKit 中文说明
中文说明(附录)
🌟把 Markdown 变成结构清晰的内容只需几秒 —— Marker Tools + Tree Tools。
- Marker Tools:给任意选区行加/切/剥列表标记(有序、无序、引用、自定义前缀),Markdown / SQL / JS / TXT 都适用。
- Tree Tools:把 Markdown 结构(列表/标题)⇄ ASCII 树相互转换,一眼看清层级,一键替换。
💡工作流:写 → 选中 → 打标记 → 结构 ⇄ 树双向转换。
💡示例:你可以自定义 "- [ ]" 作为待办条目前缀。要表达图而不用学 Mermaid,直接写链式语法,即可变成 flowchart:
a-b-c-b-a
a-d
d-b
30 秒理解
打开任意 Markdown(或 SQL / JS / TXT)
↓
选中要改的行
↓
打标记:有序 / 无序 / 引用 / 自定义前缀
↓
或把结构转成 ASCII 树(反向亦然)
↓
复制 / 就地替换,几秒完成
MarkKit Marker Tools
│
┌─────────────┼─────────────┬───────────┐
↓ ↓ ↓ ↓
有序 无序 引用 自定义
│ │ │ │
1. a. i. - * + • > // -- $ # -[x]
8 种格式 4 种格式 单级 任意前缀
│
│ 编号:auto / continuous / perBlock
↓
应用 / 切换 / 逐层剥离
Markdown(无序 / 有序 / 标题) ⇄ ASCII 树 ⇄ Mermaid 流程图
│ │
↓ ↓
解析层级 复制 / 预览 / 替换
Structure Converter 面板(侧边栏 STRUCTURE 入口)三向自由切换:
- Input Type —— 默认
Auto 自动识别选区是 Markdown / ASCII 树 / Mermaid / 图语法;Manual 折叠可在误判时强制指定类型。
- Output Type —— ASCII 树、Markdown、Mermaid。选 Markdown 时再挑形式:
- 无序列表、1. 有序列表、## 标题。
- 选中文本点开即自动填充;转换、预览、替换选区(单次撤销)。
为什么值得装?
结构化编辑很重复:手打 - 、1.、> 慢、不一致、易错。MarkKit 双向解决。
| 价值 |
说明 |
| 不止 Markdown |
行标记适用于 Markdown、SQL、JS、TXT —— 给行加列表、引用、注释或 TODO |
| 8 种有序格式 |
1. 1) 1、 ① (1) a. A. i. —— 一键切换整列表样式 |
| 4 种无序样式 |
- * + • |
| 自定义前缀 = 你的语法 |
// -- $ #,甚至任务列表 - [ ] |
| 智能编号 |
auto / continuous / perBlock,空行间如何编号由你定 |
| 可视化层级 |
列表/标题 ⇄ ASCII 树 ⇄ Mermaid 流程图,一眼看清层级 |
| 纯文本表达图 |
直接写 A-B-C / A-B-C-A(或 a-b-c-b-a 多行链)就得到 flowchart TD,无需学 Mermaid |
| 符号面板 |
点即复制 emoji、箭头、数学、Markdown 字符 —— 不用离开编辑器 |
| 幂等切换 |
应用 → 切换 → 逐层剥离,保留缩进与空行 |
| 一键清理 |
删除选区空行,单次撤销 |
Product map
MarkKit
├─ Marker Tools(适用于任意文本文件)
│ ├─ 有序 (1. 1) 1、 ① (1) a. A. i.)
│ ├─ 无序 (- * + •)
│ ├─ 引用 (>)
│ └─ 自定义 (// -- $ # - [ ] … 任意前缀)
│ └─ 编号:auto / continuous / perBlock
├─ Structure Tools(Tree + Mermaid)
│ ├─ Markdown ⇄ASCII 树(无序 / 有序 / 标题)
│ ├─ Markdown ⇄ Mermaid(flowchart TD)
│ └─ 图语法 A-B-C / A-B-C-A
├─ 侧边栏面板
│ ├─ 可用样式 + 前缀
│ ├─ 当前格式
│ ├─ STRUCTURE(三向 Structure Converter)
│ └─ Actions + TOOLS(Markdown Icons)
├─ Tree Converter 面板(复制 / 就地替换)
└─ 入口:右键菜单 / 灯泡 / 命令面板 / 快捷键
核心界面
| 界面 |
适合场景 |
主要能力 |
| 侧边栏(Activity Bar) |
配置一切 |
勾选可用样式、管理前缀、选当前格式、运行 Actions 与 STRUCTURE |
| 编辑器右键 / 灯泡 |
即时打标 |
右键或灯泡给选中内容加/去标记 |
| 命令面板 |
一切操作 |
所有命令都能到达 |
| Structure Converter 面板 |
结构 ⇄ 树 ⇄ Mermaid |
转换、预览、复制、就地替换 —— 单次撤销 |
1. 侧边栏面板:配置与操作
打开 Activity Bar 的 MarkKit 图标,含两个子项:
- Custom Prefixes & Available Styles —— 勾选可用标记样式;增删自定义前缀(取消勾选的前缀仍留在列表)。
- Current —— 选具体的有序格式、无序格式、编号模式、当前前缀。
- Actions —— 水平图标按钮:有序 → 无序 → 引用 → 自定义 → 移除标记 → 删除空行。
- STRUCTURE —— 单按钮(
Mermaid ⇄ Markdown ⇄ ASCII Tree)打开三向 Structure Converter,自动填入当前选区。
| 任务 |
用法 |
| 收紧可用标记 |
在 Available Styles 取消勾选,Actions 与命令里随即消失 |
| 加自定义前缀 |
输入后点 Add;勾选使其可用,点 × 删除 |
| 选有序格式 |
Ordered Format 里的单选项(如 1.、1、、a.、i.) |
| 给选区打标 |
点 Actions 图标,或用快捷键 |
任意文本文件选中行后选一种标记:
Apple → 有序 → 1. Apple
Banana 无序 - Banana
引用 > Orange
自定义前缀 // Pear
- 切换=没有就加,全有就剥。
- 剥离=逐层去掉:
> - 1. Apple → - 1. Apple → 1. Apple → Apple。
- 智能识别,不误判:
1.5、-5、x-y、C++ 都不是标记。
| 方向 |
输入 |
输出 |
| Markdown → ASCII 树 |
无序列表 / 有序列表 / 标题 |
制表符 ASCII 树 |
| ASCII 树 → Markdown |
制表符树 |
无序 / 有序 / 标题 |
- 兼容 Tab/空格混用、空行、单节点、多层嵌套。
- 复制输出或就地替换,替换保持单次撤销。
快捷键(可自定义)
仅在有选中的 Markdown 文件生效(editorLangId == markdown && editorHasSelection)。
| 快捷键 |
命令 |
动作 |
Shift+Cmd+1 |
markdownStructureTools.toggleOrdered |
切换有序 |
Shift+Cmd+2 |
markdownStructureTools.toggleUnordered |
切换无序 |
Shift+Cmd+3 |
markdownStructureTools.toggleQuote |
切换引用 |
Shift+Cmd+4 |
markdownStructureTools.toggleCustom |
切换自定义 |
Shift+Cmd+5 |
markdownStructureTools.removeMarker |
移除标记 |
Shift+Cmd+6 |
markdownStructureTools.deleteBlankLines |
删除空行 |
自定义:Cmd+K Cmd+S → 搜 "MarkKit",或改 keybindings.json。
无需学 Mermaid。 要画图,直接写连接即可(纯链式语法):
a-b-c-b-a
a-d
d-b
选中这段链式语法,打开 Structure Converter(STRUCTURE 入口)——input Auto 自动识别,直接转成 flowchart TD。