Suporte ao EditorConfig para o serviço de linguagem

Os arquivos EditorConfig permitem descrever opções de editor de texto comuns, como tamanho do recuo, por projeto. Para saber mais sobre o suporte do Visual Studio para arquivos EditorConfig, consulte Criar configurações de editor portátil usando EditorConfig.

Na maioria dos casos, ao implementar um serviço de linguagem do Visual Studio, nenhum trabalho adicional é necessário para dar suporte às propriedades universais do EditorConfig. O editor básico detecta automaticamente e lê o arquivo .editorconfig quando os usuários abrem arquivos e define as opções de buffer e exibição de texto apropriadas. No entanto, para edições como tabulações e espaços, alguns serviços de idiomas optam por usar uma opção de visualização de texto contextual apropriada em vez de usar configurações globais. Nesses casos, o serviço de linguagem deve ser atualizado para dar suporte aos arquivos do EditorConfig.

A seguir estão as alterações necessárias para atualizar um serviço de linguagem para dar suporte a arquivos de EditorConfig, através da substituição de uma opção global específica a um idioma por uma opção contextual:

Estilo de recuo

Opções específicas da linguagem Opções contextuais
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.fInsertTabs
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs
!textBufferOptions.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)
!textView.Options.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)

Tamanho do recuo

Opções específicas da linguagem Opções contextuais
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uIndentSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.IndentSize
textBufferOptions.GetOptionValue(DefaultOptions.IndentSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.IndentSizeOptionId)

Tamanho da tabulação

Opções específicas da linguagem Opções contextuais
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uTabSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.TabSize
textBufferOptions.GetOptionValue(DefaultOptions.TabSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.TabSizeOptionId)