Как отформатировать все файлы в проекте Visual Studio Code?


Ответы:


80

Вы можете использовать расширение под названием «Форматировать файлы».

Использование: Откройте палитру команд (Ctrl + Shift + P) и введите «Форматировать файлы». Создайте привязку клавиш к команде 'editor.action.formatFiles'. Щелкните правой кнопкой мыши папку рабочей области и выберите «Форматировать файлы», чтобы отформатировать все файлы в каталоге ».

Источник: https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files


Прошел примерно половину, потом сказал " An error occurred while running Format Files: Invalid count value"
Аарон Франке

1
Работает как шарм
Дирадж М Пай

1
Это привело к тому, что все мои файлы были сломаны, потому что он не использовал красивее. Он нарушает код JSX. ПОЖАЛУЙСТА, ИЗБИРАЕТСЯ ВСЕХ, ЧТО ХОРОШО, НЕ ДЕЛАЙТЕ ЭТОГО! Вы будете сожалеть об этом.
jake_314

1
@ jake_314: Извините, что у вас был такой плохой опыт с этим. Но я надеюсь, что вы используете Git или сделали резервную копию своего кода перед выполнением основных операций по изменению кода сценария? В любом случае, я не пробовал это с JSX, но вот ссылка, которая может быть полезна: rockyourcode.com/…
Стеллан Линделл

37

Это работает для меня

Установить красивее:

npm init 
npm i prettier

Добавьте следующий скрипт в package.json:

"pretty": "prettier --write \"./**/*.{js,jsx,json}\"" 

Только в этом случае мне нужно отформатировать мои файлы .js .jsx и .json.

Запускаем скрипт:

npm run pretty

3
Возможно, вы захотите добавить "--save-dev" к команде npm install, это не нужно как производственная зависимость
reggaeguitar

3
Подразумевается, что вопрос касается javascript. Я не вижу связанных с ним тегов.
Emobe

2
Может похорошела формат c/ c++/ c#код? Нет - downvote
Herrgott

Вы также можете использовать, eslint --fixесли используете как eslint, так и prettier.
BeyondTheSea

Я согласен с тем, что этот ответ должен быть отклонен. В то время, когда я искал ответ на этот вопрос, я в основном работал с кодом js / jsx / json
Hiếu Thái Ngọc

10

Мне не повезло найти расширение, которое делало это так, как я ожидал, поэтому я сделал его. Предлагаю вам взглянуть на только что созданное мной расширение:

https://marketplace.visualstudio.com/items?itemName=lacroixdavid1.vscode-format-context-menu#overview

У него все еще могут быть проблемы, не стесняйтесь сообщать о них или вносить свой вклад.


МОЙ МУЖЧИНА! Спасибо за экономию времени. Это хорошо работает с HTML.
Ром Джереми

6

Самое простое решение, которое я нашел, показано ниже.

  • Установите красивее в vscode.
  • Создайте файл .prettierrc и настройте его так, как хотите.
  • Выполните следующую команду в консоли vscode.

npx prettier --write "**/*.ts" (Добавьте регулярное выражение типа файла по мере необходимости)


1

Как сказал @herrbischoff, в настоящее время нет возможности отформатировать все файлы в проекте.
Однако это была бы полезная функция.

Что он может сделать, так это отформатировать все несохраненные файлы, включив автоматическое сохранение и автоматическое форматирование.

В противном случае вам потребуется сценарий оболочки, расширение или какая-либо другая внешняя программа (например, программа проверки tslint, которая может автоматически исправлять ошибки), которая способна это делать.

У меня были проблемы с этим, и отстойно открывать все файлы вручную


0

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

Вам нужно будет много поверить в логику автоматического форматирования используемых языков, чтобы не облажаться и, возможно, внести ошибки. В любом случае вам нужно будет просмотреть изменения вручную, поэтому такой подход не должен приводить к ощутимому увеличению производительности.

Если вы работаете с серьезно измененной базой кода и не заботитесь о возможных проблемах, я бы предложил запустить простую команду оболочки с помощью средства форматирования CLI для соответствующих языков. Пример кода C ++ с использованием формата clang :

find . -iname *.cpp -exec clang-format {} +

Эта команда найдет все файлы cpp рекурсивно и запустит их через форматировщик с настройками по умолчанию.

Процесс практически одинаков для любого языка, например JavaScript (с js-beautify ):

find . -iname *.js -exec js-beautify {} +

Просто убедитесь, что вы просматриваете все, что выходит. Кроме того, вполне возможно, что эту команду можно будет записать в VScode - или просто запустить во встроенном терминале.


19
Как бы это не было полезной функцией; если вы меняете правило форматирования, лучше применить его ко всем файлам за один раз, а не смешивать изменения форматирования с другими изменениями кода.
slikts

1
Это довольно очевидно: потому что это может быть опасно. Любое автоматическое форматирование, применяемое ко всем файлам, особенно к проектам, с которыми вы плохо знакомы, может больше сломать, чем исправить. Просто подумайте о таких языках, как Python, где отступы имеют значение. Непроверенное автоматическое переформатирование может сломаться. Вы, конечно, вольны выяснить это на собственном горьком опыте.
herrbischoff

2
Я делал это годами с Intellij и Resharper, и у меня никогда не было проблем. На самом деле это не «трудный путь», если я достаточно доверяю формату, чтобы делать это автоматически для одного файла, я достаточно доверяю ему для всех остальных. Я действительно рекомендую подход, состоящий в явном выборе правил, которые IE по умолчанию следует отключить, и постепенном их включении.
Fortytwo 07

3
По этому аргументу форматирование всего файла было бы слишком опасным. Вы должны иметь возможность форматировать только блок. Если весь файл в порядке, что, если я выберу ДВА файла в одном каталоге? Если все в порядке, что, если я выберу каталог? Есть множество вариантов использования (например, @slikts), в которых это имеет смысл, и множество сред (включая python), в которых переформаторы / претификаторы / стандартизаторы кода работают нормально.
Марвин

2
Это кажется довольно самоуверенным ответом. Нередко можно встретить (не на Python) кодовую базу с множеством ошибок отступов. Действие по умолчанию - отформатировать файл с использованием текущих правил, убедиться, что сборки проекта, тесты пройдены, а затем просмотреть ваш файл в git (возможно, игнорируя пробелы). Я бы подписался на метод, который позволяет мне делать это с проектом, а не с отдельными файлами.
lorengphd

0

Я делаю простой трюк:

  1. загрузите это расширение https://marketplace.visualstudio.com/items?itemName=ApceHHypocrite.OpenAllFiles
  2. открыть все файлы
  3. установить "editor.formatOnSave": true
  4. сохранить все файлы

Надеюсь, поможет


2
Что делать, если в вашем проекте 3k + файлов? Это нормально для домашнего проекта, но не как общий совет.
BeyondTheSea
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.