Подтвердить что ты не робот

Код Visual Studio: формат не использует настройки отступа

При использовании команды Format Code в коде Visual Studio это не соответствует моим настройкам отступа ("editor.tabSize": 2). Вместо этого используется размер табуляции 4. Любые идеи, почему это происходит?

Спасибо!

4b9b3361

Ответ 1

Количество пробелов для форматирования берется из другого места. Я использую версию 1.0, и это то, что я сделал для ее исправления (я предполагаю, что вместо пробелов используются пробелы):

В нижней части редактора справа нажмите "Пробелы: #":

строка состояния справа

Затем появится меню вверху. Выберите "Отступы, использующие пробелы":

select indentation type

Наконец, вы можете выбрать, сколько пробелов вы хотите отделить от ваших файлов.

выбрать размер вкладки

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

Ответ 2

Код Visual Studio обнаруживает текущий отступ по умолчанию и использует это - игнорируя .editorconfig

Установите также "editor.detectIndentation" на false

(Файлы → Настройки → Настройки)

screenshot

Ответ 3

Если ответ @Maleki не работает для вас, проверьте и посмотрите, есть ли файл .editorconfig в папке проекта.

Например, CLI Angular генерирует один с новым проектом, который выглядит следующим образом

# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false

Здесь требуется изменить indent_size, так как кажется, что он переопределит что-либо в рабочем пространстве .vscode или пользовательских настройках.

Ответ 4

Для меня эта проблема была вызвана использованием prettier VSCode плагина, не имея покрасивее конфигурационный файл в рабочей области.

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

Ответ 5

Если вы используете плагин (в моем случае Vetur, для vue.js), он может установить свои собственные настройки форматирования вкладок.

Откройте ваши настройки, найдите "format" и просмотрите соответствующие настройки плагина, которые могут перезаписывать формат глобальной вкладки. Это сработало для меня; Как только я обновил настройки вкладок Vetur, чтобы они соответствовали моим предпочтениям (вкладки 4-х размеров в моем случае), форматирование документов .vue стало работать правильно:

enter image description here

Ответ 6

настройки ниже решили мою проблему

  "editor.detectIndentation": false,
  "editor.insertSpaces": false,
  "editor.tabSize": 2,

Ответ 7

Скорее всего, у вас установлено некоторое расширение форматирования, например. JS-CSS-HTML Formatter.

Если это так, то просто откройте командную палитру, введите "Formatter" и выберите Formatter Config. Затем отредактируйте значение "indent_size" по своему усмотрению.

P.S. Не забудьте перезапустить Visual Studio Code после редактирования:)

Ответ 8

Если вы пришли сюда из Google, потому что табуляция не является отступом, это также может быть связано с тем, что функция "Tab Moves Focus" включена. Это находится в правом нижнем углу, и если у вас есть достаточно большой монитор, вы можете пропустить его, несмотря на его выделение.

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

Нажмите зеленую область или Ctrl + M, чтобы остановить ее. Я не уверен, что его можно полностью отключить, а затем я не знаю, почему редактор кода захочет с чем-то вписаться.

Ответ 9

У меня была похожая проблема - независимо от того, что я сделал, я не мог заставить размер вкладки придерживаться 2, даже если это в моих пользовательских настройках - что в конечном итоге было связано с расширением EditorConfig. Он ищет файл .editorconfig в вашем текущем рабочем каталоге и, если он не находит его (или тот, который он находит, не указывает root=true), он будет продолжать поиск родительских каталогов, пока не найдет его.

Оказывается, у меня был .editorconfig в родительском каталоге каталога, в который я поместил все мои новые проекты кода, и он указал tabSize, равный 4. Удаление этого файла устранило мою проблему.

Ответ 10

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

У меня editor.tabSize установлено значение 2 (а также editor.formatOnSave установлено значение true). Когда VSCode запутывает файл, я использую параметры внизу редактора, чтобы изменить тип и размер отступа, в надежде, что что-то сработает, но VSCode настаивает на фактическом использовании отступа размера 4.

Исправить? Перезапустите VSCode. Он должен вернуться с статусом отступа, показывающим что-то неправильное (в моем случае, 4). Для меня мне пришлось изменить настройку, а затем сохранить ее, чтобы на самом деле внести изменения, но это возможно из-за моего параметра editor.formatOnSave.

Я не понял, почему это происходит, но для меня это обычно, когда я редактирую вложенный объект в JS файле. Это внезапно сделает очень странный отступ внутри объекта, хотя я работал в этом файле какое-то время, и он был отступом просто отлично.

Ответ 11

Плагин VSCode Vetur; используется для приложений VueJS, переопределяет настройки для меня.

Установка vetur.format.options.tabSize для моего предпочтительного числа пробелов заставила его работать.

Ответ 12

Я думаю, что vscode использует autopep8 для форматирования .py по умолчанию.

"PEP 8 - Руководство по стилю для кода Python | Python.org"

Согласно этому веб-сайту, следующее может объяснить, почему vscode всегда использует 4 пробела.

Используйте 4 пробела на уровень отступа.

Ответ 13

Отключить все плагины (затем включить один за другим и проверить)