在我的 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
}