Compartilhar via


Interface VCCodeModel

Um objeto que fornece acesso de nível de projeto para qualquer elemento de código contido.

Namespace:  Microsoft.VisualStudio.VCCodeModel
Assembly:  Microsoft.VisualStudio.VCCodeModel (em Microsoft.VisualStudio.VCCodeModel.dll)

Sintaxe

'Declaração
<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

O tipo VCCodeModel expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública Attributes Obtém uma coleção de todos os atributos para o objeto.
Propriedade pública Classes Obtém uma coleção de classes para o objeto.
Propriedade pública CodeElements Obtém uma coleção de elementos de código.
Propriedade pública Delegates Obtém uma coleção de representantes para o objeto.
Propriedade pública DialogClasses Obtém uma coleção de classes de caixa de diálogo.
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública Enums Obtém uma coleção de enumerações para o objeto.
Propriedade pública Functions Obtém uma coleção das funções para o objeto.
Propriedade pública IDLImports Obtém a coleção de Import do arquivo de .idl do objeto pai.
Propriedade pública IDLLibraries Obtém a coleção de elementos de Library no objeto.
Propriedade pública Imports Obtém a coleção de #import para o objeto pai.
Propriedade pública Includes Obtém a coleção de #include para o objeto.
Propriedade pública Interfaces Obtém a coleção das interfaces para o objeto.
Propriedade pública IsCaseSensitive Obtém um valor indicando se um elemento de código diferencia maiúsculas de minúsculas.
Propriedade pública IsSynchronized Determina se VCCodeModel é em sincronia com o código-fonte para a solução.
Propriedade pública Language Obtém a linguagem de programação usada para criar o código.
Propriedade pública Macros Obtém a coleção de macros (instruções de#define ) para o objeto.
Propriedade pública Maps Obtém a coleção de mapas para o objeto.
Propriedade pública Namespaces Obtém a coleção de namespaces para o objeto.
Propriedade pública Parent Obtém o objeto pai imediato de um determinado objeto.
Propriedade pública Structs Obtém a coleção de elementos de estrutura para o objeto.
Propriedade pública Typedefs Obtém a coleção de elementos de Typedef para o objeto.
Propriedade pública Unions Obtém a coleção de elementos de Union para o objeto.
Propriedade pública UsingAliases Obtém a coleção de elementos de alias para o objeto.
Propriedade pública Usings Obtém a coleção de elementos de #using para o objeto.
Propriedade pública Variables Obtém a coleção de variáveis para o objeto.

Superior

Métodos

  Nome Descrição
Método público AbortTransaction Cancela a transação atual.
Método público AddAttribute Cria uma nova compilação de código de atributo e inserir o código no local correto.
Método público AddClass Cria uma nova compilação do código de classe e inserir o código no local correto.
Método público AddDelegate Cria uma nova compilação de código de representante e inserir o código no local correto.
Método público AddEnum Cria uma nova compilação de código de enumeração e inserir o código no local correto.
Método público AddFunction Cria uma nova compilação de código de função e inserir o código no local correto.
Método público AddIDLImport Adicionar uma nova declaração de import a um arquivo específico de .idl.
Método público AddIDLLibrary Adicionar uma nova declaração de library a um arquivo específico de .idl.
Método público AddImport Adiciona um elemento de #import a um arquivo específico.
Método público AddInclude Adiciona um elemento de #include a um arquivo específico.
Método público AddInterface Cria uma nova compilação do código de interface e inserir o código no local correto.
Método público AddMacro Adiciona um elemento de #define a um arquivo específico.
Método público AddMap Adiciona uma entrada de mapa do objeto.
Método público AddNamespace Cria uma nova compilação de código de namespace e inserir o código no local correto.
Método público AddStruct Cria uma nova compilação do código de estrutura e inserir o código no local correto.
Método público AddTypedef Adiciona um elemento de typedef a um arquivo específico.
Método público AddUnion Adiciona um elemento de union ao objeto de VCCodeModel .
Método público AddUsing Adiciona um elemento de #using a um arquivo específico.
Método público AddUsingAlias Adiciona um alias de uso.
Método público AddVariable Cria uma nova compilação variável de código e inserir o código no local correto.
Método público CodeElementFromFullName Obtém uma coleção de elementos de código especificados para o objeto.
Método público CodeElementFromFullName2 Obtém uma coleção de elementos de código especificados para o objeto.É idêntico a CodeElementFromFullName, exceto que ignora namespaces durante a pesquisa.
Método público CodeTypeFromFullName Retorna um elemento de código com base em um nome totalmente qualificado.
Método público CodeTypeFromFullName2 Retorna um elemento de código com base em um nome totalmente qualificado.É idêntico a CodeTypeFromFullName exceto que tentará a resolução de typedef .
Método público CommitTransaction Confirma a transação atual para o objeto.
Método público CreateCodeTypeRef Um objeto de CodeTypeRef baseado no indicador de tipo de dados passados.
Método público DotNetNameFromLanguageSpecific Converte o namespace para um formulário .NET.
Método público ElementFromID Não implementado.
Método público GetClassesDerivedFrom Retorna as classes derivadas da classe especificada.
Método público IsValidID Retorna se um nome especificado é um identificador válido programática para o idioma atual.
Método público LanguageSpecificNameFromDotNet Converte o nome totalmente qualificado para um formulário não gerenciado de namespace.
Método público Remove Remove o projeto especificado da solução.
Método público RemoveEx Remove o projeto especificado da solução.
Método público StartTransaction Inicia uma transação.
Método público Synchronize Sincroniza todos os objetos de modelo de código na solução com as edições feitas aos arquivos de origem.
Método público SynchronizeCancellable Exibe uma caixa de diálogo que tenha uma barra de progresso.O usuário pode cancelar a espera e desbloquear o segmento.
Método público SynchronizeFiles Garante que a propriedade de FileCodeModel em um arquivo de projeto não seja nulo.
Método público ValidateMember Valida que o nome proposto é um nome válido de C++ para o tipo determinado no contexto de objeto pai.
Método público ValidateMemberName Valida o nome de um elemento.

Superior

Comentários

O objeto de VCCodeModel fornece o código funcionalidade modelo para vários idiomas suportadas pelo Visual Studio (incluindo Visual C++) no nível do projeto.

Primeiro, este objeto é usado para localizar qualquer elemento de código acessível dentro de um projeto (dado um nome totalmente qualificado). Além disso, o objeto especifica a linguagem de programação que o projeto é gravado.

Dica

Uma grande parte da funcionalidade deste objeto é fornecida pelo objeto Visual Studio CodeModel2 .

Ao usar um objeto de VCCodeModel em um projeto gerenciado, inclua Microsoft.VisualStudio.VCCodeModel.dll como uma referência. Para obter mais informações sobre como adicionar referências a um projeto gerenciado, consulte Como adicionar ou remover referências usando a caixa de diálogo Adicionar Referência.

Consulte Como compilar um código de exemplo para extensibilidade do modelo de código do Visual C++ para obter informações sobre como compilar e executar essa amostra.

Exemplos

Essa função retorna o objeto de VCCodeModel que representa o primeiro projeto em uma solução.

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

Consulte também

Referência

Namespace Microsoft.VisualStudio.VCCodeModel