Как изменить конфигурацию на одном языке с настройкой "editor.insertSpaces" на "auto"

Я использую VS Code для редактирования проектов на нескольких языках (в основном Ruby, PHP и Javascript), и для каждого языка у нас разные модели отступов (пробелы/табуляции и ширина). Похоже, VS-код поддерживает это, поскольку он позволяет устанавливать editor.insertSpaces и editor.tabSize на "auto", который является определением на каждом языке.

Но пока editor.tabSize смотрит на то, что я хочу, editor.insertSpaces всегда вставляет пробелы в режиме "auto".

Я попытался найти, где можно отредактировать конфигурацию для каждого языка, но не нашел такой настройки. Я также смотрел в языковых каталогах под resources/app/client/vs/languages, но не смог найти то, что указывает эти функции.

Любая идея, как настроить параметры для каждого языка?

Ответ 1

Чтобы использовать настройки perlanguage, вы используете [language_id] в квадратных скобках:

Пример:

{
  "[typescript]": {
    "editor.formatOnSave": true,
    "editor.formatOnPaste": true
  },
  "[markdown]": {
    "editor.formatOnSave": true,
    "editor.wrappingColumn": 0,
    "editor.renderWhitespace": "all",
    "editor.acceptSuggestionOnEnter": false
  }
}

Обновление: editor.tabSize и editor.insertSpaces теперь поддерживаются в версии 1.10