VSCode - 重命名符号会跳过 Python 项目中的测试文件

问题描述 投票:0回答:1

在我的 Python 项目中,当我使用 VSCode 重命名符号时,更改不会传播到“测试文件”。更具体地说,如果

.py
文件位于名为
test
的目录中或名为
test_*.py
,则该符号不会在该文件中重命名。如何让 VSCode 将重命名的符号传播到测试文件?一定有一些我不知道的设置。或者这可能是 VSCode 的 Python 扩展中的一个错误?

举一个更具体的例子来说明我的情况,如果我有以下文件结构:

my_project/
  test/
    __init__.py
    test_thing.py
  __init__.py
  thing.py
  something_else.py

其中

thing.py
包含:

class Thing:
    ...

并且

test_thing.py
包含:

from my_project.thing import Thing

如果我将

Thing
重命名为其他名称,
test_thing.py
不会经历更改,即使其他非测试文件(例如
something_else.py
)已更改以反映重构。

这是我的完整内容

settings.json
。据我所知,没有任何事情可以扰乱这个:

{
  "[python]": {
    "editor.codeActionsOnSave": {
      "source.fixAll": "explicit"
    },
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true,
    "editor.formatOnType": true
  },
  "[toml]": {
    "editor.formatOnSave": false
  },
  "cSpell.enabled": false,
  "cSpell.userWords": [
    "callstack",
    "dataframes",
    "docstrings",
    "kwargs",
    "Numpy",
  ],
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.formatOnType": true,
  "editor.inlineSuggest.enabled": true,
  "editor.minimap.enabled": false,
  "editor.rulers": [
    88,
    120
  ],
  "evenBetterToml.formatter.alignComments": false,
  "evenBetterToml.formatter.arrayTrailingComma": true,
  "evenBetterToml.formatter.compactEntries": false,
  "explorer.confirmDragAndDrop": false,
  "files.insertFinalNewline": true,
  "git.autofetch": true,
  "github.copilot.enable": {
    "*": true,
    "markdown": true,
    "plaintext": true,
    "scminput": false
  },
  "jupyter.askForKernelRestart": false,
  "python.analysis.autoFormatStrings": true,
  "python.analysis.autoImportCompletions": true,
  "python.languageServer": "Pylance",
  "python.venvFolders": [
    "~/.mambaforge/envs"
  ],
  "terminal.integrated.inheritEnv": false,
  "terminal.integrated.scrollback": 3000,
  "window.nativeTabs": true
}
python visual-studio-code
1个回答
0
投票

您可以右键单击您的模块

Thing
并选择重命名符号(或使用快捷键F2)来更改模块名称。

这将修改依赖于该模块的所有文件中的继承语句。

© www.soinside.com 2019 - 2024. All rights reserved.