2009-02-13 3 views
37

Я родом из фона Java и много лет проработал с использованием Eclipse. Одна из особенностей, которую я пропускаю при использовании Visual Studio (2008), заключается в том, что представление класса не обновляется автоматически при изменении класса. В Eclipse он имеет (класс) «Outline» окно, которое представляет текущий класс и показывает методы/свойства и т. Д., Это всегда обновляет класс, который используется.Visual Studio - автоматически обновлять представление класса при изменении класса

Эквивалентный «вид класса» в VS не обновляется автоматически в соответствии с текущим классом, который я посещаю. Я задавался вопросом, знает ли кто-нибудь, как это произошло?

В идеале я бы хотел, чтобы вид VS был похож на Eclipse, поскольку я мог его получить, но эта функция была бы замечательной.

Спасибо заранее, Будет

+0

Eclipse не одинок, Netbeans делает то же самое. – SMUsamaShah

ответ

-4

С ReSharper, ALT + SHIFT + L переходит к текущему файлу в обозревателе решений.

+1

Он работает только для Resharper, поэтому я не считаю это ответом, хотя он работает с моей визуальной студией + resharper 4.1. – Sung

+3

Класс в виде класса, а не файл в проводнике решений ... –

-3

Меню Сервис -> Параметры

Затем в области «Project и решения», вы можете выбрать для отслеживания активного элемента.

+0

Проверено на Visual Studio 2008 (с Resharper 4.1) – Sung

+3

Это работает для Solution Explorer, но не класса, который ищет OP. –

0

Я не знаю, как это сделать, но я согласен с тем, что это будет хорошая функция.

Вы можете отслеживать элементы в обозревателе решений, хотя (Опции-> Проект и Решения-> Общие-> Отслеживание активного элемента в обозревателе решений).

8

Я не могу помочь вам с классом, но, может быть, вы хотите попробовать исследовать решение? Вы можете синхронизировать эту функцию с помощью:

tools -> options -> projects and solutions -> general 
enable "track active item in solution explorer" 
+0

Это то, что я использовал! Синхронизация сочетания клавиш в классе не будет работать с различными привязками. – Chucky

-2

Исходя из Eclipse, вы пропустите множество таких функций. То, что я пропустил больше всего для навигации, легко перейти к типу, перейти к наследнику и так далее. Другие функции, такие как поддержка nUnit, также не являются частью Visual Studio Visual Studio. Вот список надстроек, ликвидировать разрыв:

Но вот приходит недостаток: они все взимать плату деньги (TestDriven.net только для коммерческого использования). Тем не менее, все они предлагают бесплатные испытания.

+0

IIRC вы можете/перейти к типу/со сдвигом-F12. –

+0

Ctrl + F12, Shift + F12 или сделать ваши пользовательские ярлыки – tatigo

18

Для Visual Studio 2005

Я нашел решение, которое не обновляется вид автоматически, но по крайней мере вы получаете запись контекста, который помогает:

http://blogs.msdn.com/ansonh/archive/2005/12/09/502020.aspx

Вы также можете определить клавиша быстрого доступа:

Инструменты-> Параметры-> Окружающая среда-> Клавиатура и посмотрите, можете ли вы найти «View.SynchronizeClassView».


О, просто для смеха - вот ответ Microsoft: http://msdn.microsoft.com/en-us/library/2dae8h2s.aspx

... Вы можете выбрать любой символ в редакторе кода и найти его мгновенно ...

После 7 шагов ...

«Класс View автоматически свитки к местоположению выбранного символа в его иерархии. "

+0

Я больше не думаю, что это работает в VS2010 (RC) :( –

+0

Для пояснения, комбинация клавиш View.SynchronizeClassView работает с VS2010 RC. – Jaxidian

+4

Microsoft doc на самом деле (предположительно непреднамеренно) смешно. Как они считают, что такой медленный и ручной процесс является «мгновенным и автоматическим», убеждает веру. – Sam

1

У меня не было времени, чтобы получить эту работу еще, но есть код для VS2003/2005 надстройки для автосинхронизацию here (см пост с пометкой„ответ“).

Кстати, этот вопрос, кажется, дубликат this one

2

основе ответа kingmaxxx, я обнаружил, что вы можете добавить кнопку на панель инструментов, чтобы сделать то же самое:.

Инструменты | Настройка -> Команды [TAB] -> Просмотр [Категории]

Возьмите кнопку «Синхронизировать класс» и перетащите ее на одну из панелей инструментов.

39

После прочтения ответа kingmaxxx я пошел в Инструменты-> Параметры-> Среда-> Клавиатура и связал Ctrl + Shift + C с View.SynchronizeClassView в представлении текстового редактора. Это, похоже, вытесняет и дополняет исходное поведение (View.ClassView), поскольку оно отображает ClassView, если оно не было видимым и фокусироваться на текущем классе.

(Visual Studio 2008)

+0

хорошая идея, работает и в Visual Studio 2010. –

+0

также работает в 2005 году. – Sam

+0

хороший ответ ... +1 – Nicholas

3

Проблема с View.SynchronizeClassView является то, что не работает, когда класс рассматривается из виртуальной папки.

6

Лучшим способом создания контекстного меню является щелчок правой кнопкой мыши по типу в редакторе кода. Инструменты-> Настроить Перейдите на вкладку «Команды». Выберите переключатель контекстного меню и выберите «Контекстные меню редактора». Окно кода. Затем «Добавить команду» и выберите «Вид»> «Синхронизировать вид класса».

Теперь, когда вы щелкаете правой кнопкой мыши по типу, вы можете выбрать «Синхронизировать представление класса». Это самый верхний элемент контекстного меню. Внешний вид: Context-menu

0

Также, исходя из java (Eclipse), я пропустил контур (просмотр класса). Я пробовал много решений, и я нашел лучшее, чтобы использовать CODEMAID extension.

Он также предоставляет множество других инструментов, но вы свободны, чтобы не использовать его!

Смежные вопросы