2011-01-06 17 views
8

tak, mam repozytorium zdefiniowanego w sposób tak:resharper intellisense problem z metod rozszerzenie

IQueryable<Customer> Customers{...} 

i gdzie indziej metodę rozszerzenia do filtrowania klientów tak:

public static IQueryable<Customer> WithID(this IQueryable<Customer> customers, int ID){...} 

i to ładnie się wyświetla, pozwalając mi korzystać z repozytorium w ten sposób:

var c = repo.Customers().WithID(5).Single(); 

ale problemem jest, ReShar za dużo czasu na Auto-Completion w tym wielkim czasie. Po wpisaniu

var c = repo.Customers().Wi 

uzyskać piękny Intellisense pokazując mi (...) metodę WithID, ale kiedy kursor w dół do niego i wciśnij klawisz TAB, zamiast się metodę WithID() zgodnie z oczekiwaniami, to wraca i kod zmiany już napisany i linia kończy się patrząc zamiast jak:

var c = CustomerExtensions.WithID(repo.Customers()) 

co oczywiście daje mi konieczności wrócić i wpisać go ponownie, tym razem IGNORUJ intellisense - co IMHO nigdy nie jest dobrą rzeczą:)

I potwierdziły, że jest to problem przez ReSharper wchodzenie w opcje i określanie "Visual Studio" dla Intellisense. Nie chcę wracać do zwykłego Studia!

Czy ktoś może pomóc lub zaproponować obejście?

+0

Nie mam problemu z żadną z naszych metod rozszerzenia. Z jakiej wersji ReSharper korzystasz? –

+0

R # 5.1 VS 2010, Windows 7. Biblioteka klas projektu w wersji 4.0. Hmmm ... dotyczy to wszystkich naszych programistów, nie tylko mnie. –

+0

Czy znalazłeś rozwiązanie? Zdarza się to również w wielu sytuacjach. – MatteS

Odpowiedz

5

Miało to również wpływ na mnie. Wygląda na to, że jest to znany błąd:

http://youtrack.jetbrains.net/issue/RSRP-274746

Wyłączanie Resharper -> Opcje -> IntelliSense -> Zakończenie Zachowanie -> "automatycznie wstawić nawiasy po zakończeniu" pomaga.

+0

To usuwa błąd, chociaż nie jest to najlepsze rozwiązanie problemu. Wygląda na to, że błąd został naprawiony w wersji 6.0, ale wrócił do 8. Wygląda na to, że naprawili go ponownie w wersji 9.0, więc musisz tylko zapłacić kilkaset dolarów (ponownie), aby rozwiązać problem. Wydaje się, że 9.0 wciąż boryka się z metodami rozszerzenia, ale zamiast zmieniać wywołanie, po prostu nie otwiera w ogóle nawiasów i zamiast tego tworzy następny wiersz. Co mówią o programistach piszących błędy, aby pozostać zatrudnieni? https://youtrack.jetbrains.com/issue/RSRP-426530 –

+0

Wyłączenie tego ustawienia i ponownie wydaje się, że zostało to naprawione dla użytkownika –

0

Można powołać go jako metodę rozszerzenia przy użyciu zakończenie typu (Ctrl + Alt + spacja) i będzie prawidłowo ominąć błąd.

Ten błąd zdarza się tylko w odniesieniu do niektórych metod rozszerzenie, nie wiem dlaczego, choć.

Powiązane problemy