01

重点进展
支持多行补全和智能重写的能力
如何接入?
只需要实现一个 registerIntelligent CompletionProvider API,以下是代码示例:
registerIntelligentCompletionFeature(registry: IIntelligentCompletionsRegistry): void {registry.registerIntelligentCompletionProvider(async (editor, position, token) => {return {items: [{content: 'completion value',range: {startLineNumber: position.lineNumber,startColumn: 1,endLineNumber: position.lineNumber + 3,endColumn: model?.getLineMaxColumn(position.lineNumber + 3),},},],enableMultiLine: true};});}
只需要开启 enableMultiLine 以及传递 range 范围即可,实现起来非常简单快捷。
与传统的智能补全有什么不同?
传统的智能补全解决的是用户的 “写新代码” 场景。
也就是说,当你要开始写一段新代码了,你回个车或者先写个注释,亦或者先输入一点代码,AI 会自动帮你 “续写” 后面的内容,AI 会认为你光标之前的代码就是正确的。
但在真实的编码工作中,并不全是 “写新代码”,大多数是改写代码。
所以 “多行补全” 和 “智能重写” 解决的就是这个问题,他能对光标所在的局部区域进行 改写 和 新增 的推荐,与传统的 智能补全 相融合,让 AI 能参与更多的编码任务。
支持多行评论的能力
评论接口新增多行评论/展示能力,开发者可以通过接口自行拓展实现,已达到多行评论功能实现。

