У меня в проекте есть файлы TypeScript и HTML, в обоих файлах вкладки преобразованы в пробелы.

Я хочу отключить автоконвертирование и убедиться, что в моем проекте есть только вкладки.

Изменить:

С этим параметром кажется, что он работает в файлах HTML, но не в файлах TypeScript.

{
  "editor.insertSpaces": ложь
}

Ответы (12)

В .vscode / settings.json есть 3 варианта:

// The number of spaces a tab is equal to.
"editor.tabSize": 4,

// Insert spaces when pressing Tab.
"editor.insertSpaces": true,

// When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
"editor.detectIndentation": true

editor.detectIndentation detects it from your file, you have to disable it. If it didn't help, check that you have no settings with higher priority. For example when you save it to User settings it could be overwritten by Workspace settings which are in your project folder.

Обновление:

Вы можете просто открыть Файл »Настройки» Настройки или использовать ярлык:

CTRL+, (Windows, Linux)

+, (Mac)

Обновление:

Теперь у вас есть альтернатива редактированию этих параметров вручную.
Нажмите на селектор Пробелы: 4 в правом нижнем углу редактора:
 Ln44, Col .  [Spaces:4] . UTF-8 with BOM . CTRLF . HTML . :)

Если вы хотите преобразовать существующий ws в вкладку, установите расширение из Marketplace
РЕДАКТИРОВАТЬ:
Чтобы преобразовать существующий отступ из пробелов в табуляцию, нажмите Ctrl+Shift+P и введите:

>Convert indentation to Tabs

This will change the indentation for your document based on the defined settings to Tabs.

Ctrl+Shift+P, затем «Преобразовать отступы в табуляцию»

Чтобы изменить настройки вкладки, щелкните текстовую область справа от текста Ln / Col в строке состояния в правом нижнем углу окна vscode.

Имя может быть Размер табуляции или Пробелы.

Появится меню со всеми доступными действиями и настройками.

enter image description here

  1. Выделите свой Код (в файле)
  2. Щелкните Размер вкладки в правом нижнем углу окна приложения. Tab Size in bottom righthand corner of application window image
  3. Выберите соответствующий параметр «Преобразовать отступ в табуляцию». Select the appropriate Convert Indentation to Tabs image
{
  "editor.insertSpaces": true
}

Правда у меня работает.

У меня хорошо работают настройки ниже,

"editor.insertSpaces": false,
"editor.formatOnSave": true, // only if you want auto fomattting on saving the file
"editor.detectIndentation": false

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

Check this from official vscode setting:

// Controls whether `editor.tabSize#` and `#editor.insertSpaces` will be automatically detected when a file is opened based on the file contents.
"editor.detectIndentation": true,

// The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
"editor.tabSize": 4,

// Config the editor that making the "space" instead of "tab"
"editor.insertSpaces": true,

// Configure editor settings to be overridden for [html] language.
"[html]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 2,
    "editor.autoIndent": false
}

Установите значение false, если вы используете файлы .sass, и это дает вам Ожидаемые вкладки, были пробелы ошибка:

"editor.detectIndentation": false

... затем выберите свой блок кода и сделайте отступ, нажав клавишу tab, и сделайте отступ, нажав клавишу shift + tab.

Файл -> Настройки -> Настройки или просто нажмите Ctrl + , и выполните поиск пробелы, тогда просто отключите эту опцию:

enter image description here

Мне пришлось заново открыть файл, чтобы изменения вступили в силу.

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

В первом поле (Найдите) скопируйте и вставьте вкладку из исходного кода.

Во втором поле (Заменить) введите количество пробелов, которое вы хотите использовать (например, 2 или 4).

Если вы нажмете кнопку ..., вы можете указать каталоги для включения или игнорирования (например, src / Data / Json).

Наконец, просмотрите предварительный просмотр результатов и нажмите Replace All. Это может повлиять на все файлы в рабочей области.

В моем случае проблема была в расширении JS-CSS-HTML Formatter, установленном после январского обновления. Свойство indent_char по умолчанию - это пробел. Я удалил его, и странное поведение прекратилось.

If you want to use tabs instead of spaces

Попробуйте это:

  1. Перейдите к ФайлНастройкиНастройки или просто нажмите Ctrl + ,
  2. В Настройки поиска верхняя панель вставьте editor.insertSpaces
  3. Вы увидите что-то вроде этого: Редактор: Вставьте пробелы и, вероятно, это будет проверено. Просто снимите флажок, как показано на изображении ниже

Editor: Insert Spaces

  1. Обновить Код Visual Studio (Нажмите F1 ➤ введите окно перезагрузки ➤ нажмите Введите)

Если не сработало, попробуйте следующее:

Вероятно из-за установленного плагина JS-CSS-HTML Formatter

(Вы можете проверить это, перейдя в ФайлНастройкиРасширения или просто нажав Ctrl + Shift + X, в списке Включено вы найдете JS-CSS-HTML Formatter)

If so you can modify this plugin:

  1. Press F1 ➤ type Formatter config ➤ press Enter (it will open the file formatter.json)
  2. Modify the file like this:
 4|    "indent_size": 1,
 5|    "indent_char": "\t"
——|
24|    "indent_size": 1,
25|    "indentCharacter": "\t",
26|    "indent_char": "\t",
——|
34|    "indent_size": 1,
35|    "indent_char": "\t",
36|    "indent_character": "\t"
  1. Save it (Go to FileSave or just press Ctrl + S)
  2. Reload Visual Studio Code (Press F1 ➤ type reload window ➤ press Enter)

2022 WebDevInsider