Код Visual Studio: формат не использует настройки отступа
При использовании команды Format Code
в коде Visual Studio это не соответствует моим настройкам отступа ("editor.tabSize": 2
). Вместо этого используется размер табуляции 4. Любые идеи, почему это происходит?
Спасибо!
Ответы
Ответ 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
Отключить все плагины (затем включить один за другим и проверить)