VSCode的vscode-python扩展是语言服务还是仅仅是扩展?

航空

我想为VSCode编写一个扩展,该复用可重用vscode-python扩展的重构/重命名功能这样,当用户执行我的命令时,我的扩展名将对.py文件的变量进行重命名。我不知道vscode-python它仅仅是扩展还是实现了语言服务器协议LSP。以及我如何调用的重命名/重构功能vscode-python你能给我一些提示吗?非常感谢你!

Gama11

看起来Python扩展正在直接为诸如重命名之类的功能实现VSCode API,而不是使用LSP抽象层。例如renameProvider.ts请参见其实现vscode.RenameProvider

https://github.com/Microsoft/vscode-python/blob/c976b6c98e34e041b7ee826ec22f9820ba90f8ac/src/client/providers/renameProvider.ts

我认为作为呼叫者,它的实现方式并不真正重要-似乎您很幸运,最近才添加了以编程方式触发重命名的功能,并将在VSCode 1.25.0的一部分中很快发布。 6月发行版:

API以编程方式开始重命名(#50856)

它也是即将发布的版本发行说明的一部分,其中提供了以下用法示例:

vscode.commands.executeCommand(
  'editor.action.rename',
  [vscode.Uri.file('/my/file.abc'), new vscode.Position(14, 7)]
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档