支持语言服务的 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) |