Visual Studio 2010 IntelliSense nie wybiera wartości domyślnej - po prostu ją zaznacza

140

Mam dość irytujący problem z IntelliSense w Visual Studio 2010:

Od czasu do czasu (ale nie zawsze - poza moją kontrolą) silnik Intellisense decyduje się „zaznaczyć” opcję, zamiast ją wybierać. Oznacza to, że zamiast wpisywać, e n Enteraby uzyskać dostęp do opcji domyślnej zaczynającej się od „En ...”, muszę pisać e n down Enter.

Zwykle tak to działa przez chwilę, a potem nagle powraca pożądane zachowanie. Mój wniosek jest taki, że gdzieś jest jakaś opcja, która jest ustawiana automatycznie i nie wiem, jak ją kontrolować.

Jak się upewnić, że opcja domyślna jest zawsze zaznaczona, a nie tylko „zaznaczona”?

Dla porównania: to jest Visual Studio 2010 RC z CodeRush Xpress 10.1.

Tomas Aschan
źródło
@devio: czy kiedykolwiek dowiedziałeś się, dlaczego?
Tomas Aschan

Odpowiedzi:

275

Spróbuj Ctrl- Alt- Space.

znalazłem to w Connect i wydaje się, że działa dla mnie

devio
źródło
1
Artykuły Microsoftu zwykle znikają po pewnym czasie. Byłoby miło wyjaśnić trochę, dlaczego i jak
AaA
76

Można go również zmienić, przechodząc do Edycja -> IntelliSense -> ToggleCompletionMode

Machet
źródło
2
plus jeden za znalezienie alternatywnej drogi dla tych, którzy mogli zmienić swoje skróty.
Daniel Casserly,
1
Dziękuję Ci. Mogłem zignorować Ctrl + Alt + Spacja, myśląc, że nigdy nie będzie to trwałe rozwiązanie, ale wpłynie to tylko na to, co aktualnie piszesz. Mimo że okazuje się, że to to samo, co teraz, przykuło to moją uwagę i pomaga mi zrozumieć, co robię.
Timo
5
vs2017, nadal działa. I nadal losowo się wyłącza ... ten błąd jest tu od dawna.
Douglas Gaskell,
@DouglasGaskell Nie będę odpisywał możliwości, że tłusto nacisnąłem Ctr + Alt + Space zamiast losowej zmiany.
S. Buda,
1
Działa z vs2019, o którym myślałem, że w pewnym momencie jest zepsuty. Dzięki, oszczędziłeś mi nerwów za każdym razem, gdy piszę właściwość C #!
Andrii M4n0w4R
19

Miałem ten sam problem, ale stwierdzenie, że naciśnięcie TABzawsze wybiera domyślny wybór.

cybernetyczny
źródło
1
Prawdziwe. Ale nadal musisz nacisnąć kropkę, aby wyświetlić listę członków. Jeden dodatkowy krok :(
Tomas Beblar
2
@Tomas. Oczywiście, że tak - wszystkie powyższe rozwiązania polegają na tym. Wyobraź sobie, że tak się nie stanie. Zaczynasz wpisywać nazwę zmiennej, która w pierwszych kilku literach mogłaby dopasować kilka zmiennych o podobnych nazwach, ale różnych typach, a WSZYSTKIE składowe wszystkich tych typów pojawiały się automatycznie. Naciśnięcie klawisza kropki może być dodatkowym krokiem, ale oszczędza Ci zdrowie psychiczne!
cyberspy
2

Możesz przełączyć się w tryb IntelliSense o niskim wpływie, po prostu naciśnij Ctrl + Alt + Spacja, a to rozwiąże problem.

rpcalisir
źródło
2

Przynajmniej dla C ++

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

i zmień Member List Commit AggressivenaTrue

Bogdana
źródło
1
Wielkie dzięki! Oszalałem, bo nie mogłem znaleźć tej opcji! Może mogą zmienić nazwę tej opcji, ponieważ jest ona nieco ukryta pod obecną nazwą. Lub przynajmniej uaktywnij go domyślnie ...
Lapo,
1

Aby zapewnić kompletność, ta opcja ma przycisk przełączania na pasku narzędzi:

Przełącz przycisk paska narzędzi trybu ukończenia

Jej stan wizualny powie Ci, który tryb ukończenia jest aktualnie wybrany.

kanton7
źródło
Chociaż prawdopodobnie prawdziwe i cenne informacje dzisiaj, jestem pod wrażeniem, że znalazłeś to> 10-letnie pytanie, aby to napisać :)
Tomas Aschan
Jest na szczycie listy „pokrewnych” podobnych pytań i całkiem ładnie pojawia się w wyszukiwarce. Nadal jest aktualny, mimo że ma dziesięć lat!
kanton
WTH! Proste i zrozumiałe. Dzięki. VS2019.
bolkay