Visual Studio 2010 IntelliSense не вибирає значення за замовчуванням - воно просто позначає його


140

У мене досить набридлива проблема з IntelliSense у Visual Studio 2010:

Раз у раз (але не завжди - просто поза моїм контролем) двигун Intellisense вибирає "позначити" варіант, а не насправді вибирати його. Це означає, що замість набору тексту e n Enterдля доступу до параметра за замовчуванням, починаючи з "En ...", я повинен вводити текст e n down Enter.

Зазвичай це працює деякий час, а потім, раптом, така поведінка, яку я хочу, повертається. Мій висновок полягає в тому, що десь є параметр, який встановлюється автоматично, і я не знаю, як контролювати.

Як переконатися, що параметр за замовчуванням завжди вибраний, а не просто "позначений"?

Для довідки: це Visual Studio 2010 RC, з CodeRush Xpress 10.1.


@devio: ти коли-небудь дізнався чому?
Томаш Ашан

Відповіді:


275

Спробуйте Ctrl- Alt- Space.

виявив, що на Connect , і, здається, працює на мене


1
Статті Microsoft, як правило, зникають через деякий час. Було б непогано пояснити, чому і як
AaA

76

Його також можна змінити, перейшовши в меню Правка -> IntelliSense -> ToggleCompletionMode


2
плюс один для пошуку альтернативного способу для тих, хто, можливо, змінив свої ярлики.
Даніель Кассерлі

1
Дякую. Я, можливо, ігнорував Ctrl + Alt + Space, думаючи, що це ніколи не може бути постійним виправленням, але це вплине лише на те, що ви зараз набираєте. Навіть незважаючи на те, що це те саме, що це, це зачепило мене і допоможе зрозуміти, що я роблю.
Тимо

5
vs2017, як і раніше працює. І він все ще вимикає себе випадковим чином ... ця помилка була тут давно проклятий.
Дуглас Гаскелл

@DouglasGaskell Я не буду списати ймовірність того, що я змащував пальцями Ctr + Alt + пробіл замість того, щоб він змінювався випадковим чином.
С. Буда

1
Працює з vs2019, який, на мою думку, був зламаний в якийсь момент. Дякую, ти врятував мені нерви щоразу, коли я писав власність C #!
Андрій M4n0w4R

19

У мене була така ж проблема, але пошук натискання TABзавжди вибирає вибір за замовчуванням.


1
Правда. Але вам доведеться натиснути період, щоб відобразити список учасників. Ще один крок :(
Томаш Беблар

2
@Tomas. Звичайно, ви робите - всі рішення, наведені вище, покладаються на це. Уявіть, якби цього не сталося. Ви починаєте вводити ім’я змінної, яка в перших кількох літерах може збігатися з декількома змінними з подібними іменами, але різних типів, і ВСІ члени для всіх цих типів спливають автоматично. Натискання клавіші періоду може бути додатковим кроком, але це економить ваш розум!
кібершпіль

2

Можливо, ви переключились на режим слабкого впливу IntelliSense, просто натисніть Ctrl + Alt + Space, і це вирішить проблему.


2

Щонайменше для C ++,

Tools / Options / Text Editor / C/C++/ Advanced / IntelliSense

і змінити Member List Commit AggressiveнаTrue


1
Дуже дякую! Я зійшов з розуму, бо не зміг знайти такий варіант! Можливо, вони можуть перейменувати цю опцію, тому що вона трохи прихована від її поточної назви. Або принаймні зробіть його активним за замовчуванням ...
Lapo

1

Для повноти ця опція має кнопку перемикання вгору на панелі інструментів:

Переключення кнопки на панелі інструментів «Режим завершення»

Його візуальний статус підкаже, який режим завершення обраний на даний момент.


Хоча сьогодні, напевно, правдива та цінна інформація, я трохи вражений, що ти знайшов це запитання, яке писав 10 років, щоб написати це :)
Томаш Ашан

Він знаходиться у верхній частині "пов'язаного" списку для подібних питань, і виходить досить непогано під час пошуку. Це все ще актуально, незважаючи на те, що виповнилося десятиліття!
кантон7

WTH! Простий і прямолінійний. Дякую. VS2019
болкай

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.