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