Soporte de EditorConfig para su servicio de idiomas

Los archivos EditorConfig le permiten describir opciones comunes para editar el texto, como el tamaño de sangría por proyecto. Para obtener más información sobre la compatibilidad de Visual Studio con los archivos EditorConfig, consulte Creación de una configuración de editor portátil con EditorConfig.

En la mayoría de los casos, cuando se implementa un servicio de lenguaje de Visual Studio, no es necesario llevar a cabo ninguna tarea adicional para admitir las propiedades universales de EditorConfig. El editor principal detecta automáticamente y lee el archivo .editorconfig cuando los usuarios abren archivos, y establece el búfer de texto y las opciones de visualización adecuados. A pesar de ello, para modificaciones como pestañas y espacios, algunos servicios de lenguaje optan por usar una opción de visualización de texto contextual adecuada en vez de usar la configuración global. En estos casos, el servicio de lenguaje debe actualizarse para que admita archivos EditorConfig.

A continuación se muestran los cambios necesarios para actualizar un servicio de lenguaje a fin de admitir los archivos EditorConfig. Para ello, se debe reemplazar una opción global específica del lenguaje por una opción contextual:

Estilo de sangría

Opciones específicas del lenguaje Opciones contextuales
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.fInsertTabs
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs
!textBufferOptions.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)
!textView.Options.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)

Tamaño de sangría

Opciones específicas del lenguaje Opciones contextuales
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uIndentSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.IndentSize
textBufferOptions.GetOptionValue(DefaultOptions.IndentSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.IndentSizeOptionId)

Tamaño de tabulación

Opciones específicas del lenguaje Opciones contextuales
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uTabSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.TabSize
textBufferOptions.GetOptionValue(DefaultOptions.TabSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.TabSizeOptionId)