Як відформатувати код у коді Visual Studio (VSCode)


990

Що таке еквівалент Ctrl+ K+ Fта Ctrl+ K+ Dу Windows у Visual Studio для форматування чи «прикраси» коду в редакторі коду Visual Studio?


47
Для всіх тих, хто відчайдушно намагається відформатувати XML (який, здається, зараз неможливий поза коробкою), ви можете досягти цього, встановивши розширення. Я знайшов інструменти XML, щоб виконати роботу просто чудово. Відмова: Я не автор і не пов'язаний з цим проектом ...
informatik01

У той час як VSCode має набагато менші параметри меню, ніж VS (нова тенденція?), Вона має велику інформацію та навчальні посібники в меню HELP, які, можливо, відповіли на це питання.
Роланд

Для всіх, хто бореться за отримання форматування навіть після спроби дійсних комбінацій у коді Visual Studio, не забудьте вибрати відповідний тип мови програмування, він знаходиться внизу праворуч у вікні візуального коду студії поруч із цим смайликом. Як тільки ви це зробите, я виявив, що він працює з коробки, і вам не потрібен додатковий плагін для форматування коду.
Містер Гант

Відповіді:


3838

Форматування коду доступне у коді Visual Studio за допомогою таких ярликів:

  • У Windows Shift+ Alt+F
  • На Mac Shift+ Option+F
  • У Linux Ctrl+ Shift+I

Крім того, ви можете знайти ярлик, як і інші ярлики, через "Палітру команд", надану в редакторі Ctrl+ Shift+ P(або Command+ Shift+ Pна Mac), а потім здійснити пошук формату документа .


28
Також зауважте, що код мови повинен бути правильним. тобто Код формату не буде доступний, якщо обраний звичайний текст, але перехід на JSON (наприклад) буде форматувати вибраний текст щасливо. (настільки ж щасливий, як текстовий редактор може бути у будь-якому випадку)
Стівен Прайс

4
@JoSmo: У Ubuntu я відкрив Файл> Налаштування> Комбінації клавіш. Існує елемент для {"key": "ctrl + shift + i", "command": "editor.action.format", "when": "editorTextFocus"}. Для мене працює команда "ctrl + shift + i".
Ашеєш

18
Також, мабуть, файл потрібно спочатку зберегти на диску. У мене був фрагмент HTML + Javascript, де він не міг форматувати JS, тому я вставив його у тимчасове вікно і встановив мову, але це не допомогло, поки він не був збережений.
Йонас

9
Для людей, які говорять, що це не працює на Mac, це виглядає як конфлікт між ярликом та системою введення тексту OS X для наголошених символів, що залежить від налаштованої мови та налаштувань клавіатури: github.com/Microsoft/vscode/isissue / 8914 # issuecomment-245947844
Кріс Адамс

8
Це не працює для мене в останній версії коду VS і win 10, чи передбачає це встановлення певного розширення?
JayPex

479

Ярлик для форматування коду:

Код Visual Studio у Windows - Shift+ Alt+F

Код Visual Studio на MacOS - Shift+ Option+F

Код візуальної студії в Ubuntu - Ctrl+ Shift+I

Ви також можете налаштувати цей ярлик, використовуючи налаштування параметрів, якщо потрібно.

Форматування коду під час збереження файлу:

Visual Studio Code дозволяє користувачеві налаштувати параметри за замовчуванням.

Якщо ви хочете автоматично відформатувати свій вміст, зберігаючи, додайте наведений нижче фрагмент коду в налаштування робочого простору Visual Studio Code.

Файл меню → НалаштуванняНалаштування робочої області

{
    // Controls if the editor should automatically format the line after typing
    "beautify.onSave": true,

    "editor.formatOnSave": true,

    // You can auto format any files based on the file extensions type.
    "beautify.JSfiles": [
        "js",
        "json",
        "jsbeautifyrc",
        "jshintrc",
        "ts"
    ]
}

Примітка: тепер ви можете автоматично форматувати файли TypeScript. Перевірте моє оновлення.


Також працює з іншою мовою з цим:
Beautify

3
не впевнений, чому це по-різному у CentOS, але цеShift + Alt + I
a11smiles

2
beautify.onSave недійсний із встановленим розширенням eslint
Бен Петерсен

На ubuntu mate 17.04 він Shift + Alt + Iтеж
Піні Чейні

2
@ClintEeastwood спробуйте використовувати prettier.singleQuote: trueв налаштуваннях коду vs.
Енн

216

Ви можете додати введення файлів у меню ФайлНалаштуванняКомбінації клавіш.

{ "key": "cmd+k cmd+d", "command": "editor.action.formatDocument" }

Або Visual Studio на зразок:

{ "key": "ctrl+k ctrl+d", "command": "editor.action.formatDocument" }

23
У Windows замініть cmdна ctrl- не просто сліпо копіюйте та вставляйте, як я!
Єнс Еріх

3
"editor.action.format" знову працює. Тепер він форматує весь документ, якщо нічого не вибрано, інакше форматує виділення.
Червона Шапочка

198
  1. Клацніть файл правою кнопкою миші
  2. Виберіть у меню Формат документа :
    • Windows: Alt Shift F
    • Linux: Alt Shift I
    • macOS: F

Введіть тут опис зображення


18
Для Linux клавіатурними комбінаціями є Ctlr + Shift + I
Лукас

Що таке поле меню?
Пітер Мортенсен

@PeterMortensen вікно, у якому ви бачите меню. На скріншоті - це біле поле з "Формат документа", "Вирізати", "Копіювати", "Вставити" тощо
Бен Леджіеро

117

Права комбінація клавіш - Shift+ Alt+ F.


2
Коли ви просто копіюєте та вставляєте код з буфера обміну на нову вкладку , тоді нічого не відбувається. Рішення: Збережіть код у файл із пов'язаним розширенням файлу (наприклад, * .json). Тоді це працює. Я гадаю, що причина полягає в тому, що красуня знає мову з розширення і не робить автоматичного виявлення на основі коду.
Краса

Цей ярлик працює для MAC. У Windows він форматує код.
C. Дамок

63

Для Fedora

  1. Клацніть File-> Preferences-> Keyboard shortcuts.
  2. У розділі Default Keyboard Shortcutsзнайдіть ( Ctrl+ F) для editor.action.format.

Моє читати "key": "ctrl+shift+i"

Ви також можете змінити його. Зверніться до цієї відповіді про те, як ... або якщо вам трохи лінь прокручувати вгору:


Ви можете додати прив'язку клавіш до "Налаштування-> Комбінації клавіш"

{ "key": "cmd+k cmd+d", "command": "editor.action.format" }

Або Visual Studio на зразок:

{ "key": "ctrl+k ctrl+d", "command": "editor.action.format" }


Зверніть увагу: cmdключ призначений лише для Mac. Для Windows та Fedora (клавіатура Windows)Ctrl


EDIT :

Відповідно до версії Visual Code, 1.28.2це те, що я знайшов.

editor.action.formatбільше не існує. Зараз його замінили editor.action.formatDocumentіeditor.action.formatSelection .

Тип editor.action.format у поле пошуку, щоб переглянути наявні ярлики.

Щоб змінити комбінації клавіш, виконайте наступні дії:

  1. Клацніть editor.action.formatDocumentабоeditor.action.formatSelection
  2. Зліва з'являється значок, подібний до пера, клацніть його.
  3. З'являється спливаюче вікно. Натисніть потрібну комбінацію клавіш і натисніть клавішу Enter.

За допомогою цієї команди в моїх файлах TypeScript одна цитата стає подвійною цитатою. Як це вирішити?
DioBrando

Не можу знайти це в новому інтерфейсі сміття налаштувань.
Олівер Діксон

63

В Linux це Ctrl+ Shift+I .

У Windows це Alt+ Shift+F . Тестується за допомогою HTML / CSS / JavaScript та Visual Studio Code 1.18.0.

Для інших мов вам може знадобитися встановити певний мовний пакет.


61

Visual Studio Code 1.6.1 підтримує " Формат у режимі збереження ", який автоматично підбирає відповідні встановлені розширення форматера та форматує весь документ на кожному збереженні.

Увімкніть "Формат у режимі збереження", встановивши

"editor.formatOnSave": true

І є доступні комбінації клавіш (Visual Studio Code 1.7 і вище):

Відформатуйте весь документ : Shift+ Alt+F

Лише підбір формату : Ctrl+ K, Ctrl+F


Я пропоную розширення EsLint для коду VS Code marketplace.visualstudio.com/…
Даріуш


32

Просто натисніть на текст правою кнопкою миші та виберіть "Форматувати код".

Visual Studio Code використовується js-beautifyвнутрішньо, але він не має можливості змінювати стиль, який ви хочете використовувати. Розширення "прикрасити" дозволяє додавати налаштування.


1
Звичайно, я використовую Windows, і він працює як описано - це може залежати від версії VScode (будь ласка, оновіть!) Та від розширення файлу. Перевірте, використовуючи HTML.
Герфрід


32

Файл меню → НалаштуванняУстановки

"editor.formatOnType": true

Коли ви введете крапку з комою, вона буде відформатована.

Крім того, ви також можете використовувати "editor.formatOnSave": true.


як не дивно, я виявив, що поведінка цього налаштування може відрізнятися, ніж shift+alt+fу певних ситуаціях. не знаю, чому хоч!
JzInqXc9Dg

Коли у мене є це ввімкнення, і я створюю функцію в C #, я можу завершити все і продовжувати функцію ще не форматується, поки я не виконую функцію "Формат документа". Я не знаю, чому вищевказане налаштування не форматується після введення функції.
Даніель Джексон


24

Чомусь Alt+ Shift+ Fне працював для мене на Mac Visual Studio Code 1.3.1, і фактично команда "Форматувати документ" взагалі не працювала. Але команда Форматтер працювала дуже добре.

Таким чином, ви можете використовувати Command+ Shift+ Pі ввести Formatter або зробити власний ярлик у меню ФайлНалаштуванняКомбінації клавішCommand+ K Command+, Sа потім введіть Форматтер і додайте ярлик.

Дивіться приклад:

Введіть тут опис зображення


23

Форматування коду у Visual Studio.

Я спробував форматувати в Windows 8.

Просто слідкуйте за скріншотами нижче.

  1. Клацніть на Перегляд у верхній панелі меню, а потім натисніть на Палітра команд.

    Введіть тут опис зображення

  2. Тоді з'явиться текстове поле, де нам потрібно ввести Формат

    Shift+ Alt+F

    Введіть тут опис зображення


1
Деколи я копіюю пасту xml у новий файл і хочу відформатувати його, не зберігаючи файл. Це ідеально підходить для таких ситуацій!
користувач3885927

19

У коді Visual Studio Shift+ Alt+ Fробить те, що робить Ctrl+ K+ Dу Visual Studio.


18

Ярлик формату в C # не працював для мене, поки я не встановив Mono для Mac OS X, DNVM і DNX .

Перш ніж я встановив Mono, ярлик автоматичного форматування ( Shift+ Alt+ F) працював лише для .jsonфайлів.


Для форматування C # потрібно встановити розширення. Зазвичай omnisharp повинен працювати. Однак у omnisharp є помилка. Поки виправлена ​​помилка, ми повинні використовувати розширення Leopotam.csharpfixformat. Це перекриває омнишарп. Після установки розширення C # FixFormat я можу знову відформатувати документи.
Oncel Umut TURER

18

На Mac Shift+ Alt+ Fпрацює для мене.

Ви завжди можете перевірити ключові прив’язки в меню:

Файл меню → НалаштуванняКомбінації клавіш і фільтруйте за ключовим словом "формат".


14

Під час зміни поведінки за замовчуванням для Visual Studio Code потрібне розширення, ви можете змінити поведінку за замовчуванням у робочій області або на рівні користувача. Він працює для більшості підтримуваних мов (я можу гарантувати HTML, JavaScript та C #).

Рівень робочої області

Переваги

  • Не вимагає продовження
  • Можна поділитися між командами

Результати

  • .vscode/settings.json створюється в кореневій папці проекту

Як?

  1. Перейдіть до: Файл меню → НалаштуванняНалаштування робочої області

  2. Додайте та збережіть "editor.formatOnType": trueу settings.json (який переосмислює поведінку за замовчуванням для проекту, над яким ви працюєте, створивши файл .vscode / settings.json).

    Як це виглядає

Рівень середовища користувача

Переваги

  • Не вимагає продовження
  • Середовище особистого розвитку налаштовує, щоб керувати ними всім (налаштування :))

Результати

  • Користувач settings.jsonмодифікований (див. Розташування за операційною системою нижче)

Як?

  1. Перейдіть у меню ФайлНалаштуванняНалаштування користувача

  2. Додайте або змініть значення "editor.formatOnType": falseдо "editor.formatOnType": trueв налаштуваннях користувача.json

Ваш користувач Visual Studio Code settings.jsonМісцезнаходження :

Розташування файлів налаштувань залежно від вашої платформи, тут розташований файл налаштувань користувача:

  • Windows: %APPDATA%\Code\User\settings.json
  • Мак: $HOME/Library/Application Support/Code/User/settings.json
  • Linux: $HOME/.config/Code/User/settings.jsonФайл налаштування робочої області знаходиться в папці .vscode вашого проекту.

Більш детальну інформацію можна знайти тут .


9

За замовчуванням цей ключ не працював для мене в документах HTML, CSS та JavaScript.

Після пошуку я знайшов популярний плагін JS-CSS-HTML Formatter із 133,796 встановлень .

Після установки просто перезавантажте вікна та натисніть Ctrl+ Shift+ F, і воно спрацювало!


Так, але лише 2 з 5 зірок? Серйозно?
kmoser

Лише нагадування: ця відповідь спочатку була написана у 2017 році, і той час функціонування коду VS в значній мірі функціонував за допомогою плагінів чи інших хак, жодне з інших рішень для мене не працювало на той час, тому я виявив це сам, який насправді працював у той час, а не хвилювало, скільки зірок у них :-) Зараз 2020 та підтримка форматування є фантастичними поза межами.
mumair

Я не думаю, що VS Code ще не підтримує форматування CSS поза коробкою. Я встановив покращала плагін ( prettier.io ) , який обробляє JavaScript, машинопис, Flow, JSX, JSON, CSS, SCSS, Less, HTML, Vue, незграбний, GraphQL, Markdown, YAML. 5,6 мільйона встановлень і 4 зірки.
kmoser

Я радий, що ти знайшов красуню: Підтримка форматування P є, але не так добре, як красивіше, я використовую красивіше як залежність від розробників у всіх своїх проектах із .prettierrcта плагіном. Я боюся, що одного дня
красуня злиється

8

Виберіть текст, клацніть правою кнопкою миші на виділенні та виберіть опцію "палітра команд":

Введіть тут опис зображення

Відкриється нове вікно. Знайдіть "формат" і виберіть варіант, який має форматування відповідно до вимоги.




7

Для тих, хто хоче налаштувати файли JavaScript для форматування, ви можете використовувати будь-яке розширення у JSfilesвластивості. Те саме стосується HTML.

{
    "beautify.onSave": true,
    "beautify.JSfiles": ["js", "json", "jsbeautifyrc", "jshintrc", "ts"],
    "beautify.HTMLfiles": ["htm", "html"]
}

Це дозволить прикрасити при збереженні для TypeScript, і ви можете додати в XML параметр HTML.


1
Куди я це кладу? Це також допомагає додати, що прикрашати - це розширення ...
rotgers

Ви могли б згадати, куди поставити цей код.
gromit190

6

Якщо ви хочете налаштувати стиль формату-документа, вам слід використовувати Розширити розширення.

Перегляньте цей знімок екрана:

img


6

Ви повинні спочатку встановити відповідний плагін (тобто XML, C # тощо).

Форматування не стане доступним, поки ви не встановите відповідний плагін і не збережете файл із відповідним розширенням.


Beautify запитує вас, чи не знає, який формат використовувати, дозволяючи стилю cshtml.
Cees Timmerman

6

Найпростіший спосіб, який я використовую в коді Visual Studio (Ubuntu), це:

Виберіть текст, який ви хочете відформатувати за допомогою миші.

Клацніть правою кнопкою миші та виберіть "Вибір формату" .


5

Не цей. Використовуй це:

Файл меню → НалаштуванняНалаштування робочої області , "editor.formatOnType" : вірно


3
Не цей який? Ви маєте на увазі іншу відповідь? Якщо так, то який?
Пітер Мортенсен

2

Використовувати розширення ...

Дозволяє автоматичне форматування коду під час збереження файлу.

Запустіть Visual Studio Code та Quick Open ( Ctrl+ P), вставте наступну команду та натисніть Enter.

ext встановити формат-на-збереження

https://marketplace.visualstudio.com/items?itemName=gyuha.format-on-save


2
посилання мертве- розширення 404?
jordan.baucke

2

Код Visual Studio на Linux:

Ctrl+ [до невідповідного блоку коду та

Ctrl+ ]зробити масовий відступ

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.