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.


@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


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


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.


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.


2

Przynajmniej dla C ++

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

i zmień Member List Commit AggressivenaTrue


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.