Python 重构:";“提取方法”;错误和意外结果
我遇到了奇怪的重构行为。 使用这行代码:Python 重构:";“提取方法”;错误和意外结果,python,visual-studio-code,rope,Python,Visual Studio Code,Rope,我遇到了奇怪的重构行为。 使用这行代码: variable = 1 + 2 + 3 当我试图提取变量时,通过突出显示“1+2”,然后右键单击->选择“提取变量”选项,我得到以下结果: newvariable74 = 1 + 2 a = newvariable74 2 + 3 我在重构方面还有其他问题。我在测试时得到了不同的结果 例如,此代码: def f(): a_var = 1 # INFO: I'm printing `a_var` print 'a_var =
variable = 1 + 2 + 3
当我试图提取变量时,通过突出显示“1+2”,然后右键单击->选择“提取变量”选项,我得到以下结果:
newvariable74 = 1 + 2
a = newvariable74 2 + 3
我在重构方面还有其他问题。我在测试时得到了不同的结果
例如,此代码:
def f():
a_var = 1
# INFO: I'm printing `a_var`
print 'a_var = %s' % a_var
…将“a_var”重命名为“new_var”后,新代码应如下所示:
def f():
new_var = 1
# INFO: I'm printing `new_var`
print 'new_var = %s' % new_var
但我得到的却是:
def f():
new_var = 1
# INFO: I'm printing `a_var`
print ('a_var = %s' % new_var)
注意字符串的内容是如何保持不变的
一些信息:
- 我使用Python3.8.2 64位
- Visual Studio代码:1.47.1
- Linux Mint 20
- Linux内核5.4.0-40-generic
variable = (1 + 2) + 3
如果要将vscode中的所有“a_var”重命名为“new_var”,可以尝试使用Ctrl+F2
。它将更改当前文件中显示的所有“a_var”
当我使用“F2
”时,它只会更改当前文件中的变量,而不会识别“new”Var=%s
variable = (1 + 2) + 3
你可以参考: