Crear una instancia el Editor básico mediante la API heredadoInstantiating the Core Editor By Using the Legacy API

El editor es responsable de las funciones como inserción, eliminación, copiar y pegar de edición de texto.The editor is responsible for text editing functions such as insertion, deletion, copy, and paste. Estas funciones combinan con los proporcionados por los servicios de lenguaje, como el color de texto, la sangría y la finalización de instrucciones de IntelliSense.It combines these functions with those provided by language services, such as text coloring, indentation, and IntelliSense statement completion.

Puede crear una instancia del editor principal de una de estas tres maneras:You can instantiate an instance of the core editor in one of three ways:

  • Cree explícitamente una instancia del núcleo de editor en una ventana.Explicitly create an instance of the core editor in a window.

  • Proporciona un generador de editores que devuelve una instancia del editor principalProvide an editor factory which returns an instance of the core editor

  • Abrir un archivo desde la jerarquía del proyecto.Open a file from the project hierarchy.

    Las secciones siguientes tratan cómo usar la API heredada para crear una instancia del editor.The following sections discuss how to use the legacy API to instantiate the editor.

Abrir explícitamente una instancia del Editor de núcleoExplicitly Opening a Core Editor Instance

Cuando se obtienen explícitamente una instancia del editor principal:When explicitly obtaining an instance of the core editor:

  • Obtener un IVsTextBuffer para contener el objeto de datos de documento que se está editando.Obtain a IVsTextBuffer to hold the document data object being edited.

  • Crear una representación de línea orientada a servicios del objeto de datos de documentos mediante la creación de un IVsTextLines de la interfaz de la IVsTextBuffer interfaz.Create a line oriented representation of the document data object by creating an IVsTextLines interface from the IVsTextBuffer interface.

  • Establecer IVsTextLines como el objeto de datos de documento para una instancia de la implementación predeterminada de la IVsCodeWindow interfaz, usando la SetBuffer método.Set IVsTextLines as the document data object for an instance of the default implementation of the IVsCodeWindow interface, using the SetBuffer method.

    Host de la IVsCodeWindow de instancia de un IVsWindowFrame interfaz mediante el uso de la CreateToolWindow método.Host the IVsCodeWindow instance in a IVsWindowFrame interface by using the CreateToolWindow method.

    En este momento, mostrar la IVsWindowFrame interfaz proporciona una ventana que contiene una instancia del editor principal.At this point, displaying the IVsWindowFrame interface provides a window that contains an instance of the core editor.

    Sin embargo, esto no es una instancia muy útil, porque no tienen teclas de método abreviado, o tener acceso a las funciones avanzadas.However, this is not a very useful instance, because it does not have shortcut keys, or access to advanced features. Para obtener acceso a las características avanzadas y teclas de método abreviado:To obtain access to shortcut keys and advanced features:

  • Use la SetLanguageServiceID método para asociar un servicio de lenguaje y el objeto de datos de documento que usa el editor.Use the SetLanguageServiceID method to associate a language service and the document data object that the editor uses.

  • Cree sus propias teclas de método abreviado, o usar el valor predeterminado del sistema estableciendo la IVsWindowFrame objetos muestran propiedades.Either create your own shortcut keys, or use the system default by setting the IVsWindowFrame objects display properties. Para ello, llame a la SetGuidProperty método con el __VSFPROPID propiedad.To do this, call the SetGuidProperty method with the __VSFPROPID property.

    Para obtener y usar teclas de método abreviado no estándar, generarlos mediante el archivo .vsct.To obtain and use non-standard shortcut keys, generate them using the .vsct file. Para obtener más información, consulta Visual Studio Command Table (.Vsct) Files.For more information, see Visual Studio Command Table (.Vsct) Files.

Cómo usar un generador del Editor para obtener el Editor básicoHow to Use an Editor factory to Obtain the Core Editor

Al implementar un editor de núcleo con un generador del editor mediante el CreateEditorInstance método, siga todos los pasos que se describen en la sección anterior para hospedar explícitamente un IVsCodeWindow con una IVsTextBuffer objeto de datos del documento, en un IVsWindowFrame objeto.When implementing a core editor with an editor factory using the CreateEditorInstance method, follow all the steps outlined in the previous section to explicitly host an IVsCodeWindow using an IVsTextBuffer document data object, in an IVsWindowFrame object.

Para mostrar el texto, obtener una IVsTextView interfaz desde el IVsCodeWindow objeto y llame al método el CreateEditorInstance método.To display the text, obtain a IVsTextView interface from the IVsCodeWindow object and call the CreateEditorInstance method.

Para proporcionar un servicio de lenguaje para el editor, llame a la SetLanguageServiceID método dentro de la CreateEditorInstance método.To provide a language service to the editor, call the SetLanguageServiceID method within the CreateEditorInstance method.

Para obtener predeterminado teclas de método abreviado, a diferencia de la sección anterior, se usa el contexto de comandos devolviendo por la CreateEditorInstance método al obtener el editor principal de la CreateEditorInstance método.To obtain default shortcut keys, unlike the previous section, you use the command context returned by the CreateEditorInstance method when obtaining the core editor from the CreateEditorInstance method.

Si el CreateEditorInstance método devuelve el mismo GUID de comando como el editor de texto, la instancia del editor principal obtiene automáticamente el valor predeterminado teclas de método abreviado.If the CreateEditorInstance method returns the same command GUID as the text editor, the instance of the core editor automatically obtains the default shortcut keys.

Para obtener información general, vea Tutorial: crear un Editor de núcleo y registrar un tipo de archivo del Editor de.For general information, see Walkthrough: Creating a Core Editor and Registering an Editor File Type.

Vea tambiénSee Also

Dentro del Editor de núcleo Inside the Core Editor
Abrir y guardar elementos de proyecto Opening and Saving Project Items
Tutorial: Crear un Editor de núcleo y registrar un tipo de archivo del EditorWalkthrough: Creating a Core Editor and Registering an Editor File Type