为了账号安全,请及时绑定邮箱和手机立即绑定

重构:“提取方法”错误和意外结果

重构:“提取方法”错误和意外结果

紫衣仙女 2023-03-08 17:23:35
我正在经历奇怪的重构行为。使用这行代码:variable = 1 + 2 + 3当我尝试提取变量时,通过突出显示“1 + 2”,然后右键单击 -> 选择“提取变量”选项,我得到了这个结果:newvariable74 = 1 + 2a = 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)注意字符串的内容是如何保持不变的。一些信息:我使用 Python 3.8.2 64 位视觉工作室代码:1.47.1Linux 薄荷 20Linux 内核 5.4.0-40-generic
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

目前vscode变量和方法的重构功能由Python extension提供,但其重构不支持重命名功能。

对于 vscode 中的变量重构,您可以尝试为其添加括号以使其被识别。

variable = (1 + 2) + 3

如果你想在 vscode 中将所有 'a_var' 重命名为 'new_var',你可以尝试使用Ctrl+F2。它将更改所有出现在当前文件中的 'a_var'。

当我使用' F2'时,它只会改变当前文件中的变量,'new'_var=%s'将不会被识别。

可以参考:重构


查看完整回答
反对 回复 2023-03-08
  • 1 回答
  • 0 关注
  • 67 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信