Compartilhar via


Serviços de linguagem e o Editor de núcleo

Editores no Visual Studio são freqüentemente associadas um serviço de linguagem. Entre outras coisas, um serviço de linguagem fornece coloração de sintaxe, a conclusão da instrução, IntelliSense e a formatação de texto.

Principais editores e objetos de dados do documento

Quando você acessa o editor de núcleo, você não criar dados de documentos e objetos de exibição do documento. O IDE cria e controla esses dois objetos, e você obter alças a eles, tornando as chamadas apropriadas em seu editor de implementação de fábrica.

Para obter mais informações, consulte Determinando quais abre no Editor de um arquivo em um projeto..

Serviços de linguagem e o Editor de núcleo

Implementando um serviço de linguagem, você pode controlar como os dados são exibidos no modo de exibição do documento. Um serviço de linguagem fornece informações e o comportamento que é específico para um determinado idioma, como, por exemplo, Visual C++. Quando você cria um buffer de texto e determinar a extensão de nome de arquivo para o documento que você está abrindo, o buffer de texto determina o serviço de idioma associado a esta extensão de nome de arquivo de uma chave do registro, \Extensions HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Editors\ {YourLanguageService GUID}. O VSPackage padrão carregando o procedimento, em seguida, carrega o VSPackage e uma instância do seu serviço de linguagem é criada.

Um serviço de linguagem básica é mostrado na ilustração a seguir.

Principais objetos de serviço de editor e o idioma

Gráfico do modelo de serviço de linguagem

O objeto de dados do documento para o editor do núcleo é chamado de um buffer de texto e é representado pela VsTextBuffer objeto. O objeto de exibição do documento é chamado de um modo de exibição de texto e é representado pela VsCodeWindow objeto. Esses dois objetos funcionam em conjunto por meio do serviço de linguagem para fornecer uma visão unificada do editor principal. Informações de buffer de texto e os vídeos do modo de exibição de texto em uma janela de documento denominado uma janela de código. O documento da janela de código é gerenciado por um gerente de janela de código.

Consulte também

Referência

IVsLanguageInfo

IVsColorizer

VsTextView

IVsCodeWindowManager

VsCodeWindow

Conceitos

Fornecendo um contexto de serviço do idioma usando a API Legacy

Hospedagem de IntelliSense

Idiomas contidos

Outros recursos

Desenvolvimento de um serviço de linguagem