Поделиться через


Страницы свойств

Пользователи могут просматривать и изменять зависящие от конфигурации проекта свойства и независимые свойства с помощью страниц свойств. Кнопка "Страницы свойств" включена в окне "Свойства" или на панели инструментов Обозреватель решений для объектов, которые предоставляют представление страницы свойств выбранного объекта. Страницы свойств создаются средой и доступны для решений и проектов. Однако они также могут быть доступны для элементов проекта, использующих свойства, зависящие от конфигурации. Эту возможность можно использовать, если для файлов в проекте требуются различные параметры переключения компилятора для правильной сборки.

Использование страниц свойств

Если страница свойств уже отображается и изменения выделения (например, из решения в проект), сведения, отображаемые на страницах, изменяются для отображения свойств для нового выбора. Если в объекте нет свойств, поддерживающих страницы свойств, страница свойств пуста.

Если выбрано несколько объектов, страница свойств отображает пересечение свойств для всех выбранных элементов. Если выбранный элемент не содержит свойства, зависящие от конфигурации, и кнопка "Страницы свойств" на панели инструментов Обозреватель решений нажимается, фокус изменится на окно свойств. Дополнительные сведения о окно свойств и выборе см. в разделе "Расширение свойств".

Если свойства отображаются для нескольких объектов и вы изменяете значение на странице свойств, все значения для объектов задаются новым значением, даже если они изначально были разными, и страница была пустой при отображении свойств отдельного объекта.

В Visual Studio доступны два общих типа диалоговых окон ProjectProperty Pages . Во-первых, для проектов Visual Basic страницы свойств отображаются с помощью формата поля, как показано на следующем снимке экрана. Во втором, показанном далее в этом разделе, на странице свойств размещается сетка свойств, аналогичная приведенной в окне свойств.

Страницы свойств Visual Basic

Диалоговое окно "Страницы свойств проекта" с форматом полей и структурой дерева

Структура дерева в диалоговом окне "Страницы свойств" не создается с помощью IVsHierarchy. Среда, основанная на имени уровня, переданном интерфейсами ISpecifyPropertyPages , IVsPropertyPage создает ее.

На страницах свойств Visual Studio доступны только две категории верхнего уровня:

  • Общие свойства, в которых отображаются сведения о конфигурации для выбранного объекта или объектов. В результате, если выбрана одна из подкатегорий "Общие свойства", параметры конфигурации, платформы и Configuration Manager в верхней части диалогового окна недоступны.

  • Свойства конфигурации, содержащие сведения, зависящие от конфигурации, связанные с отладкой, оптимизацией и сборкой для решения или проекта.

    Вы не можете создать дополнительные категории верхнего уровня, но вы можете не отображать одну или другую в реализации IVsPropertyPage. Например, если для объекта не отображаются независимые от конфигурации свойства, вы можете не отображать категорию "Общие свойства". При реализации в объекте конфигурации в объекте конфигурации отображаются общие свойства, если ISpecifyPropertyPages они реализуются ISpecifyPropertyPages из объекта обзора элемента и IVsCfgIVsProjectCfgсвязанных интерфейсов.

    Каждая категория, отображаемая под категорией верхнего уровня, представляет отдельную страницу свойств. Записи категории и подкатегории, доступные в диалоговом окне, определяются реализацией ISpecifyPropertyPages и IVsPropertyPage.

    IDispatch объекты для элементов в контейнере выбора, которые имеют свойства, отображаемые на страницах свойств, реализуются ISpecifyPropertyPages для перечисления списка идентификаторов классов. Идентификаторы классов передаются в виде переменных ISpecifyPropertyPages и используются для создания экземпляров страниц свойств. Список идентификаторов классов также передается IVsPropertyPage для создания структуры дерева слева от диалогового окна. Затем страницы свойств передают сведения обратно IDispatch в объект, реализующий ISpecifyPropertyPages и заполняющий сведения для каждой страницы.

    Свойства объекта обзора извлекаются с помощью IDispatch каждого объекта в контейнере выбора.

    Реализация Help::DisplayTopicFromF1Keyword в VSPackage предоставляет функциональные возможности кнопки справки.

    Дополнительные сведения см IDispatch . и ISpecifyPropertyPages в библиотеке MSDN.

    Второй тип страниц свойств, отображаемых в примерах, содержит форму сетки свойств, как показано на следующем снимке экрана.

    Страницы свойств VC

    Диалоговое окно "Страницы свойств" с сеткой свойств

    Интерфейсы и (объявленные IVSMDPropertyBrowser в vsmanaged.h) используются для создания и IVSMDPropertyGrid заполнения сетки свойств в диалоговом окне или окне.

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

    То, что ранее было активным проектом, теперь фиксируется одним из трех различных способов:

  • Проект запуска

    На странице свойств решения можно указать проект или проекты, которые будут запущены, когда пользователь нажимает клавишу F5 или выбирает команду "Выполнить" в меню "Сборка". Это работает так же, как и старый активный проект в том смысле, что его имя отображается в Обозреватель решений с полужирным шрифтом.

    Вы можете получить проект запуска в качестве свойства в модели автоматизации путем вызова DTE.Solution.SolutionBuild.StartupProjects. В VSPackage вы вызываете get_StartupProject get_StartupProject методы или методы. IVsSolutionBuildManager доступен как услуга по QueryService SID_SVsSolutionBuildManager. Дополнительные сведения см. в разделе "Объект конфигурации проекта" и "Конфигурация решения".

  • Конфигурация сборки активного решения

    Visual Studio имеет активную конфигурацию решения, доступную в модели автоматизации, реализуя DTE.Solution.SolutionBuild.ActiveConfiguration. Конфигурация решения — это коллекция, содержащая одну конфигурацию проекта для каждого проекта в решении (каждый проект может иметь несколько конфигураций на нескольких платформах с различными именами). Дополнительные сведения о страницах свойств решения см. в разделе "Конфигурация решения".

  • В настоящее время выбран проект

    GetCurrentSelection Реализуйте метод для получения выбранной иерархии проекта и элемента проекта. Из DTE вы будете SelectedItems.SelectedItem.Project использовать методы и SelectedItems.SelectedItem.ProjectItem методы. Пример кода содержится в этих заголовках в основных документах Visual Studio.

См. также