VSCode, как автоматически вставлять предложения Intellisense, не нажимая Enter? - PullRequest
0 голосов
/ 07 апреля 2020

Код VS по умолчанию Поведение Intellisense

  • Пользователю предлагается меню предложений
  • Затем пользователю необходимо нажать Вверх или Вниз клавиши со стрелками для навигации по меню
  • Наконец пользователь должен подтвердить с помощью Введите , чтобы вставить предложение и закрыть диалоговое окно

То, что я хотел бы вместо

  • Не нужно нажимать Введите
  • Предложения автоматически вставляются (и циклически перебираются) при нажатии Вверх / Вниз
  • Нажатие любой другой клавиши закроет диалоговое окно и возобновит ввод

Чтобы было ясно, я хочу повторить поведение по умолчанию из YouCompleteMe :

При вводе текста появляется меню завершения. Если вам нравятся завершения, вы используете клавишу <Tab> (по умолчанию ее можно изменить на стрелку <Enter> или <Down> или любую другую), чтобы выбрать нужную строку завершения. Сам процесс «пролистывания» списка для выбора нужного элемента вставляет строку кандидата. При переходе к другому кандидату код редактора заменяется новым кандидатом. Нет клавиши подтверждения , поскольку к моменту, когда у вас есть кандидат, которого вы хотите выбрать в меню, кандидат уже был вставлен в редактор . Нечего принимать. Вы просто продолжаете печатать, кандидат уже вставлен.


Возможно ли такое поведение с кодом Visual Studio, по умолчанию или с помощью плагина?

1 Ответ

0 голосов
/ 10 апреля 2020

Параметр editor.tabCompletion является ближайшим доступным в данный момент:

По умолчанию завершение табуляции отключено. Используйте параметр editor.tabCompletion, чтобы включить его. Существуют следующие значения:

  • off - (по умолчанию) Завершение табуляции отключено.
  • on - Завершение табуляции включено для всех предложений, а повторные вызовы вставляют следующее лучшее предложение.
  • onlySnippets - при завершении табуляции вставляются только фрагменты stati c, префикс которых соответствует текущему префиксу строки.

( Акцент мой)


... за исключением того, что первое нажатие Tab скрывает окно предложения.

Я немного покопался в editor.tabCompletion и обнаружил, что закрытие окна предложения является частью оригинального дизайна опции завершения вкладки , и в то время как другие пользователи спрашивали о опции не закрывать окно предложения или, в частности, YouCompleteMe-style Поведение , что это в настоящее время не поддерживается.

...