Unterstützung von EditorConfig für Ihren Sprachdienst
EDITORCONFIG-Dateien ermöglichen Ihnen die allgemeinen Text-Editor-Optionen (z. B. die Einzugsgröße) auf Projektbasis zu beschreiben. Weitere Informationen zur Unterstützung von EditorConfig-Dateien von Visual Studio finden Sie unter Erstellen von Einstellungen für portierbare Editor-Einstellungen mit EditorConfig.
In den meisten Fällen ist bei der Implementierung eines Visual Studio-Sprachdiensts keine zusätzliche Arbeit erforderlich, um universelle EditorConfig-Eigenschaften zu unterstützen. Der Haupteditor ermittelt und liest die .editorconfig
-Datei automatisch, wenn Benutzer Dateien öffnen, und er legt den entsprechenden Textpuffer und die Ansichtsoptionen fest. Jedoch für Bearbeitungen wie z. B. Registerkarten und Leerzeichen verwenden einige Sprachdienste lieber eine entsprechende kontextbezogene Ansichtsoption, statt globale Einstellungen. In diesen Fällen muss der Sprachdienst aktualisiert werden, um EditorConfig-Dateien zu unterstützen.
Die folgenden Änderungen sind erforderlich, um den Sprachdienst zu aktualisieren, damit dieser EDITORCONFIG-Dateien unterstützt. Dafür müssen Sie eine globale sprachspezifische Option durch eine kontextbezogene Option ersetzen:
Einzugsgröße
Sprachspezifische Optionen | kontextbezogene Optionen |
---|---|
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.fInsertTabs Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs |
!textBufferOptions.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId) !textView.Options.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId) |
Einzugsgröße
Sprachspezifische Optionen | kontextbezogene Optionen |
---|---|
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uIndentSize Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.IndentSize |
textBufferOptions.GetOptionValue(DefaultOptions.IndentSizeOptionId) textView.Options.GetOptionValue(DefaultOptions.IndentSizeOptionId) |
Tabulatorgröße
Sprachspezifische Optionen | kontextbezogene Optionen |
---|---|
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uTabSize Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.TabSize |
textBufferOptions.GetOptionValue(DefaultOptions.TabSizeOptionId) textView.Options.GetOptionValue(DefaultOptions.TabSizeOptionId) |