A VSCode extension that provides quick access to common Markdown editing operations via the context menu.
Features
Table
| Command | Description |
|---|---|
| Align | Format table columns with aligned widths |
| Paste as Table | Insert clipboard TSV as a new table |
| Paste as Cell | Paste clipboard TSV into cells |
| Paste Multiline into Cell | Paste with newlines converted to <br /> |
| Copy Table Values | Copy the entire table as tab-separated values |
| Copy Cell Values | Copy selected cell values as tab-separated values |
| Clear Cell Values | Clear selected cell values |
| Move Columns Right | Move selected column(s) one step to the right |
| Move Columns Left | Move selected column(s) one step to the left |
| Delete Column | Delete the column(s) at cursor or selection |
| Insert Column Right | Insert an empty column to the right of the cursor column |
| Insert Column Left | Insert an empty column to the left of the cursor column |
Toggle
| Command | Shortcut | Description |
|---|---|---|
| Toggle Checkbox | Alt+T | Add/remove checklist marker - [ ] |
| Toggle List | Alt+L | Add/remove list marker - |
| Toggle Done | Alt+. | Toggle - [x] done state |
| Toggle Heading 1--6 | Alt+1--6 | Add/remove heading # markers |
| Toggle Quote | Alt+Q / Cmd+Shift+9 | Add/remove blockquote > marker |
| Toggle Highlight | Cmd+Shift+M | Add/remove highlight on selected text. Removes marker when cursor is inside a span (no selection needed). If selection is partially inside a span, removes the entire span and expands the selection. Normalizes style before toggling if it differs from the setting. |
Format
| Command | Description |
|---|---|
| Add Line Break | Append two trailing spaces (line break marker) to lines |
| Indent (2-space) | Indent by 2 spaces |
| Unindent (2-space) | Unindent by 2 spaces |
| Convert Indent (2 to 4-space) | Re-indent from 2-space units to 4-space units |
| Convert Indent (4 to 2-space) | Re-indent from 4-space units to 2-space units |
| Tabify (from 4-space) | Convert 4-space indents to tabs |
| Expand Tab (to 4-space) | Expand tabs to 4 spaces |
| Insert Tab | Insert a tab character (Alt+V then Tab) |
Copy
| Command | Description |
|---|---|
| Copy with Quote Marks | Copy selected text with > prefix on each line |
| Copy Plain Text | Copy selected text as plain text |
Paste
| Command | Description |
|---|---|
| Paste as Markdown Link | Insert clipboard URL in Markdown link format. Uses selected text as the link title if present, otherwise uses the URL itself |
| Enable Paste as Markdown Link... | Toggle whether Ctrl+V is overridden as the default paste action |
Windows only: When a URL is copied from Edge or another browser, Ctrl+V paste widget gains a "Paste as Markdown Link" option that inserts it as a Markdown link with the page title. Not supported on macOS.
Convert
| Command | Description |
|---|---|
| TSV to Table | Convert TSV text to a Markdown table |
| List to Tree | Convert an indented list to tree format (├── / └──) |
| Tree to List | Convert tree format back to an indented list (4-space) |
Convert (Misc)
Workflow-specific conversions. Each pair supports round-trip conversion.
| Command | Description |
|---|---|
| Table to List (Two-Column) | 2-column table → indented list (column 2 split by <br/>) |
| List to Table (Two-Column) | Indented list → 2-column table (children joined with <br/>). Headers: Key / Value |
| Table to List (Multi-Column) | Multi-column table → indented list (Header : Value format) |
| List to Table (Multi-Column) | Indented list → multi-column table (columns derived from Header : Value entries) |
Explorer Check
Right-click a file or folder in the Explorer → Markdown Doc Toolset. Results appear in the Problems panel, which opens automatically when issues are found.
| Command | Description |
|---|---|
| Check : Missing Final Newline | Detect files that do not end with a newline |
| Check : Line Endings (non-LF) | Detect files containing CR+LF, CR-only, or mixed line endings |
| Check : Encoding (non-UTF-8) | Detect files with a BOM or invalid UTF-8 byte sequences |
| Check : NBSP (U+00A0) | Detect files containing non-breaking spaces (U+00A0) |
| Check : Non-ASCII | Detect files containing characters outside the ASCII range |
| Check : Broken Links (Markdown) | Detect broken file/folder links in .md / .mdx files |
| Check : NFC Normalization | Detect files containing non-NFC characters (e.g., NFD dakuten) |
| Check : Clear All Issues | Clear all check results from the Problems panel |
Folder mode: subdirectories are scanned recursively. NBSP / Non-ASCII report the first occurrence per file; all other checks report all occurrences.
| Command | Description |
|---|---|
| Normalize Date Prefix | Rename yyyymmdd-prefixed files and folders to yyyy-mm-dd- format (Docusaurus standard) |
File Path
| Command | Description |
|---|---|
| Open in Associated App | Open the path at cursor with the OS-associated application |
| Reveal in Explorer | Reveal the path in the file explorer. Files are highlighted in their parent folder; folders are opened directly. |
Path detection order: selected text → inside Markdown link (path) → word-like string at cursor. Relative paths are resolved from the current file's directory.
Settings
| Setting | Default | Description |
|---|---|---|
markdownDocToolset.separatorStyle |
compact |
Separator row style: padded (| --- |) or compact (|---|) |
markdownDocToolset.autoAlignAfterEdit |
true |
Automatically run Table Align after Paste / Clear / Move operations |
markdownDocToolset.alignHeaderStyle |
column |
Header row alignment: column (follow column setting) / left / center |
markdownDocToolset.ambiguousCharWidthGeometric |
wide |
Width of Arrows / Math / Box Drawing / Geometric Shapes (U+2190--25FF: ⇔ ← ◎ △ ■ etc.): wide (2) / narrow (1) |
markdownDocToolset.ambiguousCharWidthSymbol |
wide |
Width of Misc Symbols / Dingbats (U+2600–27BF: ★ ☆ ☀ etc.): wide (2) / narrow (1) |
Font configuration guide (set via Table > Ambiguous Char Width...)
| Font | Geometric (◎△) | Symbol (★☆) | Preset |
|---|---|---|---|
| MS Gothic | 2 (wide) | 2 (wide) | wide / wide (default) |
| Ricty / HackGen | 2 (wide) | 2 (wide) | wide / wide (default) |
| Cica | 1 (narrow) | 2 (wide) | narrow / wide |
| HackGen Console | 1 (narrow) | 2 (wide) | narrow / wide |
| UDEV Gothic | 1 (narrow) | 1 (narrow) | narrow / narrow |
markdownDocToolset.highlightStyle |
<mark> |
Highlight style: <mark> (HTML tag) or == (Markdown syntax) |
|
markdownDocToolset.pasteMarkdownLinkAsDefault |
false |
When true, Ctrl+V directly inserts the URL as a Markdown link with page title (Windows only) |
Command Reference
To add custom keybindings, use the following command IDs in your keybindings.json.
| Command ID | Menu Path |
|---|---|
markdownDocToolset.tableAlign |
Table > Align |
markdownDocToolset.tablePasteAsTable |
Table > Paste as Table |
markdownDocToolset.tablePasteTsv |
Table > Paste as Cell |
markdownDocToolset.tablePasteMultiline |
Table > Paste Multiline into Cell |
markdownDocToolset.tableCopyTableValues |
Table > Copy Table Values |
markdownDocToolset.tableCopyCellValues |
Table > Copy Cell Values |
markdownDocToolset.tableClearCellValues |
Table > Clear Cell Values |
markdownDocToolset.tableMoveColumnsRight |
Table > Move Columns Right |
markdownDocToolset.tableMoveColumnsLeft |
Table > Move Columns Left |
markdownDocToolset.tableDeleteColumns |
Table > Delete Column |
markdownDocToolset.tableInsertColumnRight |
Table > Insert Column Right |
markdownDocToolset.tableInsertColumnLeft |
Table > Insert Column Left |
markdownDocToolset.toggleCheckbox |
Toggle > Toggle Checkbox |
markdownDocToolset.toggleList |
Toggle > Toggle List |
markdownDocToolset.toggleDone |
Toggle > Toggle Done |
markdownDocToolset.toggleHeading1 |
Toggle > Toggle Heading 1 |
markdownDocToolset.toggleHeading2 |
Toggle > Toggle Heading 2 |
markdownDocToolset.toggleHeading3 |
Toggle > Toggle Heading 3 |
markdownDocToolset.toggleHeading4 |
Toggle > Toggle Heading 4 |
markdownDocToolset.toggleHeading5 |
Toggle > Toggle Heading 5 |
markdownDocToolset.toggleHeading6 |
Toggle > Toggle Heading 6 |
markdownDocToolset.toggleQuote |
Toggle > Toggle Quote |
markdownDocToolset.toggleHighlight |
Toggle > Toggle Highlight |
markdownDocToolset.highlightStyleSetting |
Toggle > Highlight Style... |
markdownDocToolset.formatAddLineBreak |
Format > Add Line Break |
markdownDocToolset.formatIndent |
Format > Indent (2-space) |
markdownDocToolset.formatUnindent |
Format > Unindent (2-space) |
markdownDocToolset.formatConvertIndent2to4 |
Format > Convert Indent (2 to 4-space) |
markdownDocToolset.formatConvertIndent4to2 |
Format > Convert Indent (4 to 2-space) |
markdownDocToolset.formatTabify |
Format > Tabify (from 4-space) |
markdownDocToolset.formatExpandTab |
Format > Expand Tab (to 4-space) |
markdownDocToolset.formatInsertTab |
Format > Insert Tab |
markdownDocToolset.filePathOpenInApp |
File Path > Open in Associated App |
markdownDocToolset.filePathRevealInExplorer |
File Path > Reveal in Explorer |
markdownDocToolset.copyWithQuoteMarks |
Copy > Copy with Quote Marks |
markdownDocToolset.copyPlainText |
Copy > Copy Plain Text |
markdownDocToolset.convertTsvToTable |
Convert > TSV to Table |
markdownDocToolset.convertListToTree |
Convert > List to Tree |
markdownDocToolset.convertTreeToList |
Convert > Tree to List |
markdownDocToolset.convertTableToListTwoCol |
Convert (Misc) > Table to List (Two-Column) |
markdownDocToolset.convertListToTableTwoCol |
Convert (Misc) > List to Table (Two-Column) |
markdownDocToolset.convertTableToListMultiCol |
Convert (Misc) > Table to List (Multi-Column) |
markdownDocToolset.convertListToTableMultiCol |
Convert (Misc) > List to Table (Multi-Column) |
markdownDocToolset.pasteMarkdownLink |
Paste > Paste as Markdown Link |
markdownDocToolset.pasteMarkdownLinkDefaultSetting |
Paste > Enable Paste as Markdown Link... |
markdownDocToolset.explorerCheckClearAll |
Explorer > Check : Clear All Issues |
Usage
- Editor commands: Right-click in the editor → Markdown Doc Toolset submenu
- Explorer commands: Right-click a file or folder → Markdown Doc Toolset submenu
Requirements
- VSCode 1.108 or later
License
Copyright (c) 2025 takaaki024. All rights reserved.