Як відформатувати всі файли у проекті Visual Studio Code?


Відповіді:


77

Ви можете використовувати розширення під назвою “Форматування файлів”.

”Використання: Відкрийте палітру команд (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
Працює як чарівність
Dheeraj M Pai

Це призвело до того, що всі мої файли були зламані, тому що він не використовується гарнішим. Це ламає код JSX, БУДЬ ЛАСКА ЗА ЛЮБОВ ВСЬОГО, ЩО ДОБРЕ НІКОЛИ НЕ РОБІТЬ ЦЕ! ВИ пошкодуєте.
jake_314

1
@ jake_314: Вибачте, що у вас був такий поганий досвід із цим. Але я сподіваюся, ви використовуєте Git або зробили резервну копію свого коду перед тим, як виконувати основні операції зміни сценарію коду? У будь-якому випадку я не пробував цього з JSX, але ось посилання, яке може бути корисним: rockyourcode.com/…
Стеллан Лінделл

34

Це працює для мене

Встановити красивіше:

npm init 
npm i prettier

Додайте наступний сценарій в package.json:

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

Тільки в цьому випадку мені потрібно відформатувати файли .js .jsx та .json.

Запустити сценарій:

npm run pretty

3
Можливо, хочеться додати "--save-dev" до команди встановлення npm, не потрібно це як виробнича залежність
reggaeguitar

3
Напрошується питання про javascript. Я не бачу тегів, пов’язаних із цим.
Emobe

2
Може гарніший формат c/ c++/ c#код? Ні - downvote
Herrgott

Ви також можете використовувати, eslint --fixякщо використовуєте як еслінт, так і гарніший.
BeyondTheSea

Я згоден, що цю відповідь слід проголосувати проти. На той час, коли я шукав відповідь на це питання, я в основному працював з кодом js / jsx / json
Hiếu Thái Ngọc

10

Мені не пощастило знайти розширення, яке робило це так, як я очікував, тому я зробив це. Я пропоную вам поглянути на розширення, яке я щойно зробив:

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

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


МІЙ ЧОЛОВІК! Дякуємо за економію часу. Це добре працює з HTML.
Рум Джеремі

4

Найпростіше рішення, яке я знайшов, наведене нижче.

  • Встановіть красивіше у 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 - або просто запустити її у вбудованому терміналі.


18
Як би це не було корисною функцією; якщо ви змінюєте правило форматування, краще застосувати його до всіх файлів за один раз, а не змінювати зміни форматування з іншими змінами коду.
slikts

1
Це досить очевидно: бо це може бути небезпечно. Кожне автоматичне форматування, застосоване до всіх файлів, особливо до проектів, яких ви не знаєте глибоко, може зіпсувати більше, ніж це виправити. Подумайте лише про такі мови, як Python, де відступ має значення. Якщо не перевіряти автоматичне переформатування, це призведе до поломки. Ви, звичайно, можете вільно це зрозуміти на власному шляху.
herrbischoff

1
Я роблю це роками з Intellij та Resharper і ніколи не мав проблем. Насправді немає "важкого шляху", якщо я довіряю формату, щоб зробити це автоматично для одного файлу, я довіряю йому для всіх інших. Я рекомендую підхід до чіткого вибору правил дефолту IE і повільного їх увімкнення.
Fortytwo,

3
За цим аргументом форматування цілого файлу було б надто небезпечним. Ви повинні мати змогу лише форматувати блок. Якщо з цілим файлом все гаразд, що робити, якщо я вибрав ДВА файли в одному каталозі? Якщо це нормально, що робити, якщо я виберу каталог? Існує безліч випадків використання (наприклад, @slikts), де це цілком логічно, і безліч середовищ (включаючи python), де переформатчики / ущільнювачі / стандартизатори коду добре працюють.
Марвін

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

0

Я роблю просто фокус:

  1. завантажте це розширення https://marketplace.visualstudio.com/items?itemName=ApceHHypocrite.OpenAllFiles
  2. відкрити всі файли
  3. набір "editor.formatOnSave": true
  4. зберегти всі файли -

Сподіваюся, це допоможе


1
Що робити, якщо ваш проект має 3k + файли? Це нормально для проекту з домашніми тваринами, але не як загальна порада.
BeyondTheSea
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.