Instanciar o Editor de núcleo, usando a API Legacy
O editor é responsável por funções como, por exemplo, inserção, exclusão, cópia e colagem de edição de texto. Ele combina essas funções com aqueles fornecidos por serviços de idioma, como, por exemplo, a cor do texto, o recuo e conclusão da instrução IntelliSense.
Você pode criar uma instância do editor principal de uma das três maneiras:
Crie explicitamente uma instância do núcleo do editor em uma janela.
Fornecer uma fábrica de editor que retorna uma instância do editor do núcleo
Abra um arquivo de hierarquia do projeto.
As seções a seguir discutem como usar a API herdada para instanciar o editor.
Uma instância do Editor de núcleo que abram explicitamente
Ao obter explicitamente uma instância do editor principal:
Obter um IVsTextBuffer para manter o objeto de dados do documento que está sendo editado.
Criar uma representação de linha de orientação do objeto de documento de dados criando um IVsTextLines interface da IVsTextBuffer interface.
Definir IVsTextLines como o objeto de dados do documento para uma instância da implementação do padrão a IVsCodeWindow de interface, usando o SetBuffer método.
Host de IVsCodeWindow da instância em um IVsWindowFrame interface usando o CreateToolWindow método.
Neste ponto, exibindo o IVsWindowFrame interface fornece uma janela que contém uma instância do editor principal.
No entanto, isso não é uma ocorrência muito útil, porque não têm teclas de atalho ou de acesso a recursos avançados. Para obter acesso a recursos avançados e teclas de atalho:
Use o SetLanguageServiceID método para associar um serviço de linguagem e o objeto de dados de documento que o editor usa.
Crie suas próprias teclas de atalho, ou usar o padrão do sistema, definindo a IVsWindowFrame exibem as propriedades de objetos. Para fazer isso, chame o SetGuidProperty método com o VSFPROPID_InheritKeyBindings propriedade.
Para obter e usar teclas de atalho não padrão, gerá-los usando o arquivo .vsct. Para obter mais informações, consulte Tabela Visual Studio de comando (.Arquivos de VSCT).
Como usar uma fábrica de Editor para obter o Editor de núcleo
Ao implementar um editor de núcleo com uma fábrica de editor usando o CreateEditorInstance método, execute todas as etapas descritas na seção anterior para hospedar explicitamente um IVsCodeWindow usando um IVsTextBuffer objeto de dados do documento, em um IVsWindowFrame objeto.
Para exibir o texto, obtenha um IVsTextView interface da IVsCodeWindow objeto e a chamada a CreateEditorInstance método.
Para fornecer um serviço de idioma para o editor, chame o SetLanguageServiceID método dentro do CreateEditorInstance método.
Obter padrão de teclas de atalho, diferentemente da seção anterior, você pode usar o contexto do comando retornado pelo CreateEditorInstance método ao obter o editor de núcleo a partir do CreateEditorInstance método.
Se a CreateEditorInstance método retorna o mesmo comando GUID como editor de texto, a instância do editor principal obtém automaticamente o padrão teclas de atalho.
Para obter informações gerais, consulte How to: Register an Editor Factory Using MPF Class Attributes e Passo a passo: Criando um Editor de núcleo e registrando um tipo de arquivo do Editor.
Consulte também
Tarefas
Passo a passo: Criando um Editor de núcleo e registrando um tipo de arquivo do Editor