在MS VS代码

时间:2018-01-24 09:03:07

标签: python visual-studio-code

我在python代码的顶部定义了一个变量T_0,并希望通过MS VS Code的F2更改此变量。

T_0 = 10
T_1 = T_0 + 1
print(T_1)

但首先,我收到了错误消息Refactoring library rope is not installed

然后我在here找到了答案。经过适当的更改后,我收到了一条新的错误消息Refactor failed. Rename refactoring should be performed on resolvable python identifiers.

如何在MS VS Code上的python代码中重命名变量?

我使用的是Python 3.6,VS Code 1.19.2。

3 个答案:

答案 0 :(得分:3)

已确认是绳索0.10.7有问题

此链接显示了如何将此错误连接到绳索https://github.com/Microsoft/vscode-python/issues/2094

并且此链接显示,截至2020年4月2日,绳索问题仍未解决 https://github.com/python-rope/rope/issues/249

答案 1 :(得分:1)

我有同样的问题。我尝试了几种解决方案并解决了它。但是我不知道哪个实际起作用。 您可以参考我的方法,但它们可能对您不起作用。

  1. 我发现在conda环境(python3.6)中安装了两个rope软件包,一个用于python3.6,另一个用于python2.7。实际上,我卸载了一个rope软件包后,发现它仍然存在,并且具有另一个版本号。真的很奇怪所以我将它们全部卸载,然后用conda(或pip)重新安装。
  2. 扩展名pythonVisual Studio IntelliCode可能不兼容。因为自动完成对我不起作用,并且在我卸载后者后又重新起作用了。
  3. 完全重新安装vscode及其所有扩展。

答案 2 :(得分:0)

这不是Ben answer中提到的错误的修复程序,但确实解决了我的项目和配置的问题:

  • Visual Studio代码1.51.1
  • Python 3.8.5
  • 绳索0.18.0
  • venv

问题不是我项目的代码,而是绳索也试图检查的 .venv 子目录中的代码。 vscode中有一个用于绳子的配置文件,在我的情况下位于 .vscode / .ropeproject / config.py 中,并且位于内部:

def set_prefs(prefs):
    prefs['ignored_resources'] = ['*.pyc', '*~', '.ropeproject',
                                  '.hg', '.svn', '_svn', '.git', '.tox']

在数组中添加'.venv'使得该绳索跳过该目录并重命名重构开始工作。诚然,在某些情况下,我发现它无法捕获名称的使用,并且在没有警告的情况下无法重命名,这导致我不信任该功能。