Dela via


Stöd för EditorConfig för din språktjänst

Med EditorConfig-filer kan du beskriva vanliga alternativ för textredigeraren, till exempel indragsstorlek per projekt. Mer information om Visual Studio-stöd för EditorConfig-filer finns i Skapa portabla redigeringsinställningar med Hjälp av EditorConfig.

I de flesta fall när du implementerar en Visual Studio-språktjänst behövs inget ytterligare arbete för att stödja universella egenskaper för EditorConfig. Kärnredigeraren .editorconfig identifierar och läser automatiskt filen när användarna öppnar filer och anger lämpliga alternativ för textbuffert och vy. Men för redigeringar som flikar och blanksteg väljer vissa språktjänster att använda ett lämpligt alternativ för kontextuell textvy i stället för att använda globala inställningar. I dessa fall måste språktjänsten uppdateras för att stödja EditorConfig-filer.

Följande är de ändringar som krävs för att uppdatera en språktjänst för att stödja EditorConfig-filer genom att ersätta ett globalt språkspecifikt alternativ med ett kontextuellt alternativ:

Indragsformat

Språkspecifika alternativ Alternativ i kontext
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.fInsertTabs
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs
!textBufferOptions.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)
!textView.Options.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)

Indragsstorlek

Språkspecifika alternativ Kontextalternativ
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uIndentSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.IndentSize
textBufferOptions.GetOptionValue(DefaultOptions.IndentSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.IndentSizeOptionId)

Flikstorlek

Språkspecifika alternativ Kontextuella alternativ
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uTabSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.TabSize
textBufferOptions.GetOptionValue(DefaultOptions.TabSizeOptionId) // Hämtar värdet för flikenstorlek alternativet
textView.Options.GetOptionValue(DefaultOptions.TabSizeOptionId)