vscode插件快餐教程(8) - LSP文本同步
vscode插件快餐教程(8) - LSP文本同步
这一节开始我们介绍下通过LSP进行文本同步的方法。
文件打开
我们先从简单的做起,先监听文件的打开。
我们看一下LSP协议中对此部分的支持,参数是DidChangeTextDocumentParams结构。
微软的SDK在LSP的基础上是做了封装的,我们看下封装后的接口:
当前,TextDocument提供了4个属性:
- uri: 文件的URI
- version: 文件的版本号
- languageId: 编程语言
- lineCount: 有多少行
另外还有3个函数: - getText(): 获取文本
- positionAt和offsetAt用于Position和offset的转换
我们来看个例子:
documents.onDidOpen(
(event: TextDocumentChangeEvent) =>

