Pipewright
Live Markdown table formatter for VS Code. Aligns table columns as you type — like IntelliJ IDEA, but lean and fast.
English · Русский
What it is
Pipewright keeps Markdown tables aligned. It pads cells so every | lines up, normalizes spacing around pipes, and rebuilds the delimiter row while preserving your alignment markers. The result is plain Markdown — it looks the same on GitHub and in any editor.
What it can do
- Align columns to the widest cell, with left / center / right / none markers (
:---, :---:, ---:, ---).
- Align live as you type — on every keystroke (default), or on
| and Enter.
- Format on save, Format Document, and Format Selection.
- Insert a table from a size grid (right-click → Insert Table).
- Add a row with
Shift+Enter inside a table.
- Mark tables with a subtle blue accent.
- Handle escaped pipes (
\|), inline code (`a|b`), ragged rows, indented tables, CRLF/LF, and CJK/emoji widths.
Quick start
- Install Pipewright.
- Open a Markdown file with a table.
- Type inside a cell — the columns align by themselves.
- To create a table: right-click → Insert Table, then pick a size.
No setup needed. Live alignment works out of the box.
How it works
Pipewright rewrites the table text — it adds and removes spaces so the pipes line up. It does not change how Markdown renders; the output is ordinary Markdown.
Live alignment touches only the table under the cursor, never the whole document, so it stays fast even in large files. Tables longer than the liveFormatting.maxRows threshold (300 rows) skip live alignment — format them on save or with a command instead.
Commands and keys
| Action |
How |
| Format the whole document |
Shift+Alt+F (Format Document) |
| Format the table at the cursor |
Command Palette → Pipewright: Format Table at Cursor |
| New table row |
Shift+Enter inside a table |
| Insert a table |
Right-click → Insert Table (or the command) |
| Open settings |
Command Palette → Pipewright: Open Settings |
Open the Command Palette with Cmd/Ctrl+Shift+P. Rebind any key in Keyboard Shortcuts.
Settings
Find them in Settings (Cmd/Ctrl+, → search pipewright), grouped into Formatting, Live, and Appearance.
| Setting |
Default |
What it does |
pipewright.padding |
1 |
Spaces on each side of a cell's content. |
pipewright.minimumColumnWidth |
3 |
Minimum width of a column. |
pipewright.delimiterStyle |
filled |
Delimiter style: filled (\| --- \|) or compact (\| - \|). |
pipewright.widthMode |
fast |
fast (code points) or accurate (CJK, emoji, combining marks). |
pipewright.ambiguousWidth |
narrow |
Width of East Asian "ambiguous" characters (accurate mode). |
pipewright.liveFormatting.enabled |
true |
Align the table under the cursor as you type. |
pipewright.liveMode |
onChange |
onChange (every edit, no extra setting) or onType (on \|/Enter, needs editor.formatOnType). |
pipewright.liveFormatting.maxRows |
300 |
Skip live alignment above this many rows. |
pipewright.liveDebounce |
100 |
Delay (ms) before realigning in onChange. |
pipewright.decorations.enabled |
true |
Blue accent on tables. Colors: pipewright.tableBorder, pipewright.tableBackground. |
Good to know
- Live alignment runs on every keystroke by default. For the
onType mode, enable editor.formatOnType.
- Tables with very long cells (for example, full URLs) get wide when aligned — that is unavoidable for any column aligner. Pipewright turns word wrap off for Markdown by default so wide tables stay readable; override it with
"[markdown]": { "editor.wordWrap": "on" }.
- Russian and English UI: settings appear in your VS Code display language.
Pipewright
Живое выравнивание Markdown-таблиц для VS Code. Выравнивает колонки прямо при вводе — как IntelliJ IDEA, только легче и быстрее.
English · Русский
Что это
Pipewright держит Markdown-таблицы выровненными. Добавляет пробелы, чтобы все | стояли в линию, приводит в порядок отступы вокруг пайпов и перестраивает строку-разделитель, сохраняя маркеры выравнивания. Результат — обычный Markdown: одинаково выглядит на GitHub и в любом редакторе.
Что умеет
- Выравнивает колонки по самой широкой ячейке. Маркеры лево / центр / право / без (
:---, :---:, ---:, ---).
- Выравнивает на лету — на каждый символ (по умолчанию) или на
| и Enter.
- Форматирует при сохранении, по документу и по выделению.
- Вставляет таблицу из сетки-квадратиков (ПКМ → Вставить таблицу).
- Добавляет строку по
Shift+Enter внутри таблицы.
- Отмечает таблицы синим акцентом.
- Понимает экранированные пайпы (
\|), inline-код (`a|b`), рваные строки, таблицы с отступом, CRLF/LF и ширину CJK/эмодзи.
Быстрый старт
- Установите Pipewright.
- Откройте Markdown-файл с таблицей.
- Печатайте в ячейке — колонки выравниваются сами.
- Чтобы создать таблицу: ПКМ → Вставить таблицу, выберите размер.
Настройка не нужна. Живой режим работает сразу.
Как работает
Pipewright переписывает текст таблицы — добавляет и убирает пробелы, чтобы пайпы встали в линию. Рендеринг Markdown он не меняет; на выходе — обычный Markdown.
Живой режим обрабатывает только таблицу под курсором, а не весь документ, поэтому остаётся быстрым даже в больших файлах. Таблицы длиннее порога liveFormatting.maxRows (300 строк) живой режим пропускает — форматируйте их при сохранении или командой.
Команды и горячие клавиши
| Действие |
Как |
| Форматировать весь документ |
Shift+Alt+F (Format Document) |
| Форматировать таблицу под курсором |
Палитра команд → Pipewright: Format Table at Cursor |
| Новая строка таблицы |
Shift+Enter внутри таблицы |
| Вставить таблицу |
ПКМ → Insert Table (или команда) |
| Открыть настройки |
Палитра команд → Pipewright: Open Settings |
Палитра команд открывается по Cmd/Ctrl+Shift+P. Любую клавишу можно переназначить в Keyboard Shortcuts.
Настройки
Откройте Settings (Cmd/Ctrl+, → поиск pipewright). Они разбиты на разделы: Форматирование, Живой режим, Оформление.
| Настройка |
По умолчанию |
Что делает |
pipewright.padding |
1 |
Пробелы с каждой стороны содержимого ячейки. |
pipewright.minimumColumnWidth |
3 |
Минимальная ширина колонки. |
pipewright.delimiterStyle |
filled |
Стиль разделителя: filled (\| --- \|) или compact (\| - \|). |
pipewright.widthMode |
fast |
fast (кодовые точки) или accurate (CJK, эмодзи, составные символы). |
pipewright.ambiguousWidth |
narrow |
Ширина «неоднозначных» восточноазиатских символов (режим accurate). |
pipewright.liveFormatting.enabled |
true |
Выравнивать таблицу под курсором при вводе. |
pipewright.liveMode |
onChange |
onChange (на каждый ввод, без доп. настроек) или onType (на \|/Enter, нужен editor.formatOnType). |
pipewright.liveFormatting.maxRows |
300 |
Пропускать живой режим для таблиц длиннее этого. |
pipewright.liveDebounce |
100 |
Задержка (мс) перед выравниванием в onChange. |
pipewright.decorations.enabled |
true |
Синий акцент на таблицах. Цвета: pipewright.tableBorder, pipewright.tableBackground. |
Полезно знать
- Живой режим по умолчанию срабатывает на каждый символ. Для режима
onType включите editor.formatOnType.
- Таблицы с очень длинными ячейками (например, целыми URL) при выравнивании становятся широкими — это неизбежно для любого выравнивателя колонок. Pipewright по умолчанию отключает перенос строк для Markdown, чтобы такие таблицы читались; вернуть перенос —
"[markdown]": { "editor.wordWrap": "on" }.
- Язык интерфейса: настройки показываются на языке интерфейса VS Code.