Obsługa polecenia EditorConfig dla usługi językowej

Pliki EditorConfig umożliwiają opisywanie typowych opcji edytora tekstów, takich jak rozmiar wcięcia, dla poszczególnych projektów. Aby dowiedzieć się więcej o obsłudze plików EditorConfig programu Visual Studio, zobacz Tworzenie ustawień edytora przenośnego przy użyciu polecenia EditorConfig.

W większości przypadków, gdy implementujesz usługę językową programu Visual Studio, do obsługi właściwości uniwersalnych EditorConfig nie jest wymagana żadna dodatkowa praca. Edytor podstawowy automatycznie odnajduje i odczytuje .editorconfig plik, gdy użytkownicy otwierają pliki, i ustawia odpowiedni bufor tekstowy i opcje wyświetlania. Jednak w przypadku edycji, takich jak karty i spacje, niektóre usługi językowe decydują się na użycie odpowiedniej opcji widoku tekstu kontekstowego zamiast używania ustawień globalnych. W takich przypadkach usługa językowa musi zostać zaktualizowana w celu obsługi plików EditorConfig.

Poniżej przedstawiono zmiany wymagane do zaktualizowania usługi językowej w celu obsługi plików EditorConfig, zastępując opcję specyficzną dla języka globalnego opcją kontekstową:

Styl wcięcia

Opcje specyficzne dla języka Opcje kontekstowe
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.fInsertTabs
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs
!textBufferOptions.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)
!textView.Options.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)

Rozmiar wcięcia

Opcje specyficzne dla języka Opcje kontekstowe
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uIndentSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.IndentSize
textBufferOptions.GetOptionValue(DefaultOptions.IndentSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.IndentSizeOptionId)

Rozmiar karty

Opcje specyficzne dla języka Opcje kontekstowe
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uTabSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.TabSize
textBufferOptions.GetOptionValue(DefaultOptions.TabSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.TabSizeOptionId)