Compartilhar via


Acessando o Buffer de texto usando a API Legacy

O texto é responsável por gerenciar fluxos de texto e a persistência do arquivo. Embora o buffer pode ler ou gravar os outros formatos, toda a comunicação comum com o buffer é realizada usando Unicode. Em APIs de legado, o buffer de texto pode usar um one - ou um sistema de coordenadas bidimensional para identificar os locais de caracteres no buffer.

Dimensão de um e dois sistemas de coordenadas

Uma posição de coordenada unidimensional baseia-se na posição de um caractere a partir do primeiro caractere no buffer, como, por exemplo, 147. Você pode usar o IVsTextStream interface para acessar um local unidimensional no buffer. Um sistema de coordenadas bidimensional baseia-se nos pares de linha e o índice. Por exemplo, um caractere no buffer em 43, 5 seria na linha 43, cinco caracteres à direita do primeiro caractere nessa linha. Acesso a um local bidimensional no buffer usando a IVsTextLines interface. Tanto o IVsTextLines e o IVsTextStream interfaces são implementadas pelo objeto de buffer de texto (VsTextBuffer) e podem ser acessados entre si por meio de QueryInterface. O diagrama a seguir mostra essas e outras interfaces principais no VsTextBuffer.

Objeto de buffer de texto

Objeto de Buffer de texto

Embora o sistema de coordenadas funcione no buffer de texto, ele é otimizado para usar coordenadas bidimensionais. Um sistema de coordenadas unidimensional pode criar sobrecarga no desempenho. Portanto, use o sistema de coordenadas bidimensional sempre que possível.

O texto a responsabilidade segundo do buffer é a persistência de arquivo. Para fazer isso, o objeto de buffer de texto implementa IVsPersistDocData2 e atua como o componente de objeto de dados de documentos para itens de projeto e outros componentes do ambiente envolvidos na persistência. Para obter mais informações, consulte Abrir e salvar os itens de projeto.

Nesta seção

Consulte também

Outros recursos

Dentro do Editor de núcleo