支持语言服务的 EditorConfig

EditorConfig 文件使你能够按每个项目描述常用的文本编辑器选项,如缩进大小。 若要详细了解 Visual Studio 对 EditorConfig 文件的支持,请参阅使用 EditorConfig 创建可移植编辑器设置

在大多数情况下,实现 Visual Studio 语言服务时,无需任何其他工作即可支持 EditorConfig 通用属性。 当用户打开文件时,核心编辑器将自动发现并读取 .editorconfig 文件,并设置相应的文本缓冲区和视图选项。 但是,对于制表符和空格等编辑,某些语言服务选择使用适当的上下文文本视图选项,而不是使用全局设置。 在这些情况下,必须更新语言服务以支持 EditorConfig 文件。

以下是更新语言服务以支持 EditorConfig 文件所需的更改(通过将特定于全局语言的选项替换为上下文 选项):

缩进样式

特定于语言的规范 上下文选项
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.fInsertTabs
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs
!textBufferOptions.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)
!textView.Options.GetOptionValue(DefaultOptions.ConvertTabsToSpacesOptionId)

缩进大小

特定于语言的规范 上下文选项
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uIndentSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.IndentSize
textBufferOptions.GetOptionValue(DefaultOptions.IndentSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.IndentSizeOptionId)

制表符大小

特定于语言的规范 上下文选项
Microsoft.VisualStudio.TextManager.Interop.LANGPREFERENCES.uTabSize
Microsoft.VisualStudio.Package.LanguagePreferences.InsertTabs.TabSize
textBufferOptions.GetOptionValue(DefaultOptions.TabSizeOptionId)
textView.Options.GetOptionValue(DefaultOptions.TabSizeOptionId)