Share via


CodeModel2 Interface

Definition

Allows access to programmatic constructs in a source code file.

public interface class CodeModel2 : EnvDTE::CodeModel
public interface class CodeModel2 : EnvDTE::CodeModel
__interface CodeModel2 : EnvDTE::CodeModel
[System.Runtime.InteropServices.Guid("99B9CD0E-6C89-4BC4-BBA2-FFD3529D3ACB")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface CodeModel2 : EnvDTE.CodeModel
[System.Runtime.InteropServices.Guid("99B9CD0E-6C89-4BC4-BBA2-FFD3529D3ACB")]
public interface CodeModel2 : EnvDTE.CodeModel
[<System.Runtime.InteropServices.Guid("99B9CD0E-6C89-4BC4-BBA2-FFD3529D3ACB")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type CodeModel2 = interface
    interface CodeModel
[<System.Runtime.InteropServices.Guid("99B9CD0E-6C89-4BC4-BBA2-FFD3529D3ACB")>]
type CodeModel2 = interface
    interface CodeModel
Public Interface CodeModel2
Implements CodeModel
Derived
Attributes
Implements

Remarks

The CodeModel object provides code model functionality to languages at the project level, but some members of this object are not supported in every language in Visual Studio.

The primary functions of the CodeModel object are to enable users to find any code element accessible within a project given a fully qualified name, and to determine the programming language in which the project is written.

Note

The values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same.

Properties

CodeElements

Gets a collection of CodeElements.

DTE

Gets the top-level extensibility object.

IsCaseSensitive

Gets a value indicating whether the current language is case-sensitive.

Language

Gets the programming language used to author the code.

Parent

Gets the immediate parent object of a CodeModel object.

Methods

AddAttribute(String, Object, String, Object)

Creates a new attribute code construct and inserts the code in the correct location.

AddClass(String, Object, Object, Object, Object, vsCMAccess)

Creates a new class code construct and inserts the code in the correct location.

AddDelegate(String, Object, Object, Object, vsCMAccess)

Creates a new delegate code construct and inserts the code in the correct location.

AddEnum(String, Object, Object, Object, vsCMAccess)

Creates a new enumeration code construct and inserts the code in the correct location.

AddFunction(String, Object, vsCMFunction, Object, Object, vsCMAccess)

Creates a new function code construct and inserts the code in the correct location.

AddInterface(String, Object, Object, Object, vsCMAccess)

Creates a new interface code construct and inserts the code in the correct location.

AddNamespace(String, Object, Object)

Creates a new namespace code construct and inserts the code in the correct location.

AddStruct(String, Object, Object, Object, Object, vsCMAccess)

Creates a new structure code construct and inserts the code in the correct location.

AddVariable(String, Object, Object, Object, vsCMAccess)

Creates a new variable code construct and inserts the code in the correct location.

CodeTypeFromFullName(String)

Returns a code element based on a fully qualified name.

CreateCodeTypeRef(Object)

Returns a CodeTypeRef object based on the passed, data-type indicator.

DotNetNameFromLanguageSpecific(String)

Converts a native language string to .NET format.

ElementFromID(String)

Returns a specific, existing code element.

IsValidID(String)

Returns whether a specified name is a valid programmatic identifier for the current language.

LanguageSpecificNameFromDotNet(String)

Translates from the fully qualified Visual Studio name to an unmanaged namespace form.

Remove(Object)

Removes the specified code element from the source file.

Synchronize()

Ensures that all current code model events have been raised and the model has finished being generated.

Applies to