Как настроить коэффициент преобразования табуляции в пространство при использовании кода Visual Studio?
Например, прямо сейчас в HTML он производит два пробела за нажатие TAB, но в TypeScript он выдает 4.
Как настроить коэффициент преобразования табуляции в пространство при использовании кода Visual Studio?
Например, прямо сейчас в HTML он производит два пробела за нажатие TAB, но в TypeScript он выдает 4.
По умолчанию код Visual Studio будет пытаться угадать ваши параметры отступа в зависимости от файла, который вы открываете.
Вы можете отключить угадывание отступов через "editor.detectIndentation": false
.
Вы можете легко настроить это с помощью этих трех настроек для Windows в меню Файл → Настройки → Настройки пользователя и для Mac в меню Код → Настройки → Настройки или ⌘,
// The number of spaces a tab is equal to. This setting is overridden
// based on the file contents when 'editor.detectIndentation' is true.
"editor.tabSize": 4,
// Insert spaces when pressing Tab. This setting is overriden
// based on the file contents when 'editor.detectIndentation' is true.
"editor.insertSpaces": true,
// When opening a file, 'editor.tabSize' and 'editor.insertSpaces'
// will be detected based on the file contents. Set to false to keep
// the values you've explicitly set, above.
"editor.detectIndentation": false
Я использую версию 1.21, но я думаю, что это может относиться и к более ранним версиям.
Посмотрите на нижнюю правую часть экрана. Вы должны увидеть что-то, что говорит Spaces
или Tab-Size
.
Мое пространство показывает, →
Spaces
(или Tab-Size
)Indent Using Spaces
или Indent using Tabs
Это работает только для одного документа, но не для всего проекта. Если вы хотите применить его для всего проекта, вам также необходимо добавить "editor.detectIndentation": false
в ваши пользовательские настройки.
Хорошо, если вам нравится способ разработчика, Visual Studio Code позволяет вам указать другой тип файла для tabSize
. Вот пример моего settings.json
с 4 пробелами по умолчанию и пробелами JavaScript/JSON 2:
{
// I want my default to be 4, but JS/JSON to be 2
"editor.tabSize": 4,
"[javascript]": {
"editor.tabSize": 2
},
"[json]": {
"editor.tabSize": 2
}
}
PS: Если вы не знаете, как открыть этот файл (особенно в новой версии vscode), вы можете:
left-bottom gear
→ Settings
→ Прокрутите вниз и нажмите Edit in settings.json
По умолчанию код Visual Studio автоматически определяет отступ текущего открытого файла. Если вы хотите отключить эту функцию и сделать все отступы, например, два пробела, вы должны сделать следующее в настройках пользователя или рабочей области.
{
"editor.tabSize": 2,
"editor.detectIndentation": false
}
Мы можем контролировать размер вкладки по типу файла с помощью EditorConfig и его расширения кода Visual Studio. Затем мы можем сделать Alt + Shift + F специфичными для каждого типа файлов.
ext install EditorConfig
.editorconfig
[*]
indent_style = space
[*.{cs,js}]
indent_size = 4
[*.json]
indent_size = 2
EditorConfig переопределяет любой файл settings.json, настроенный для редактора. Нет необходимости изменять editor.detectIndentation
.
Вы хотите убедиться, что ваш editorconfig не конфликтует с вашей конфигурацией настроек пользователя или рабочей области, так как я просто немного расстроился, думая, что настройки файлов настроек не применялись, когда это была моя конфигурация редактора, отменив эти изменения.
Это lonefy.vscode-js-css-html-formatter
. Отключите его и установите HookyQR.beautify
.
Теперь при сохранении ваши вкладки не будут преобразованы.
Если вы используете более красивое расширение в vscode, попробуйте добавить его в файл settings.json:
"editor.insertSpaces": false,
"editor.tabSize": 4,
"editor.detectIndentation": false,
"prettier.tabWidth": 4,
"prettier.useTabs": true // this made it finally work for me
В правом нижнем углу у вас есть пробелы: пробелы: 2
Там вы можете изменить отступ в соответствии с вашими потребностями: Параметры отступа
Если принятый ответ на этот пост не работает, попробуйте:
У меня был EditorConfig для Visual Studio Code, установленный в моем редакторе, и он продолжал переопределять мои пользовательские настройки, которые были установлены для отступа файлов, используя пробелы. Каждый раз, когда я переключался между вкладками редактора, мой файл автоматически вставлялся с вкладками, даже если я конвертировал отступы в пробелы !!!
Сразу после того, как я удалил это расширение, отступы больше не меняются при переключении вкладок редактора, и я могу работать более комфортно, вместо того, чтобы вручную преобразовывать вкладки в пробелы каждый раз, когда я переключаю файлы - это больно.
В VSC версии 1.31.1
или более (я думаю). Понравился седький Алекс Дима. Вы можете легко настроить это с помощью этих настроек для
ctr + shift + p
Файл меню → Настройки → Настройки
Добавить в настройки пользователя:
"editor.tabSize": 2,
"editor.detectIndentation": false
затем щелкните правой кнопкой мыши по вашему документу, если он уже открыт, и выберите "Формат документа", чтобы ваш существующий документ следовал этим новым настройкам.
@alex-dima решение с 2015 года изменит размеры вкладок и пространства для всех файлов, а решение @Tricky с 2016 года изменит только настройки для текущего файла.
С 2017 года я нашел другое решение, которое работает на основе языка. Код Visual Studio не использовал правильные размеры вкладок или настройки пространства для Elixir, поэтому я обнаружил, что могу изменить настройки для всех файлов Elixir.
Я щелкнул по языку в строке состояния ( "Elixir" в моем случае), выберите "Настроить" языковые настройки "Эликсир"... "и отредактировал языковые настройки, специфичные для Elixir. Я просто скопировал настройки" editor.tabSize "и" editor.insertSpaces" из настроек по умолчанию слева (я так рад, что они показаны), а затем изменил их справа.
Он отлично поработал, и теперь все файлы языка Elixir используют правильные размеры и размеры вкладок.
При использовании TypeScript ширина вкладки по умолчанию всегда равна двум, независимо от того, что написано на панели инструментов. Вы должны установить "prettier.tabWidth" в настройках пользователя, чтобы изменить его.
Ctrl + P, Тип → Настройки пользователя, добавить:
"prettier.tabWidth": 4
Если это для Angular 2, и CLI генерирует файлы, которые вы хотели бы по-разному отформатировать, вы можете отредактировать эти файлы, чтобы изменить то, что генерируется:
npm_modules/@angular/cli/blueprints/component/files/__path__/*
Не рекомендуется массово, так как обновление npm удалит вашу работу, но сэкономило мне много времени.
Я попытался изменить редактор .tabSize
на 4, но .editorConfig
переопределяет любые настройки, которые я указал, поэтому нет необходимости изменять какие-либо настройки в пользовательских настройках. Вам просто нужно отредактировать файл.editorConfig:
set indent_size = 4
Является ли приоритет этих настроек User--> Рабочая область → Папка?
Я спрашиваю, потому что опция Detect Indentation доступна на всех трех уровнях. В настоящее время я отключил его на всех трех уровнях, чтобы быть в безопасности, но хочу знать, было ли это просто излишним с моей стороны, и установки на уровне пользователя было бы достаточно.
Вы можете просто щелкнуть по клавиатуре cmnd или cntrl, она откроет страницу настроек, а затем прокрутить вниз, вы должны увидеть размер вкладки.
Пользователь3550138 правильный. lonefy.vscode-js-css-html-formatter
переопределяет все параметры, указанные в других ответах. Однако вам не нужно отключать или удалять его, так как он может быть настроен.
Полные инструкции можно найти, открыв боковую панель расширений и нажав на это расширение, и оно отобразит инструкции по настройке в рабочей области редактора. По крайней мере, это делает для меня в Visual Studio Code версии 1.14.1.