KityMinder Neo
English | 简体中文
A VS Code extension for viewing and editing fex-team/kityminder .km mindmap files, including files from 百度脑图. KityMinder Neo opens .km files in the visual mindmap editor by default while preserving VS Code's built-in JSON diff and merge views.
It also imports .xmind files and converts them to .km, and can export visual-editor maps as .png, .svg, or .xmind.
Screenshots


Features
- Open
.km files in the visual mindmap editor by default.
- Preserve readable JSON diffs for Source Control and compare views.
- Open a
.km file with the mindmap editor from Explorer, the editor title menu, or the Command Palette.
- Add child, sibling, and parent nodes; delete nodes and subtrees.
- Inline-edit node titles, or edit the selected node title from the node properties panel.
- Drag nodes to reorder them or move them under another parent.
- Copy, cut, and paste subtrees, including across files; plain text paste creates a child node.
- Switch between mind map, right-expand, and org chart layouts.
- Expand or collapse the selected node, expand all, or expand to level 1, 2, or 3.
- Zoom in, zoom out, center content, fit to canvas, or use a readable zoom.
- Search node titles and notes; matching collapsed ancestors are expanded automatically.
- Edit Markdown notes in the node properties panel.
- Show note badges on nodes and render note previews through a safer Markdown path.
- Open the current
.km source JSON from the visual editor.
- Export from the visual editor as PNG, SVG, or XMind.
- Undo and redo up to 50 editing steps.
- Import
.xmind archives, with warnings for unsupported XMind features.
- Validate
.km and .xmind inputs with size, node-count, and depth limits.
- Normalize saved expand state to reduce noisy git diffs when desired.
Installation
Requires VS Code 1.129.0 or later.
Search for KityMinder Neo in the VS Code Extensions panel, or install from the command line:
code --install-extension whynpc9.vscode-kityminder-neo
Quick Start
- Open a
.km file to launch the visual mindmap editor. To edit the raw JSON, run KityMinder Neo: Open KM Source JSON.
- You can also launch the visual editor from these entry points:
- Explorer context menu: right-click a
.km file and choose Open Mindmap Editor.
- Editor title context menu: choose Open Mindmap Editor.
- Command Palette: run KityMinder Neo: Open Mindmap Editor.
- Select a node by clicking it. Use the node properties panel to edit its title and Markdown note.
- Double-click a node, or press
F2, to edit its title inline.
- Press
Tab to add a child node, or Enter to add a sibling node.
- Import XMind from Explorer by right-clicking a
.xmind file and choosing Import XMind to KM.
- Export from the visual editor with the download button; PNG and SVG exports can use transparent, white, or custom hex backgrounds.
If an existing user or workspace workbench.editorAssociations setting maps *.km to default, remove that entry to use the new default mindmap editor. The right-click Open Mindmap Editor command remains available, but is no longer required for normal file opening.
Diff Behavior
VS Code 1.129 and later separate the default custom editor from diff and merge editors. KityMinder Neo uses the visual editor for normal file navigation and the built-in text editors for diffs and merges, unless you explicitly override the diff editor association.
- Opening
.km files from Source Control keeps the standard JSON diff view.
- Opening
.km files from regular file navigation uses the mindmap editor by default. You can use Reopen Editor With… → Text Editor to edit the JSON.
- If the custom editor is asked to resolve a git virtual document or an active text diff side, it falls back to the plain text editor.
Keyboard Shortcuts
Node shortcuts apply on the canvas. Text fields keep native text editing keys,
and focused buttons keep Enter/Space activation and Tab navigation. Shift+Tab
moves focus backward without adding a node. In search, Enter/Shift+Enter moves
between results and Escape returns focus to the canvas. Title and note fields
use the document undo/redo history; search text uses native text undo/redo.
| Shortcut |
Action |
Tab |
Add child node and start editing |
Enter |
Add sibling node and start editing |
Delete / Backspace |
Delete selected node and subtree |
F2 |
Enter inline title edit |
Escape |
Cancel edit, close search, or close the node panel |
Space |
Toggle expand or collapse |
| Arrow keys |
Navigate between nodes |
Alt+Up / Alt+Down |
Reorder among siblings |
Ctrl/Cmd+C |
Copy selected subtree |
Ctrl/Cmd+X |
Cut selected subtree |
Ctrl/Cmd+V |
Paste as child |
Ctrl/Cmd+Z |
Undo |
Ctrl/Cmd+Shift+Z |
Redo |
Ctrl/Cmd+Y |
Redo |
Ctrl/Cmd+F |
Search titles and notes |
= or + |
Zoom in |
- |
Zoom out |
0 |
Fit to canvas |
1 |
Readable view |
Zoom uses bare keys because VS Code owns Ctrl/Cmd+=, -, 0, and 1
(window zoom and sidebar/editor-group focus); the workbench would otherwise
zoom the whole UI or steal focus when the canvas handles them.
Configuration
| Setting |
Default |
Description |
kityminderNeo.saveExpandState |
preserve |
Controls how node expand and collapse state is written when saving .km files. |
saveExpandState values:
| Value |
Behavior |
preserve |
Keep the current expand and collapse state. |
expandAll |
Save as fully expanded by removing expandState. |
level1 |
Save with nodes expanded through level 1. |
level2 |
Save with nodes expanded through level 2. |
level3 |
Save with nodes expanded through level 3. |
Values other than preserve only normalize the saved JSON. You can still expand and collapse freely while editing.
Development
npm install
npm run build
Press F5 in VS Code to launch an Extension Development Host.
Run the main checks:
npm run check
node scripts/run-webview-keyboard-browser-test.mjs
node scripts/run-undo-redo-browser-test.mjs
Packaging
Create a local VSIX:
npm run package
Publish to the Visual Studio Marketplace:
npm run publish:vsce
This assumes the publisher is already created and vsce is logged in.
License
MIT