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


VCCodeModel - интерфейс

Объект, предоставляющий доступ на уровне проекта к любому содержащемуся элементу кода.

Пространство имен:  Microsoft.VisualStudio.VCCodeModel
Сборка:  Microsoft.VisualStudio.VCCodeModel (в Microsoft.VisualStudio.VCCodeModel.dll)

Синтаксис

'Декларация
<GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")> _
Public Interface VCCodeModel _
    Inherits CodeModel2
[GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")]
public interface VCCodeModel : CodeModel2
[GuidAttribute(L"E6691CDE-9A41-4891-8D8C-C1E93958E6A0")]
public interface class VCCodeModel : CodeModel2
[<GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")>]
type VCCodeModel =  
    interface 
        interface CodeModel2 
    end
public interface VCCodeModel extends CodeModel2

Тип VCCodeModel предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство Attributes Получает коллекцию всех атрибутов объекта.
Открытое свойство Classes Получает коллекцию классов для объекта.
Открытое свойство CodeElements Получает коллекцию элементов кода.
Открытое свойство Delegates Получает коллекцию делегатов для объекта.
Открытое свойство DialogClasses Получает коллекцию классов диалоговых окон.
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство Enums Получает коллекцию перечислений для объекта.
Открытое свойство Functions Получает коллекцию функций для объекта.
Открытое свойство IDLImports Получает коллекцию операторов Import из IDL-файла родительского объекта.
Открытое свойство IDLLibraries Получает коллекцию элементов Library для объекта.
Открытое свойство Imports Получает коллекцию операторов #import родительского объекта.
Открытое свойство Includes Получает коллекцию операторов #include для объекта.
Открытое свойство Interfaces Получает коллекцию интерфейсов для объекта.
Открытое свойство IsCaseSensitive Получает значение, указывающее, учитывается ли регистр в элементе кода.
Открытое свойство IsSynchronized Проверяет соответствие модели кода VCCodeModel исходному коду для решения.
Открытое свойство Language Возвращает язык программирования, использовавшийся при создании кода.
Открытое свойство Macros Получает коллекцию макросов (операторов #define) для объекта.
Открытое свойство Maps Получает коллекцию сопоставлений для объекта.
Открытое свойство Namespaces Получает коллекцию пространств имен для объекта.
Открытое свойство Parent Получает непосредственный родительский объект заданного объекта.
Открытое свойство Structs Получает коллекцию элементов структуры для объекта.
Открытое свойство Typedefs Получает коллекцию элементов Typedef для объекта.
Открытое свойство Unions Получает коллекцию элементов Union для объекта.
Открытое свойство UsingAliases Получает коллекцию элементов alias для объекта.
Открытое свойство Usings Получает коллекцию элементов #using для объекта.
Открытое свойство Variables Получает коллекцию переменных для объекта.

В начало страницы

Методы

  Имя Описание
Открытый метод AbortTransaction Отменяет текущую транзакцию.
Открытый метод AddAttribute Создает новую конструкцию кода атрибута и вставляет код в нужное место.
Открытый метод AddClass Создает новую конструкцию кода класса и вставляет код в нужное место.
Открытый метод AddDelegate Создает новую конструкцию кода делегата и вставляет код в нужное место.
Открытый метод AddEnum Создает новую конструкцию кода перечислителя и вставляет код в нужное место.
Открытый метод AddFunction Создает новую конструкцию кода функции и вставляет код в нужное место.
Открытый метод AddIDLImport Добавляет новый оператор import в определенный IDL-файл.
Открытый метод AddIDLLibrary Добавляет новый оператор library в определенный IDL-файл.
Открытый метод AddImport Добавляет элемент #import в определенный файл.
Открытый метод AddInclude Добавляет элемент #include в определенный файл.
Открытый метод AddInterface Создает новую конструкцию кода интерфейса и вставляет код в нужное место.
Открытый метод AddMacro Добавляет элемент #define в определенный файл.
Открытый метод AddMap Добавляет запись сопоставления в объект.
Открытый метод AddNamespace Создает новую конструкцию кода пространства имен и вставляет код в нужное место.
Открытый метод AddStruct Создает новую конструкцию кода структуры и вставляет код в нужное место.
Открытый метод AddTypedef Добавляет элемент typedef в определенный файл.
Открытый метод AddUnion Добавляет элемент union в объект VCCodeModel.
Открытый метод AddUsing Добавляет элемент #using в определенный файл.
Открытый метод AddUsingAlias Добавляет " using псевдоним.
Открытый метод AddVariable Создает новую конструкцию кода переменной и вставляет код в нужное место.
Открытый метод CodeElementFromFullName Получает коллекцию указанных элементов кода для объекта.
Открытый метод CodeElementFromFullName2 Получает коллекцию указанных элементов кода для объекта.Идентично привязке CodeElementFromFullName с единственным отличием: при поиске игнорируются пространства имен.
Открытый метод CodeTypeFromFullName Возвращает элемент кода на основе полного имени.
Открытый метод CodeTypeFromFullName2 Возвращает элемент кода на основе полного имени.Идентично методу CodeTypeFromFullName с единственным отличием: пытается использовать разрешение typedef.
Открытый метод CommitTransaction Фиксирует текущую транзакцию для объекта.
Открытый метод CreateCodeTypeRef Объект CodeTypeRef, основанный на переданном индикаторе типа данных.
Открытый метод DotNetNameFromLanguageSpecific Преобразует пространство имен в форму .NET.
Открытый метод ElementFromID Не реализован.
Открытый метод GetClassesDerivedFrom Возвращает классов, производных от указанного класса.
Открытый метод IsValidID Возвращает информацию о том, является ли указанное имя действительным программным идентификатором текущего языка.
Открытый метод LanguageSpecificNameFromDotNet Выполняет преобразование из полного имени в форму неуправляемого пространства имен.
Открытый метод Remove Удаляет указанный проект из решения.
Открытый метод RemoveEx Удаляет указанный проект из решения.
Открытый метод StartTransaction Начинает транзакцию.
Открытый метод Synchronize Синхронизирует все объекты модели кода с изменениями, внесенными в исходные файлы.
Открытый метод SynchronizeCancellable Отображает диалоговое окно с индикатором выполнения.Пользователь может отменить ожидание и разблокировать поток.
Открытый метод SynchronizeFiles Удостоверяется в том, что значение свойства FileCodeModel файла проекта отлично от null.
Открытый метод ValidateMember Проверяет, является ли предложенное имя допустимым именем C++ в контексте заданного родительского объекта.
Открытый метод ValidateMemberName Проверяет имя элемента.

В начало страницы

Заметки

Объект VCCodeModel предоставляет функцию кода модельную разные языки, поддерживаемые Visual Studio (включая Visual C ++) на уровне проекта.

В основном, этот объект используется для поиска любой элемент кода доступны в проекте заданного (полное имя). Кроме того, объект задает язык программирования, на котором будет создан проект.

Примечание

Большая часть функций данного объекта предоставляется объектом Visual Studio CodeModel2.

При использовании объекта VCCodeModel внутри управляемого проекта, включите Microsoft.VisualStudio.VCCodeModel.dll как ссылка. Дополнительные сведения о при добавлении ссылки на проект управляемый см. в разделе Практическое руководство. Добавление и удаление ссылок с помощью диалогового окна "Добавление ссылок".

Дополнительные сведения по компиляции и запуску этого примера см. в разделе Практическое руководство. Компиляция примера кода для расширения модели кода Visual C++.

Примеры

Эта функция возвращает объект VCCodeModel, представляющего первый проект в решение.

Function GetVCCodeModel() As VCCodeModel
    GetVCCodeModel = Nothing
    Dim codeModel As CodeModel
    Dim vcCodeModel As VCCodeModel
    Dim solution As Solution
    solution = DTE.Solution
    If (solution Is Nothing) Then
        MsgBox("A Solution is not open")
        Exit Function
    Else
        If (DTE.Solution.Count <> 0) Then
            codeModel = DTE.Solution.Item(1).CodeModel
            vcCodeModel = CType(codeModel, VCCodeModel)
            If (vcCodeModel Is Nothing) Then
                MsgBox("The first project is not a VC++ project.")
                Exit Function
            Else
                GetVCCodeModel = vcCodeModel
            End If
        End If
    End If
End Function

См. также

Ссылки

Microsoft.VisualStudio.VCCodeModel - пространство имен