15

用于扩展 python.python 2020.1.58038 的 Ctrl + alt + R 总是给我一个“没有可用的重构”消息。

可能是配置问题,但我已尝试多次卸载/重新安装并重新启动 vs 代码无济于事。

以为我可能缺少 python-rope 但 python -m pip install --upgraderope 要求已经是最新的:c:\users\cdoyle\appdata\roaming\python\python37\site-packages 中的rope(0.16.0 )

VS 代码版本信息:版本:1.42.0(用户设置)提交:ae08d5460b5a45169385ff3fd44208f431992451 日期:2020-02-06T10:51:34.058Z 电子:6.1.6 Chrome:76.0.3809.146:Node.js:12.4.0 V8。 303.31-electron.0 操作系统:Windows_NT x64 10.0.18362

我也没有看到任何未解决的问题 https://github.com/Microsoft/vscode-python/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+refactoring

不知道接下来要尝试什么。

谢谢

4

3 回答 3

8

我是在 VS Code 中编程 Python 的新手,遇到了同样的问题。我成功地使用“重命名符号”命令重命名函数并更新其所有引用。https://code.visualstudio.com/docs/editor/refactoring中的更多详细信息。希望这可以帮助!

于 2020-07-05T00:59:43.640 回答
2

我想进一步补充:

  1. 如果您想一次性更改变量名称/函数名称,可以通过右键单击该特定名称在 VS Code 编辑器中使用“重命名符号”。

  2. 如果您的代码具有与变量名和函数名相关的内容,并且您想在这两个地方应用更改,那么您可以使用“更改所有出现次数”。

上面的例子——

test = "Hello"
def test_func():
    print("World")

print(test)
test_func()

如果我想将变量“test”更改为“new”并将函数“test_func”更改为“new_func”,我可以使用“Change all Occurrences”。但是,如果我只想更改变量名,那么我也必须使用“重命名符号”。

于 2021-02-16T05:02:47.100 回答
0

Visual Studio Code 及其 Python 扩展(在撰写本文时)在重构方面非常有限。开箱即用,它提供了两个重构操作:提取方法提取变量。您看到“没有可用的重构”的原因是当前选择的文本与这些操作中的任何一个都不匹配。尝试选择一行文本,然后按[Ctrl][Shift][R]

VSCode 中删除了绳索支持,以支持其 Pylance 语言服务器扩展使用的语言服务器协议集成。Pylance 现在自动安装了 vscode-python 扩展,并且它正在积极开发中——也许他们将来会实施更多的重构。如果您正在寻找更强大的重构,请查看PyCharm 重构,它目前要复杂得多。

于 2022-02-11T22:20:39.520 回答