支持语言服务的 EditorConfig

适用范围:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

使用 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)

另请参阅