2011-01-31 24 views
9

Używam VS 2010 z resharper. Jeśli mam klasy o nazwie ConfigParserTests a następnie napisaćAuto zakończenia programu Resharper (lub Visual Studio)

new ConfigParser(

kod zostanie automatycznie zakończona do

new ConfigParserTests()

który nie jest to, co chcę. Każdy pomysł, jak wyłączyć tę paskudną funkcję.

[Edytuj]

Co chcę to pisać

new ConfigParser()

bez naciskania "Esc". W tym przypadku używam TDD, więc ConfigParser nie istnieje.

[/ Edit]

I zostały rozglądać w menu zarówno ReSharper i VS INTELLISENSE bez znalezienia niczego przydatne.

Odpowiedz

3

Wybierz opcję Resharper \ Opcje. Z listy po lewej wybierz zachowanie Enirionment \ Intellisence \ Completion.

Następnie wyłączyć pola wyboru „Automatycznie pełnej mocy pojedynczego elementu z:”

5

Nie jest jasne, czy jesteś narzeka, którego nazwa klasy to wypełnienie, lub nawiasy. Zajmę się obydwoma.

Jeśli klasa, której próbujesz użyć, znajduje się w innym obszarze nazw i nie dodałeś jeszcze odpowiedniego using, to wykonanie kodu działa dokładnie tak, jak można się tego spodziewać - powiedzieliście, które obszary nazw wykorzystać, i nie powiedzieliście mu, żeby używał tego z ConfigParser; więc zgodnie z oczekiwaniami używa najbliższego dopasowania.

Ale ReSharper ma skróty, które mogą zaoszczędzić Ci pracę, znajdując klasę i dodając dla ciebie using. W tym przypadku sugeruję, aby zaglądnąć do different Ctrl+Space options w ReSharper. Możesz napisać: new cp < Ctrl + Alt + Spacja >, a ReSharper wyświetli menu z pytaniem, czy masz na myśli ConfigParser lub ConfigParserTests. Po naciśnięciu klawisza Enter, aby wybrać żądany, zostanie dodany niezbędny using do górnej części pliku i wypełnij new ConfigParser() z kursorem między nawiasami.

(Jeśli klasa ConfigParser jeszcze nie istnieje, to jest to jeden z przypadków, gdzie nie chcą uzupełniania kodu. Wystarczy wpisać new ConfigParser a następnie naciśnij klawisz Esc przed wpisując otwartego paren.)

Jeśli urządzenie Problem polega na tym, że dodaje on blendera, pamiętaj, że jeśli wpiszesz ) ReSharper nie doda drugiego zamykającego nawiasu - rozpozna, że ​​piszesz parenę, która już została dodana, więc po prostu przesunie kursor do dobrze. Jeśli z jakiegoś powodu nadal nie chcesz, aby wypełnił on otwartą tabelę, @jdv-Jan de Vaan's answer wyjaśnia, gdzie zmienić tę preferencję.

+0

+1: Zapamiętam to. –

+0

Chodzi o skróty klawiaturowe. – MrBoJangles

5

Podczas TDD należy umieścić intellisense VS do trybie sugestii zamiast trybu zakończenia normalny .

Różnica jest opisany here

Niestety Resharper przejmuje intellisense więc nie można zmienić tryb bez dezaktywacji ReSharper.

7

Otwórz okno dialogowe Opcje, przejdź do opcji Intellisense> Autopopup. widać opcji autouzupełniania odpowiadają kilku przypadkach i skategoryzowane według języka:

Changing Resharper auto-complete behaviour


Jak widać, można wybrać dla każdego pojedynczego przypadku:

  • Nie pokaz.

  • Wyświetl, ale nie wybieraj wstępnie. (wydaje się odpowiedni dla twojego przypadku)

  • Wyświetlanie i preselekcja. (domyślnie)


Różne opcje mogą być wybierane w różnych przypadkach lub językach. Na przykład, można określić różne zachowania w C#:

  • Po kropce

  • Po 'nowe'

  • w dok komentuje

  • list i cyfr

  • Gdzie oczekiwana jest wartość

HTH

0

Jeśli używasz ReSharper 6.0 Chciałbym uaktualnić do 6.1 jak było dużo ten rodzaj wstępnej selekcji błędów wprowadzonych w wersji 6.0 i ustalonych w 6.1.

0

Wybierz Resharper \ Options \ Środowisko \ Intellisence \ Ukończenie Zachowanie Następnie zmień opcje w "Automatycznie wstawiaj nawiasy po zakończeniu: można wyłączyć wszystkie razem Naprawdę stary człowiek głos Chcę wpisać mój własny(), Tylko otwarcie, lub Młody Hip Cod er Dude Podobał mi się reharper, żeby zrobić to wszystko dla mnie człowiek

Powiązane problemy