Як змінити відступ у коді Visual Studio?


344

Для кожного файлу машинопису візуальний код студії використовує автоматичний відступ на 8 пробілів. На мій смак це занадто багато, але я не можу знайти, де її змінити.

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

ОНОВЛЕННЯ

Наразі я використовую формат форматів Prettier, який вирішує всі проблеми із форматуванням шляхом автоматичного форматування при збереженні (якщо немає синтаксичної помилки)

Відповіді:


110

Ви можете змінити це на глобальному Userрівні або Workspaceрівні.

Відкрийте настройки: З допомогою клавіш ctrl + ,або клацання File> Preferences> , Settingsяк показано нижче.

Налаштування в меню VS Code

Потім виконайте наступні 2 зміни: (введіть tabSizeу рядок пошуку)

  1. Зніміть прапорець біля поля Detect Indentation
  2. Змініть розмір вкладки на 2/4 (хоча я настійно думаю, що 2 є правильним для JS :))

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


1
Будь ласка, використовуйте 4 пробіли для відступу.
Богдан Куць

3
@BohdanKuts ha ha, це буде нескінченний аргумент
Xin

Так :) Я дещо шукав це і з’ясував, чому це стало 2 місця. І мені ця причина здається застарілою, тому я рекомендую точно використовувати 4 пробіли.
Богдан Куць

Це суб'єктивно і не має реальної переваги, я зберігаю 2 пробіли для деяких типів файлів, таких як js, html та css, і 3 пробіли для коду, просто для читабельності. У HTML і XML з 4 пробілами вам потрібно буде швидко прокрутити праворуч.
Пабло Пацос

574

На панелі інструментів у правому нижньому куті ви побачите елемент, який виглядає наступним чином: введіть тут опис зображення Після натискання на нього ви отримаєте можливість відступу за допомогою пробілів або вкладок. Вибравши тип відступу, ви зможете змінити, наскільки великим є відступ. У випадку з наведеним вище прикладом відступ встановлюється на 4 пробіли на відступ. Якщо в якості символу відступу вибрано вкладку, то ви побачите розмір вкладки замість пробілів

Якщо ви хочете, щоб це стосувалося всіх файлів, а не на основі окремого файлу, замініть Editor: Tab Sizeта Editor: Insert Spacesналаштування або в налаштуваннях користувача, або в налаштуваннях робочої області, залежно від ваших потреб

Редагуйте 1

Щоб перейти до налаштувань користувача або робочої області, перейдіть до Налаштування -> Налаштування . Перевірте, чи перебуваєте ви на вкладці " Користувач" або " Робоча область" , залежно від ваших потреб, і використовуйте панель пошуку, щоб знайти налаштування. Ви також можете відключити, Editor: Detect Indentationоскільки цей параметр буде змінювати те, що ви встановили, Editor: Insert Spacesі Editor: Tab Sizeколи воно ввімкнено


Посилання на зображення перервано.

34
Зміна editor.tabSpacesж НЕ змінити інтервал у всіх файлах. Він змінює його лише для створених майбутніми файлами. Досі немає рішення для виправлення всіх файлів за одну дію.
Джейкоб Стамм

3
Ого. розум здутий. іноді речі просто ховаються на очах
пінго

4
Це супер неінтуїтивно. У мене вже встановлено відступ для використання пробілів. Чому для встановлення кількості пробілів мені потрібно натиснути на пробіл, щоб потрапити на друге приховане меню? Кожен інший редактор, який я використав, - одним клацанням миші на деталі відступу в рядку стану, а також є параметр пробілів. У коді VS мені потрібно шукати це на переповнення стека, оскільки меню, яке я хочу, приховане за опцією, яку я не намагаюся змінювати.
ian.pvd

1
завжди здається, що повертається до 4 простору за замовчуванням кожного разу, коли я створюю новий файл?!?!
oldboy

143

Щоб змінити відступ на основі мови програмування :

  1. Відкрийте командний палітру ( CtrlShiftP| MacOS: P)
  2. Уподобання Налаштування параметрів мови конкретних ... (ідентифікатор команди: workbench.action.configureLanguageBasedSettings)
  3. Виберіть мову програмування (наприклад, TypeScript)
  4. Додайте цей код:

    "[typescript]": {
        "editor.tabSize": 2
    }
    

Дивіться також: Документи VS Code


Як (де) використовується ідентифікатор команди? Я не бачу "Налаштувати параметри для певних мов" у розділі "Налаштування файлів".
Алан Балуу

@AlanBaljeu ви можете використовувати ідентифікатор команди для комбінацій клавіш, розширень тощо. Отже, ви можете перейти до Файл > Налаштування > Комбінації клавіш , вставити ідентифікатор на вхід і призначити для команди, наприклад, Ctrl + K Ctrl + L.
Мартін Шнайдер

55

editor.detectIndentationКрім відповіді Елліот-Дж, ви також можете встановити значення false.

VSCode замінить ваші editor.tabSizeта editor.insertSpacesпараметри для кожного файлу, якщо виявить, що файл має інший шаблон вкладки або пробілів. Ви можете зіткнутися з цією проблемою, якщо ви додасте існуючі файли до свого проекту або додаєте файли за допомогою генераторів коду, таких як Angular Cli. Вищенаведене налаштування заважає VSCode робити це.


44

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

VSCode в Windows - Shift + Alt + F

VSCode на MacOS - Shift + Option + F

VSCode на Ubuntu - Ctrl + Shift + I

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

вибір стовпця за допомогою клавіатури Ctrl + Shift + Alt + Arrow


1
Shift + Alt + Fзмінив усі відступи у моєму файлі з 8 пробілів на мої 4 проміжки за замовчуванням. Якраз те, що я шукав :)
Harry12345

24

У моєму випадку розширення " EditorConfig for VS Code " є переважаючими параметрами VSCode. Якщо він встановлений, перевірте файл .editorconfig у кореневій папці проекту.

Ось приклад конфігурації. "Indent_size" встановлює кількість пробілів для вкладки.

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

7

Спрощене пояснення із зображеннями для тих, хто в Google "Змінити відступ у Кодексі VS"

Крок 1: Натисніть Налаштування> Налаштування

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

Крок 2. Налаштування, яку ви шукаєте, - "Виявити відступ", почніть вводити це. Клацніть на "Редактор: Розмір вкладки"

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

Крок 3: Прокрутіть униз до "Редактор: Розмір вкладки" та введіть 2 (або все, що вам потрібно).

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



Зміни зберігаються автоматично

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

Приклад моїх змін

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


6

Щоб встановити всі існуючі файли та нові файли з ідентифікацією простору до 2, просто покладіть його у ваш setuns.json (у корені json):

"[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features",
        "editor.tabSize": 2,
        "editor.insertSpaces": true,
        "editor.detectIndentation":false
 }

Ви можете додати тип конфігурації мови:

"[javascript]": {
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "editor.detectIndentation":false
} 

У ці дні я використовую prettier.js та плагін js, оскільки він піклується про інтервали та інші вирівнювання довгих рядків, а також про більшість всього іншого.
HMR

1
Дякую, чудова відповідь, найкращий спосіб для мене.
Swetabja Hazra

5

Як перетворити 4 пробіли у всіх файлах у VS Code на 2 пробіли

  • Відкрити пошук файлів
  • Увімкніть регулярні вирази
  • Введіть: ( {2})(?: {2})(\b|(?!=[,'";\.:\*\\\/\{\}\[\]\(\)]))у поле пошуку
  • Введіть: $1у поле заміни

Як перетворити 2 пробіли у всіх файлах у VS Code на 4 пробіли

  • Відкрити пошук файлів
  • Увімкніть регулярні вирази
  • Введіть: ( {2})(\b|(?!=[,'";\.:\\*\\\/{\}\[\]\(\)]))у поле пошуку
  • Введіть: $1$1у поле заміни

ПРИМІТКА. Спершу потрібно увімкнути PERL Regex. Це як:

  • Відкрийте налаштування та перейдіть до файлу JSON
  • додати наступне у файл JSON "search.usePCRE2": true

Сподіваюся, хтось це бачить.


1
Спеціально для коду VS також є розширення для перетворення 4 на 2 пробіли.
таніум

4

Проблема: прийнята відповідь фактично не фіксує відступ у поточному документі.

Рішення: запустіть Format Documentдля повторної обробки документа відповідно до поточних (нових) налаштувань.

Проблема: Документи HTML у моїх проектах мають тип "Django HTML", а не "HTML", і форматеру немає.

Рішення: Переключіть їх на синтаксис "HTML", відформатуйте їх, а потім переключіться на "Django HTML".

Проблема: Форматор HTML не знає, як обробляти теги шаблонів Django і скасовує більшу частину моїх ретельно застосованих вкладень.

Рішення: Встановіть розширення відступ 4-2 , яке виконує відступ суворо, без огляду на синтаксис поточної мови (що я хочу в цьому випадку).


2

Я хотів змінити відступ мого існуючого файлу HTML з 4 пробілів на 2 пробіли.

Я натиснув кнопку "Пробіли: 4" у рядку стану та змінив їх на два у наступному діалоговому вікні.

Я використовую розширення 'vim'. Я не можу повторно відступити без vim

Для повторного відступу мого поточного файлу я використав це:

gg

=

G

0

Додавання: так, ви можете використовувати інтерфейс у нижньому правому куті для налаштування параметрів простору. Але якщо у вас є існуючий код, який не відформатований до нового інтервалу, ви можете клацнути правою кнопкою миші будь-де в межах файлу та натиснути Формат документа . Мені потрібно було трохи розібратися в цьому, поки я не натрапив на це питання .

Форматування меню документа

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