我想为VSCode编写一个扩展,该复用可以重用vscode-python扩展的重构/重命名功能。这样,当用户执行我的命令时,我的扩展名将对.py文件的变量进行重命名。我不知道vscode-python
仅仅是扩展还是正在实现语言服务器协议LSP。以及如何调用vscode-python
的重命名/重构功能。你能给我一些提示吗?非常感谢你!
答案 0 :(得分:1)
看来,Python扩展正在直接为诸如重命名之类的功能实现VSCode API,而不是使用LSP抽象层。例如查看其renameProvider.ts
,它实现了vscode.RenameProvider
:
作为调用者,我认为它的实现方式并不真正重要-似乎您很幸运,以编程方式触发重命名的功能是最近才添加的,并且将在VSCode 1.25的一部分中发布.0 / 6月版本:
API to programmatically begin rename (#50856)
它也是release notes for the upcoming version的一部分,它提供了以下用法示例:
vscode.commands.executeCommand(
'editor.action.rename',
[vscode.Uri.file('/my/file.abc'), new vscode.Position(14, 7)]
)