Остановить поведение автозаполнения по умолчанию при попадании пробела в Visual Studio 2015

ПРИМЕЧАНИЕ Ключевое слово здесь - "по умолчанию". Я знаю, что могу ударить, и поведение по умолчанию прервано. Я не хочу ударять ключ выхода каждый раз, когда IDE думает, что он знает, чего я хочу. Мне не нужно было это делать в 2013 году.

ДОБАВЛЕНИЕ 2 Кажется, мне все еще сложно сообщить, что я здесь делаю. Я хочу, чтобы ничего не случилось, когда я нажимаю клавишу пробела... Я просто хочу, чтобы на экране появился символ пробела. Единственный раз, когда я хочу, чтобы IDE на самом деле вставлял предложение, я попал в панель вкладок. Надеюсь, что яснее?

Это сводит меня с ума. 2013 и раньше разрешили вам устанавливать символы завершения (возможно, это был resharper?), Но в 2015 году я не вижу возможности остановить поведение автозаполнения по умолчанию.

Например, скажем, у меня есть класс Foo, но у меня нет уже указанного пространства имен, но у меня есть класс FooBar в одном из указанных пространств имен, если я набираю:

public void DoSomething(Foo// <-- then a space)

... он автоматически ставит FooBar. Как я могу отключить это поведение?

Я должен упомянуть, что я все еще хочу AutoComplete, но только на вкладке.

Ответ 1

Изменить → Intellisense → Переключить режим завершения

От: https://msdn.microsoft.com/en-us/library/hcw1s69b.aspx

"Вы также можете перейти в режим подсказки, в который вводится только текст, который вы вводите, например, если вы вводите идентификатор, отсутствующий в списке, и нажмите TAB, в режиме завершения запись заменит типизированный идентификатор. Для переключения между режимом завершения и режимом предложения нажмите CTRL + ALT + ПРОБЕЛ или нажмите" Редактировать/IntelliSense/Переключить режим завершения".

Ответ 2

Для всех тех, кто имеет ту же проблему в Visual Studio Код, добавьте эту строку в Настройки пользователя:

"editor.acceptSuggestionOnCommitCharacter": false

Ответ 3

измените настройку для редактора: принять предложение при вводе на off

Ответ 4

Я только что сделал это в Visual Studio, перейдя по ссылке:

Файл > Настройки > Настройки > переключают "Предлагать на триггерных символах"

Я также отключил "Автоматическое предложение по символу фиксации" и "Принять предложение при вводе"  - однако вы можете захотеть эти настройки.

Ответ 5

Если вы используете Vs2017 и параметр сбрасывается при каждом запуске Vs, я создал небольшой сценарий, который автоматически отключает завершение пространства при запуске с помощью расширения Visual Commander:

введите описание ссылки здесь

Ответ 6

Если вы используете Resharper и Visual studio 2017, вам может понадобиться комбинация существующих ответов, чтобы перестать получать поведение автозаполнения при нажатии пробела. Это слишком долго для комментария, поэтому добавил ответ.

  1. Убедитесь, что в Visual Studio режим Intellisense Toggle Complete выключен/не выбран (как отмечено в других ответах). Примечание. Если вы включите значки "Текстовый редактор" на панели инструментов VS вверху, вы увидите дополнительный значок, который подсвечивается и подсвечивается, показывая, включено или выключено intellisense. И

  2. В раскрывающемся раскрывающемся списке инструментов на панели инструментов (Resharper> Параметры...) перейдите в IntelliSense> Завершение символов> и затем снимите флажок "Завершить на месте" для С#.

Теперь автозаполнение не происходит при нажатии пробела (все еще можно использовать вкладку и т.д. Для автозаполнения).

(Связано в стороне: это автозаполнение в пространстве очень плохо, если вы используете VSVim, потому что вы не можете по умолчанию использовать обычно ключ vim ESC, чтобы "выйти" из режима автозаполнения. Например, очень трудно даже набрать static модификатор для переменной/функции без ее замены на какой-либо другой вариант автозаполнения.)