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 从父对象的 .idl 文件获取 Import 语句的集合。
公共属性 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 使用别名,添加一个。
公共方法 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 命名空间