2010-07-08 18 views
10

Czy jest jakiś sposób, aby uzyskać intellisense VS 2008 domyślnie do właściwości powyżej klas w kolizji nazwy?Visual Studio 2008 Intellisense Ustawienia priorytetu

Przykład:

ciągu mojego zakresu Mam właściwość Foo, ale jestem również użyciu klasę Foo. Podczas pisania kodu, jeśli zacznę pisać: Fo, VS2008 intellisense będzie myśleć, że mam na myśli klasy Foo. Chcę, żeby to było myślenie, że mam na myśli nieruchomość Foo.

+1

100 bounty za najbardziej irytujący problem z mojego dnia. Ponieważ priorytet ma niewłaściwą kolejność, gdy mam właściwość o tej samej nazwie co klasa, po jej wpisaniu i naciśnięciu klawisza '.' to ** automatycznie wypełnia się pełną nazwą klasy **, co oznacza, że * nie może * użyć tej właściwości, nie usuwając wszystkich dodanych właśnie sh * t VS (poprzez naciśnięcie ctrl + z, a następnie backspace, następnie ponownie "."). Takie zachowanie występuje nawet po usunięciu '.' z pola" Zaakceptowano po naciśnięciu następujących znaków ". Ten problem wydaje się oczywiście niewielki, aż do momentu, gdy zdarzy się to 200 razy w ciągu jednego dnia. –

+0

Przyznam nagrodę każdemu, kto zna sposób, aby zatrzymać ten konkretny problem (niekoniecznie zmieniając priorytet kategorii). –

+2

(w języku C#) Możesz alias klasy: 'using FooClass = Foo;' Jeśli jesteś w obrębie członka instancji, możesz odwoływać się do właściwości Foo jako 'this.Foo'. Na poziomie klasy musi być w pełni kwalifikowany. Właśnie dlatego wytyczne projektowe Microsoftu sugerują, że nie nadawaj nazw właściwości lub metod tak jak ich typ zwrotu. –

Odpowiedz

3

Niestety nie jest to niemożliwe. Dostosowanie priorytetu kategorii wartości, takich jak klasy/właściwości, nie jest obsługiwane.

1

Nie ma możliwości w VS2010, a nawet w ReSharper 5.0, aby poradzić sobie z tym problemem. Nie będzie to również funkcja ReSharpera 6.0, według JetBrains. Używam innej nazwy nieruchomości, kiedy zaczyna mnie robić agresywna i refaktoryzuje ją po tym, jak wykonałem większość pracy.

Aktualizacja:

zgłosiłem problem do JetBrains jakiś czas temu i ja właśnie dostałem maila, że ​​funkcja została dodana i będzie dostępny w wersji 6.1. Tak dobra wiadomość dla użytkowników ReSharper na tym!

http://youtrack.jetbrains.net/issue/RSRP-273067?projectKey=RSRP

+0

+1 za sugestię przerażającego reaktora. Unikałbym w pierwszej kolejności używania tej samej nazwy na własności i klasie. – WEFX

0

Myślałam dziś dokładnie to samo.

Chociaż funkcja nie jest w wanardowym systemie VS, jest całkiem możliwe zmodyfikowanie kodu w celu dodania tej funkcji. Na przykład prezenter XAML, prawdopodobnie nazwany po komponencie prezentera, który musisz zmodyfikować, robi coś podobnego. XAML Presenter

Zawęża się według przestrzeni nazw i sortuje według typu atrybutu. Zasadniczo, po prostu wezmę listę, którą daje Intellisense Completion Source i sortuje listę. Brzmi dość prosto.

Bardziej wymagające są implementacje elementów sterujących interfejsu użytkownika. Nienawidzę projektowania kontrolek interfejsu użytkownika. . .

Edit:

Jednak nie forsee sposób to zrobić bez łamania możliwości ReSharper za Intelllisense.

0

Użyj VS 2010, tak? Nie widzę jednak, która sytuacja spowodowałaby, że VS wprowadziłaby klasy do właściwości.

Powiązane problemy