2012-02-28 20 views
8

Używam C# 3.5 i Linq. Mam ReSharper 6.1 na VS 2010.Funkcja autouzupełniania ReSharpera z anonimowymi typami w wyrażeniu lambda

Na przykład, jeśli wprowadzić następujące oświadczenie w edytorze kodu:

var result = dataContext.Items.Select(i => new {Name = i.ItemName}); 

Jak tylko wpisać new { to automatycznie uzupełnia się new string{}. Właściwie nie wiem, czy to zawsze jest string, czy zależy od lambda. Ale uważam, że zawsze muszę go usunąć i zarchiwizować. Dzieje się to za każdym razem, gdy deklaruję anonimowe typy w lambda.

Jakie ustawienia w ReSharper lub VS należy zmienić, aby móc wprowadzać anonimowe typy przy użyciu powyższej składni bez wystąpienia? Najlepiej, chciałbym zachować automatyczne uzupełnianie we wszystkich innych sytuacjach, po prostu nie ten konkretny, ponieważ robi niepoprawne założenie co do mojego zamiaru.

Odpowiedz

12

Resharper 6.1 dodał nową funkcję do kontrolowania sposobu działania autopopupów intellisense. Idź do ReSharper-> Opcje-> Środowisko-> IntelliSense-> Autopopup i zmień ustawienie "Po" nowe "" na "Wyświetl, ale nie wybieraj preselekcji".

enter image description here

+0

To działało idealnie, dziękuję za pokazanie mi czegoś nowego. –

+0

Taki ratownik! –

+0

To jest naprawdę przydatne! Szukałem podobnego ustawienia (jeśli robisz LINQ [składnia VB tutaj], i wpisujesz 'Dim thing = (From x In stuff)', to automatycznie wypełniłoby 'x' na' Xor' – bhamby

Powiązane problemy