gpt4 book ai didi

python - VSCode 的 vscode-python 扩展是语言服务还是只是一个扩展?

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:24 39 4
gpt4 key购买 nike

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

最佳答案

看起来 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 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)]
)

关于python - VSCode 的 vscode-python 扩展是语言服务还是只是一个扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51165549/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com