Visual Studio Code (Mac OS) 重命名符号不起作用

Posted

技术标签:

【中文标题】Visual Studio Code (Mac OS) 重命名符号不起作用【英文标题】:Visual Studio Code (Mac OS) rename symbol doesn't work 【发布时间】:2019-07-27 18:23:37 【问题描述】:

当我右键单击并尝试在 Mac OS Mojave 上的 Microsoft Visual Studio Code 中重命名变量名时,它会提示输入新名称,我按 Enter 键,但没有任何反应。

我安装了 Python 扩展和 Latex 扩展。

通常没有错误,什么也没有。

有时,会弹出一个小框,上面写着“No Result. No Result”。

我选择的 Python 解释器是 Conda 安装的。

我确保安装了绳索和 pylint。

预期行为: 右键单击 > 重命名符号 > 输入新名称 > 输入 > 重命名变量的所有实例。

观察到的行为 右键 > 重命名符号 > 输入新名称 > 回车 > 变量在所有地方都具有相同的名称,包括重命名点。

【问题讨论】:

我提交了github.com/microsoft/vscode-python/issues/14363 【参考方案1】:

事实证明,解决方案很简单,但令人沮丧。要在 VS Code 中进行重构(至少对于 python),您需要在工作区中。

我通过首先关闭我所在的打开文件夹解决了这个问题:

文件 > 关闭文件夹。

然后导航到我正在编辑的 .py 文件的子文件夹并打开它。在我的情况下是

    点击屏幕左上角的小文档图标 在欢迎屏幕中,选择“打开文件夹” 导航到我的桌面文件夹(我的 .py 文件所在的位置)

现在重构按预期工作

在欢迎屏幕中单击屏幕左上角的文件图标>

【讨论】:

另一种变化:虽然我已经在工作区中,但它没有标题。一旦我用名字保存它,重构就起作用了。 有一个称为“重命名符号”的组合键,但即使在工作区中也不起作用。我正在使用 Microsoft 的 IntelliSense for C/C++【参考方案2】:

选择文件夹并没有解决我的问题。我切换到名为Pylance 的新语言服务器,现在一切正常。

【讨论】:

遇到同样的问题,我的是使用 Jedi python 语言服务器,这是默认设置。看来这是重命名问题的原因。谷歌搜索了一段时间后,最终决定尝试不同的语言服务器,Pylance 成功了。【参考方案3】:

我将 Pylance 与工作区一起使用并且遇到了同样的问题。对我来说,解决方案是重新启动语言服务器(从命令面板)。我发现它比关闭和打开文件夹更快。

Ctrl+Shift+P> Python:重启语言服务器

【讨论】:

【参考方案4】:

我刚刚发现,如果您使用 Pylance (Pyright) 并且在 pyproject.toml 中有 pyrightconfig.json[tool.pyright] 部分,这可能会导致重构失败。

在我的情况下,我没有将脚本的位置放入 pyproject.tomlinclude 数组中,因此它给出了“无结果”错误。

【讨论】:

以上是关于Visual Studio Code (Mac OS) 重命名符号不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Mac 下 visual studio code 编辑器 设置为中文

Visual Studio Code 中的 PATH 变量与 Mac 上的终端不同

在 Mac 上的 Visual Studio Code 调试器中设置环境变量

visual studio code 在 mac 下按 F12无效

Windows/Mac平台下Visual Studio Code C++开发环境搭建

在Visual Studio Code for Mac中设置TFVC repo