it-swarm.com.ru

Как настроить коэффициент преобразования табуляции в пространство при использовании кода Visual Studio?

Как настроить коэффициент преобразования табуляции в пространство при использовании кода Visual Studio?

Например, прямо сейчас в HTML создается два пробела за нажатие TAB, но в TypeScript это выдает 4.

645
J. Abrahamson

По умолчанию код 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
888
Alex Dima

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

Посмотрите на нижнюю правую часть экрана. Вы должны увидеть то, что говорит Spaces или Tab-Size.

Мое показывает пробелы, ->  enter image description here

  1. Нажмите на Spaces (или Tab-Size)
  2. Выберите Indent Using Spaces или Indent using Tabs
  3. Выберите количество пробелов или вкладок, которые вам нравятся.

Это работает только для одного документа, но не для всего проекта. Если вы хотите применить его для всего проекта, вам также необходимо добавить "editor.detectIndentation": false в ваши пользовательские настройки.

510
Tricky

Что ж, новая версия 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: Ну, если вы не знаете, как открыть этот файл, вы можете: нажать левую нижнюю передачу -> затем настройки

114
Xin Wang

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

{
    "editor.tabSize": 2,

    "editor.detectIndentation": false
}
102
Jim Doyle

Мы можем контролировать размер вкладки по типу файла с помощью EditorConfig и его расширение кода Visual Studio . Затем мы можем сделать Alt + Shift + F специфичные для каждого типа файлов.

Installation

ext install EditorConfig

Пример конфигурации

.editorconfig

[*]
indent_style = space

[*.{cs,js}]
indent_size = 4

[*.json]
indent_size = 2

settings.json

EditorConfig переопределяет любой файл settings.json, настроенный для редактора. Нет необходимости менять editor.detectIndentation.

49
Shaun Luttin

Это lonefy.vscode-js-css-html-formatter виноват. Отключите его и установите HookyQR.beautify.

Теперь при сохранении ваши вкладки не будут преобразованы.

6
user3550138

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

6
Travis Brown

В правом нижнем углу у вас есть пробелы: пробелы: 2

Там вы можете изменить отступ в соответствии с вашими потребностями: Параметры отступа

3
Dacomis

Если принятый ответ на этот пост не работает, попробуйте:

У меня был EditorConfig для кода Visual Studio / установлен в моем редакторе, и он продолжал переопределять мои пользовательские настройки, которые были установлены для отступа файлов, используя пробелы. Каждый раз, когда я переключался между вкладками редактора, мой файл автоматически вставлялся с вкладками, даже если я преобразовал отступ в пробелы !!!

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

2
dhruvpatel

Меню Файл Настройки Настройки

Добавить в настройки пользователя:

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

затем щелкните правой кнопкой мыши по вашему документу, если он уже открыт, и выберите «Формат документа», чтобы ваш существующий документ следовал этим новым настройкам.

1
Gmoney Mozart

В VSC версии 1.31.1 или более (я думаю) . Как sed Alex Dima . Вы можете легко настроить это с помощью этих настроек для 

  • Windows в меню Файл → Настройки → Настройки пользователя или используйте короткие клавиши ctr + shift + p
  • Mac в меню Код → Настройки → Настройки или ⌘,

 enter image description here

 enter image description here

1
Andrey Patseiko

При использовании TypeScript ширина вкладки по умолчанию всегда равна двум, независимо от того, что написано на панели инструментов. Вы должны установить "prettier.tabWidth" в настройках пользователя, чтобы изменить его.

Ctrl + P, Тип → Настройки пользователя, добавить:

"prettier.tabWidth": 4
1
Steve Hanov

Решение @ alex-dima, выпущенное в 2015 году, изменит размеры вкладок и пробелы для всех файлов, а решение @ Tricky, выпущенное в 2016 году, изменит только настройки для текущего файла.

По состоянию на 2017 год я нашел другое решение, которое работает для каждого языка. Код Visual Studio не использовал надлежащие размеры вкладок или настройки пространства для Elixir, поэтому я обнаружил, что могу изменить настройки для всех файлов Elixir. 

Я щелкнул по языку в строке состояния (в моем случае «Elixir»), выбрал «Настроить языковые настройки« Elixir »...» и отредактировал языковые настройки для Elixir. Я просто скопировал настройки "editor.tabSize" и "editor.insertSpaces" из настроек по умолчанию слева (я так рад, что они показаны), а затем изменил их справа.

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

1
Kevin Peter

Если вы используете более красивое расширение в 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 
1
slowpoke123

Я попытался изменить editor.tabSize на 4, но .editorConfig переопределяет любые настройки, которые я указал, поэтому нет необходимости изменять какие-либо настройки в пользовательских настройках. Вам просто нужно отредактировать файл .editorConfig:

set indent_size = 4
0
Gh111

Вы можете просто нажать на клавиатуре cmd или ctrl, она откроет страницу настроек, затем прокрутить вниз, вы должны увидеть размер вкладки.

0
Samuel Chen

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

npm_modules/@angular/cli/blueprints/component/files/__path__/*

Не рекомендуется массово, так как обновление npm удалит вашу работу, но сэкономило мне много времени.

0
Ben Taliadoros

Пользователь3550138 правильный. lonefy.vscode-js-css-html-formatter отменяет все настройки, упомянутые в других ответах. Однако вам не нужно отключать или удалять его, так как он может быть настроен.

Полные инструкции можно найти, открыв боковую панель расширений и нажав на это расширение, и оно отобразит инструкции по настройке в рабочей области редактора. По крайней мере, это так для меня в Visual Studio Code версии 1.14.1.

0
DRL