Compartir a través de


VCCodeModel (Interfaz)

Objeto que proporciona acceso en el nivel de proyecto a cualquier elemento de código contenido.

Espacio de nombres:  Microsoft.VisualStudio.VCCodeModel
Ensamblado:  Microsoft.VisualStudio.VCCodeModel (en Microsoft.VisualStudio.VCCodeModel.dll)

Sintaxis

'Declaración
<GuidAttribute("5A716328-5325-4A51-AEF4-EFBB8A10B89F")> _
Public Interface VCCodeModel _
    Inherits CodeModel2
[GuidAttribute("5A716328-5325-4A51-AEF4-EFBB8A10B89F")]
public interface VCCodeModel : CodeModel2
[GuidAttribute(L"5A716328-5325-4A51-AEF4-EFBB8A10B89F")]
public interface class VCCodeModel : CodeModel2
[<GuidAttribute("5A716328-5325-4A51-AEF4-EFBB8A10B89F")>]
type VCCodeModel =  
    interface
        interface CodeModel2
    end
public interface VCCodeModel extends CodeModel2

El tipo VCCodeModel expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública Attributes Obtiene una colección de todos los atributos para el objeto.
Propiedad pública Classes Obtiene una colección de clases para el objeto.
Propiedad pública CodeElements Obtiene una colección de elementos de código.
Propiedad pública Delegates Obtiene una colección de delegados para el objeto.
Propiedad pública DialogClasses Obtiene una colección de clases de diálogo.
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública Enums Obtiene una colección de enumeraciones para el objeto.
Propiedad pública Functions Obtiene una colección de funciones para el objeto.
Propiedad pública IDLImports Obtiene la colección de instrucciones Import del archivo .idl del objeto primario.
Propiedad pública IDLLibraries Obtiene la colección de elementos Library del objeto.
Propiedad pública Imports Obtiene la colección de instrucciones #import del objeto primario.
Propiedad pública Includes Obtiene la colección de instrucciones #include del objeto.
Propiedad pública Interfaces Obtiene la colección de interfaces para el objeto.
Propiedad pública IsCaseSensitive Obtiene un valor que indica si un elemento de código distingue mayúsculas de minúsculas.
Propiedad pública IsSynchronized Determina si VCCodeModel está sincronizado con el código fuente para la solución.
Propiedad pública Language Obtiene el lenguaje de programación utilizado para crear el código.
Propiedad pública Macros Obtiene la colección de macros (instrucciones #define) del objeto.
Propiedad pública Maps Obtiene la colección de asignaciones para el objeto.
Propiedad pública Namespaces Obtiene la colección de espacios de nombres para el objeto.
Propiedad pública Parent Obtiene el objeto primario inmediato de un objeto dado.
Propiedad pública Structs Obtiene la colección de elementos de estructura para el objeto.
Propiedad pública Typedefs Obtiene la colección de elementos Typedef para el objeto.
Propiedad pública Unions Obtiene la colección de elementos Union para el objeto.
Propiedad pública Usings Obtiene la colección de elementos #using para el objeto.
Propiedad pública Variables Obtiene la colección de variables para el objeto.

Arriba

Métodos

  Nombre Descripción
Método público AbortTransaction Cancela la transacción actual.
Método público AddAttribute Crea una nueva construcción de código de atributo e inserta el código en la ubicación adecuada.
Método público AddClass Crea una nueva construcción de código de clase e inserta el código en la ubicación adecuada.
Método público AddDelegate Crea una nueva construcción de código de delegado e inserta el código en la ubicación adecuada.
Método público AddEnum Crea una nueva construcción de código de enumeración e inserta el código en la ubicación adecuada.
Método público AddFunction Crea una nueva construcción de código de función e inserta el código en la ubicación adecuada.
Método público AddIDLImport Agrega una nueva instrucción import a un archivo .idl concreto.
Método público AddIDLLibrary Agrega una nueva instrucción library a un archivo .idl concreto.
Método público AddImport Agrega un elemento #import a un archivo determinado.
Método público AddInclude Agrega un elemento #include a un archivo determinado.
Método público AddInterface Crea una nueva construcción de código de interfaz e inserta el código en la ubicación adecuada.
Método público AddMacro Agrega un elemento #define a un archivo determinado.
Método público AddMap Agrega una entrada de asignación al objeto.
Método público AddNamespace Crea una nueva construcción de código de espacio de nombres e inserta el código en la ubicación adecuada.
Método público AddStruct Crea una nueva construcción de código de estructura e inserta el código en la ubicación adecuada.
Método público AddTypedef Agrega un elemento typedef a un archivo determinado.
Método público AddUnion Agrega un elemento union al objeto VCCodeModel.
Método público AddUsing Agrega un elemento #using a un archivo determinado.
Método público AddVariable Crea una nueva construcción de código de variable e inserta el código en la ubicación adecuada.
Método público CodeElementFromFullName Obtiene una colección de los elementos de código especificados para el objeto.
Método público CodeElementFromFullName2 Obtiene una colección de los elementos de código especificados para el objeto.Es idéntico a CodeElementFromFullName, excepto que omite los espacios de nombres durante la búsqueda.
Método público CodeTypeFromFullName Devuelve un elemento de código basado en un nombre completo.
Método público CodeTypeFromFullName2 Devuelve un elemento de código basado en un nombre completo.Es idéntico a CodeTypeFromFullName excepto que intentará la resolución de typedef.
Método público CommitTransaction Confirma la transacción actual para el objeto.
Método público CreateCodeTypeRef Objeto CodeTypeRef basado en el indicador de tipo de datos pasado.
Método público DotNetNameFromLanguageSpecific Traduce el espacio de nombres a un formulario .NET.
Método público ElementFromID Sin implementar.
Método público GetClassesDerivedFrom
Método público IsValidID Indica si un nombre especificado es un identificador de programa válido para el lenguaje actual.
Método público LanguageSpecificNameFromDotNet Traduce el nombre completo a un formulario de espacio de nombres no administrado.
Método público Remove Quita el proyecto especificado de la solución.
Método público RemoveEx Quita el proyecto especificado de la solución.
Método público StartTransaction Inicia una transacción.
Método público Synchronize Sincroniza todos los objetos de modelo de código de la solución con las ediciones realizadas a los archivos de código fuente.
Método público SynchronizeCancellable Muestra un cuadro de diálogo que tiene una barra de progreso.El usuario puede cancelar la espera y desbloquear el subproceso.
Método público SynchronizeFiles Garantiza que la propiedad FileCodeModel de un archivo de proyecto no es null.
Método público ValidateMember Valida que el nombre propuesto sea un nombre válido de C++ para el tipo especificado en el contexto del objeto primario.
Método público ValidateMemberName

Arriba

Comentarios

El objeto de VCCodeModel proporciona funcionalidad de modelo de código a diferentes idiomas admitidos por Visual Studio (Visual C++ incluida en el proyecto.

Principalmente, este objeto se utiliza para buscar cualquier elemento de código accesible dentro de un proyecto (con un nombre completo).Además, el objeto especifica el lenguaje de programación en el que se escribe el proyecto.

[!NOTA]

Una gran parte de la funcionalidad de este objeto es proporcionada por el objeto desde Visual Studio CodeModel2 .

Al utilizar un objeto de VCCodeModel en un proyecto administrado, incluyen Microsoft.VisualStudio.VCCodeModel.dll como referencia.Para obtener más información sobre cómo agregar referencias a un proyecto administrado, vea Cómo: Agregar o quitar referencias utilizando el cuadro de diálogo Agregar referencia.

Vea Cómo: Compilar el código de ejemplo de extensibilidad del modelo de código de Visual C++ para obtener información acerca de la compilación y ejecución de este ejemplo.

Ejemplos

esta función devuelve el objeto de VCCodeModel que representa el primer proyecto en una solución.

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

Vea también

Referencia

Microsoft.VisualStudio.VCCodeModel (Espacio de nombres)