扩展编辑器和语言服务
可以将语言服务功能(如 IntelliSense)添加到自己的编辑器中,并扩展 Visual Studio 代码编辑器的大部分功能。 有关可以扩展的内容的完整列表,请参阅 语言服务和编辑器扩展点。
使用托管扩展性框架(MEF)扩展大多数编辑器功能。 例如,如果要扩展的编辑器功能是语法着色,则可以编写一个 MEF 组件部件,该组件部件 定义要为其设置不同着色的分类以及处理方式。 编辑器还支持同一功能的多个扩展。
编辑器呈现层基于 Windows 演示文稿框架(WPF)。 WPF 提供用于灵活文本格式的图形库,并提供图形和动画等可视化效果。
Visual Studio SDK 提供称为 填充码 的适配器,以支持为早期版本编写的 VSPackage。 但是,如果你有现有的 VSPackage,我们建议将其更新为新技术,以获得更好的性能和可靠性。
相关主题
Title | 说明 |
---|---|
语言服务和编辑器扩展入门 | 介绍如何创建编辑器的扩展。 |
在编辑器中 | 描述编辑器的一般结构,并列出其一些功能。 |
编辑器中的托管扩展性框架 | 介绍如何将托管扩展性框架(MEF)与编辑器配合使用。 |
语言服务和编辑器扩展点 | 列出编辑器的扩展点。 扩展点表示可以扩展的编辑器功能。 |
演练:创建视图装饰、命令和设置(列指南) | 演练并解释如何构建视图装饰,该装饰绘制列参考线,以帮助将代码保持在特定的显示宽度。 此外,还显示读取和写入设置,以及声明和实现可从命令窗口调用的命令。 |
编辑器导入 | 列出扩展可以导入的服务。 |
将旧代码适应编辑器 | 介绍调整旧代码(Visual Studio 2010 之前的)以扩展编辑器的不同方法。 |
迁移旧版语言服务 | 介绍如何迁移基于 VSPackage 的语言服务。 |
演练:将内容类型链接到文件扩展名 | 演示如何将内容类型链接到文件扩展名。 |
演练:创建边距字形 | 演示如何向边距添加图标。 |
演练:突出显示文本 | 演示如何使用 标记 突出显示文本。 |
演练:添加大纲 | 演示如何为特定类型的大括号添加大纲。 |
演练:显示匹配大括号 | 演示如何突出显示匹配大括号。 |
演练:显示 QuickInfo 工具提示 | 演示如何显示描述代码元素的 QuickInfo 弹出窗口,例如属性、方法和事件。 |
演练:显示签名帮助 | 演示如何显示弹出窗口,这些弹出窗口提供有关签名中参数的数量和类型的信息。 |
演练:显示语句完成 | 演示如何实现语句完成。 |
演练:实现代码片段 | 演示如何实现代码片段扩展。 |
演练:显示灯泡建议 | 演示如何显示用于代码建议的灯泡。 |
演练:将 shell 命令与编辑器扩展配合使用 | 演示如何将 VSPackage 中的菜单命令与 MEF 组件相关联。 |
演练:将快捷键与编辑器扩展配合使用 | 演示如何将 VSPackage 中的菜单快捷方式与 MEF 组件相关联。 |
Managed Extensibility Framework (MEF) | 提供有关托管扩展性框架(MEF)的信息。 |
Windows Presentation Foundation | 提供有关 Windows Presentation Foundation(WPF)的信息。 |
参考
Visual Studio 编辑器包含以下命名空间。
Microsoft.VisualStudio.Language.Intellisense
Microsoft.VisualStudio.Language.StandardClassification
Microsoft.VisualStudio.Text.Adornments
Microsoft.VisualStudio.Text.Classification
Microsoft.VisualStudio.Text.Differencing
Microsoft.VisualStudio.Text.Document
Microsoft.VisualStudio.Text.Editor
Microsoft.VisualStudio.Text.Editor.OptionsExtensionMethods
Microsoft.VisualStudio.Text.Formatting
Microsoft.VisualStudio.Text.IncrementalSearch
Microsoft.VisualStudio.Text.Operations
Microsoft.VisualStudio.Text.Outlining
Microsoft.VisualStudio.Text.Projection