在 Visual Studio 中编辑通常与语言服务。 此外,语言服务提供语法着色、语句完成、 IntelliSense 和文本格式。
核心编辑器和文档数据对象
当您访问核心编辑器,则不能创建文档时数据并记录视图对象。 IDE 创建和控制这两个对象,并且,则在编辑工厂实现来获取句柄来进行适当调用。
有关更多信息,请参见 确定要编辑器中打开项目中的文件。
语言服务和核心编辑器
通过实现语言服务,可以控制数据如何在文档视图中突出显示。 语言服务提供特定于特定语言的信息和行为 (例如, Visual C++。 在创建文本缓冲区并确定您打开的文档时文件扩展名,文本缓冲区确定语言服务与此文件扩展名从注册表项, HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Editors\{YourLanguageService GUID}\Extensions。 标准 VSPackage 加载程序将加载 VSPackage,并语言服务创建一个实例。
基本语言服务如下图所示。
核心编辑器和语言服务对象
核心编辑器的文档数据对象调用文本缓冲区和由 VsTextBuffer 对象表示。 文档视图对象调用文本视图和 VsCodeWindow 由对象表示。 这两个对象通过语言服务提供核心编辑器的一个统一的视图。 从文本缓冲区的信息以及有关文档窗口的文本视图显示调用代码窗口。 代码窗口文档由代码窗口管理器管理。