Код VS: отступ одной строки с вкладкой - PullRequest
0 голосов
/ 27 мая 2018

Я использую Emacs очень долгое время, и теперь я хочу переключиться на что-то современное, например, код VS.Одна вещь, которую я действительно использовал в Emacs, это авто-отступ с клавишей Tab:

http://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation.html

Включено с tab-always-indent

Я хочу, чтобы код VS недобавить символ табуляции при нажатии Tab, но автоматически сделать отступ для одной строки, как это делает Emacs, как мне это настроить?

Вот пример в Javascript:

function foo(){
    }  // Press Tab here

ВEmacs результат будет (и я хочу то же самое в коде VS):

function foo(){
}

, поэтому скобка перейдет в начало строки, но результат в коде VS будет

function foo(){
        } // second tab added

Emacs выполняет отступы в соответствии с текущим текстовым режимом (Python / JS / C ++ / Wh независимо).

PS.Я знаю, что могу выбрать область кода и использовать «Выбор формата» или выполнить автоматическое форматирование при сохранении.

1 Ответ

0 голосов
/ 10 октября 2018

Это только частично отвечает на ваш вопрос - перевод Tab в отступ - это не нормализует отступы, как вы хотите.Но вы можете установить для нее какую-то другую команду, которая может делать то, что вы хотите.

Плюс к этому, но разбивает несколько случаев.

{
    "key": "tab",
    "command": "editor.action.indentLines",
    "when": "editorTextFocus && !suggestWidgetVisible && !inSnippetMode"
}

Где она уступает поведению по умолчанию:

  • при использовании Tab для подтверждения диалогового окна intellisense (автозаполнение)
  • при переходе к заполнителям фрагментов

Что ломается:

  • нажатие Tab для отступа уровня текущего блока
  • расширение фрагмента не может быть выполнено сразу после написания префикса фрагмента (вам нужно дождаться открытия intellisense)
  • может быть что-то еще ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...