LazowskiAnton · Extensions

CsvSmith

Файлы CSV и TSV удобно читать прямо в редакторе Visual Studio: каждый столбец своим цветом, столбцы выровнены на экране без изменения файла, строка заголовков и первый столбец остаются на виду при прокрутке. Сортируйте, фильтруйте, перемещайте столбцы и копируйте таблицу как Markdown, JSON или SQL — с панели инструментов над файлом.

Бесплатно · Visual Studio 2022 и 2026 · 14 языков интерфейса · .csv, .tsv, .tab, .psv · проверено на 2 000 000 строк

Зачем CsvSmith

Файл CSV в редакторе Visual Studio: каждый столбец своим цветом, столбцы выровнены, строка заголовков выделена жирным, сверху панель инструментов CsvSmith

Таблица, а не стена запятых

Visual Studio открывает файл CSV как обычный текст: чтобы найти пятый столбец, приходится считать запятые. CsvSmith раскрашивает каждый столбец, выравнивает столбцы и держит строку заголовков на виду, так что файл читается как таблица.

Файл остаётся как есть

Цвета, выравнивание, скрытые строки и скрытые столбцы рисуются только на экране — текст файла не трогается. Записывают в файл только команды с пометкой Изменяет файл · одна отмена, и одна отмена всё возвращает.

Быстро на больших файлах

Разбираются только строки на экране; большой файл оценивается по первым строкам. Сортировка, фильтрация и копирование выполняются в фоне. Файл CSV в два миллиона строк прокручивается так же плавно, как маленький.

Бесплатно и без подвохов

Без подписок, без «pro»-версии, без сбора данных и без сообщений в окне «Вывод» или при запуске. Единственное, о чём мы когда-нибудь попросим, — после того как вы им немного попользуетесь, — поставить оценку в Marketplace. Работает в Visual Studio 2022 и 2026, x64 и ARM64.

Возможности

Таблица в редакторе

Откройте файл .csv, .tsv, .tab или .psv: он остаётся текстовым файлом в редакторе Visual Studio — вы набираете, ищете, выделяете и сохраняете как всегда, — а CsvSmith рисует его как таблицу.

ЧастьЧто делает
ЦветаУ каждого столбца свой цвет, цвета повторяются после шести столбцов. Строка заголовков выделена жирным, разделители приглушены. В тёмных темах цвета яркие, в светлых — более тёмные того же оттенка.
ВыравниваниеМежду полями рисуются пробелы, чтобы столбцы стояли ровно; в файле их нет. Столбцы с числами выравниваются по правому краю.
Широкие ячейкиНи один столбец не рисуется шире, чем задано в параметре Самый широкий столбец (40, 60 или 80 символов). Более длинное значение занимает место следующих ячеек, а остаток его строки снова встаёт ровно, как только появляется место.
Строка заголовковКогда первая строка уходит из виду при прокрутке, она остаётся вверху редактора на слегка подкрашенной полосе, в цветах своих столбцов. У столбца с фильтром там маленькая оранжевая воронка.
Первый столбецКогда таблица прокручена вправо, первый столбец остаётся у левого края редактора, так что имя или ключ каждой строки всегда перед глазами.
СсылкиВеб-адрес в поле подчёркнут и открывается по Ctrl+Click. Ссылка заканчивается на разделителе — встроенное распознавание ссылок в Visual Studio захватило бы и следующее поле.

Столбец при наведении

Задержите указатель на поле: подсказка скажет, какой это столбец — Столбец 3: Email · текст, — и покажет значение (целиком, даже если ячейка обрезана), строку (Строка 5 из 12) и сколько строк в столбце заполнено (Заполнено 11 из 12 строк). В большом файле счётчики берутся из первых строк.

Панель инструментов

Панель над каждым редактором CSV, в цветах темы Visual Studio. Всё на ней работает с файлом в этом редакторе.

ЧастьЧто делает
Цвета · Выравнивание · Заголовок · 1-й столбецВключают и выключают цвета, выравнивание, закреплённую строку заголовков и закреплённый первый столбец сразу для всех табличных файлов (те же переключатели, что и в настройках).
РазделительРазделитель: , (авто) — разделитель полей: Авто, Запятая, Точка с запятой, Табуляция или Вертикальная черта. Авто берёт табуляцию для .tsv и .tab, вертикальную черту для .psv, а для .csv — запятую или точку с запятой по первым строкам. Выбор запоминается для этого файла.
Строка заголовковСтрока заголовков: да — задаёт ли первая строка имена столбцов. При нет первая строка — это данные: она сортируется, фильтруется и копируется наравне с остальными, а столбцы называются Столбец 1, Столбец 2… Запоминается для этого файла.
Сортировка · Фильтр · Столбцы · ПреобразованиеМеню для столбца под курсором и для всей таблицы, описаны ниже.
РазмерСправа: строк: 1 250 · столбцов: 7 · нет проблем; при включённом фильтре — показано строк: 3 из 2 000 000.

Те же команды есть в подменю CsvSmith контекстного меню редактора, и каждой можно назначить сочетание клавиш в Средства › Параметры › Среда › Клавиатура (найдите CsvSmith).

Значок × на правом краю скрывает панель; параметр Показывать панель инструментов в настройках возвращает её.

Сортировка

Поставьте курсор в столбец и выберите Сортировка: А → Я или Я → А как текст, по возрастанию или по убыванию как числа, сначала старые или сначала новые как даты. Меню называет столбец: По «Amount», как числа, по убыванию.

Меню «Сортировка» панели инструментов CsvSmith над файлом заказов и строка состояния со столбцом и итогами выделенных ячеек

Строки сортируются в файле с одной отменой. Строка заголовков остаётся первой; записи с переносами строк внутри кавычек перемещаются целиком; окончания строк файла сохраняются. Значения, которые не являются числами или датами, идут после остальных.

Сортировка выполняется в фоне. Файлы больше 100 млн символов и файл с незакрытой кавычкой не сортируются — строка состояния сообщает почему.

Фильтр

Фильтр скрывает строки, которые не подходят, — только на экране, файл не меняется. Выберите Фильтр по «Country»… для столбца под курсором: небольшое окно покажет его значения со счётчиками.

Файл CSV в два миллиона строк, отфильтрованный по стране: скрытые строки свёрнуты в строки вида ⋯ строк скрыто фильтром: 1 240, и окно «Фильтр CsvSmith» со значениями столбца
ЧастьЧто делает
ЗначенияОтметьте значения, которые нужно оставить; поле поиска сужает список, Выбрать все и Снять все действуют на показанные значения. В списке до 1 000 значений со счётчиками.
Текст содержитОставляет строки, поле которых содержит текст; регистр не учитывается.
Числа между · Даты междуДля столбца с числами или датами: две границы, любую из которых можно оставить пустой. Дата без времени охватывает весь день.
Только «значение»В меню «Фильтр»: оставить только строки со значением под курсором, одним щелчком.

Скрытые строки сворачиваются в одну строку — ⋯ строк скрыто фильтром: 1 240, — которая снова показывает их по двойному щелчку; или, если параметр Подписывать строки, скрытые фильтром выключен, остаётся только маленькое ⋯ в конце строки выше. Панель показывает Фильтр (2) и показано строк: 3 из 2 000 000; Снять фильтры показывает все строки.

Фильтр принадлежит файлу: каждое его окно показывает те же строки. После правок Применить фильтры заново фильтрует текст в его текущем виде. Копии (Преобразование, Копировать столбец) не включают скрытые строки.

Столбцы

Меню Столбцы работает со столбцом под курсором. Первые четыре команды только показывают; остальные меняют файл, каждая с одной отменой.

КомандаЧто делает
Выделить столбецВыделение на каждом поле столбца (несколько курсоров): вводите текст, чтобы изменить их все.
Копировать столбецЗначения столбца, по одному на строку, в буфер обмена.
Скрыть столбец на экранеЕго поля рисуются как …, так что остальные столбцы сдвигаются ближе; файл не меняется. Показать все столбцы возвращает их.
Добавить столбец послеПустой столбец справа, с Новый столбец в строке заголовков.
Удалить столбецУдаляет столбец из каждой строки.
Переместить столбец влево · Переместить столбец вправоМеняет столбец местами с соседним в каждой строке.

Преобразование

Преобразование копирует всю таблицу — или только выделенные строки — в другом формате. Строки, скрытые фильтром, не включаются.

Меню «Преобразование» панели инструментов CsvSmith и те же строки, скопированные как таблица Markdown, JSON и инструкции SQL INSERT
КомандаЧто делает
Копировать как таблицу MarkdownТаблица в стиле GitHub; столбцы с числами помечены для выравнивания вправо (---:), | экранируется, переносы строк — как <br>.
Копировать как JSONМассив объектов с ключами по именам столбцов; в столбцах с числами числа записываются как числа, а пустые поля там — как null.
Копировать как SQL INSERTПо одной INSERT INTO orders (…) VALUES (…); на строку, таблица названа по файлу; текст в одинарных кавычках, числа без кавычек, пустые числа — NULL; имя столбца, совпадающее с ключевым словом SQL, берётся в двойные кавычки ("Order").
Сохранить как CSV… · Сохранить как TSV…Записывает таблицу в другой файл, с запятыми или табуляциями, беря поля в кавычки, где нужно.
Отформатировать как выровненный текстЗаписывает пробелы в файл, так что столбцы стоят ровно в любом редакторе. Одна отмена.
СжатьУдаляет пробелы вокруг разделителей (вне кавычек). Одна отмена.

Столбец и итоги в строке состояния

Строка состояния Visual Studio показывает строку и столбец курсора. Выделите ячейки — перетаскиванием мыши, прямоугольным выделением (Alt+перетаскивание) или командой Выделить столбец, — и она покажет, сколько их и сколько разных значений; для чисел — ещё сумму, среднее, минимум и максимум:

Строка 128 · Столбец 5: Amount
Amount: ячеек: 24 · Сумма 18 240,5 · Среднее 760,02 · Мин. 12 · Макс. 2 400 · Количество 24 · Разных 21

Итоги считаются в фоне, не больше чем по 100 000 ячеек.

Подсказки

Три вида подсказок, общих с семейством SmithWorks: каждый текст начинается с CsvSmith:, во всплывающей подсказке есть Не показывать такие подсказки, а с LensSmith подсказка видна ещё и в конце строки.

Файл CSV с зелёной волнистой линией под строкой, в которой одно лишнее поле, и всплывающая подсказка CsvSmith
ПодсказкаКогдаТекст
Неверное число полейСтрока, в которой больше или меньше полей, чем в заголовке (или в первой строке, если заголовка нет): пропущен разделитель или разделитель, который следовало заключить в кавычки.CsvSmith: в строке 9 — полей: 7, в заголовке — полей: 6.
Незакрытая кавычкаКавычка, которая так и не закрыта, превращает весь остаток файла в одно поле.CsvSmith: кавычка, открытая в столбце 2, не закрыта.
Повторяющийся заголовокДва столбца с одинаковым именем в строке заголовков (регистр не учитывается); серые точки.CsvSmith: «Email» — заголовок столбцов 3 и 6.

Каждый вид можно выключить в разделе Подсказки в редакторе в настройках или прямо из подсказки.

Большие файлы

CsvSmith никогда не разбирает весь файл, чтобы его нарисовать: читаются только строки на экране. Он проверен на файле CSV в два миллиона строк — прокрутка, цвета и выравнивание остаются такими же быстрыми, как в маленьком файле.

Файл больше 20 МБ или 200 000 строк оценивается по первым 5 000 строкам: ширина и типы столбцов, счётчики в подсказке и размер на панели инструментов (строк файла: 2 000 000 · столбцов: 7 · нет проблем в первых 5 000 строках). Сортировка, фильтрация и копирование всё равно проходят по всем строкам, в фоне.

Пределы, которые сохраняют отзывчивость Visual Studio: сортировка и изменение столбцов — до 100 млн символов; копирование — до 100 000 строк; итоги — не больше чем по 100 000 ячеек. Когда предел достигнут, строка состояния сообщает об этом и ничего не меняется.

Настройки

Средства › Параметры › SmithWorks › CsvSmith. У каждого параметра есть краткое описание того, что он делает.

ПараметрПо умолчанию
Раскрашивать столбцыВкл.
Выравнивать столбцыВкл.
Самый широкий столбец40 символов
Держать строку заголовков на видуВкл.
Держать первый столбец на видуВкл.
Имя столбца при наведенииВкл.
Показывать панель инструментовВкл.
Столбец и итоги в строке состоянияВкл.
Подписывать строки, скрытые фильтромВкл.
Подсказки: Неверное число полейВкл.
Подсказки: Незакрытая кавычкаВкл.
Подсказки: Повторяющийся заголовокВкл.
Попросить оценку в MarketplaceВкл.

Настройки, а также разделитель и строка заголовков, выбранные для каждого файла, хранятся в %LocalAppData%\CsvSmith. Сбросить по умолчанию снова включает всё.

Страница параметров CsvSmith
Страница параметров.

Вопросы и ответы

Меняет ли CsvSmith мой файл?

Сам по себе — нет. Цвета, выравнивание, закреплённый заголовок, фильтры и скрытые столбцы рисуются только на экране. Файл меняется, только когда вы выбираете сортировку, добавление, удаление или перемещение столбца, «Отформатировать как выровненный текст» или «Сжать» — каждое из этих действий — один шаг отмены.

У моего файла другое расширение (.txt, .dat). Может ли CsvSmith его открыть?

CsvSmith работает с файлами с расширениями .csv, .tsv, .tab и .psv. Файл с другим расширением остаётся обычным текстом; сохраните копию как .csv (или .tsv), чтобы увидеть её как таблицу.

Столбцы определились неправильно — в файле точки с запятой (или табуляции).

Нажмите Разделитель на панели инструментов и выберите Точка с запятой, Табуляция, Вертикальная черта или Запятая. CsvSmith запоминает выбор для этого файла. Авто смотрит на первые 20 строк файла .csv, чтобы выбрать между запятой и точкой с запятой.

В моём файле нет строки заголовков.

Выберите Строка заголовков: нет на панели инструментов. Тогда первая строка — это данные: она не закрепляется и не выделяется жирным, а сортируется, фильтруется и копируется наравне с остальными. Запоминается для этого файла.

Сортировка вышла не та. Как вернуть прежний порядок?

Один раз Правка › Отменить (Ctrl+Z): вся сортировка — один шаг под названием Сортировка строк. То же касается изменений столбцов и форматирования.

Замедляет ли большой файл Visual Studio?

Нет. Разбираются только строки на экране, большой файл оценивается по первым строкам, а долгая работа — сортировка, фильтрация, копирование, итоги — выполняется в фоне. Если файл выходит за предел, строка состояния об этом сообщает.

Отправляет ли CsvSmith что-нибудь куда-нибудь?

Нет. Он читает файлы, которые вы открываете в редакторе, и больше ничего — ни телеметрии, ни запросов. Настройки остаются на вашем компьютере.

Где сообщить о проблеме или предложить функцию?

Создайте issue в репозитории Feedback на GitHub — там есть формы для ошибок и идей (пожалуйста, замените закрытые данные в примерах). Можно также воспользоваться вкладкой Q&A на Marketplace.

История изменений

1.0.0