我看到有几个问题在问这个问题,但是没有一个解决方案对我有用。
我在不同的模块中开发了一些函数类,并且有一个 main.py
脚本来调用一切。
问题是,当我对另一个模块中的函数进行修改时,例如,当我调用另一个模块中的函数时,VSCode无法检测到修改。module1.py
VSCode不能检测到变化,当我调用其他模块中的函数时,VSCode不能检测到这些变化。main.py
更新后,还是旧版本。
我可以通过这样的方式来解决这个问题。
from importlib import reload
reload module1
但这样做很快就会变老 尤其是当我从一个模块中导入特定的函数或类时
简单地重新运行在我的 main.py
实际上并没有什么作用,我只能在杀了shell后从头开始重开,如果我是渐进式开发一些东西,这并不理想。
我在一些问题上看到,我可以把这个加入到我的程序中。
"files.useExperimentalFileWatcher" : true
加入我的... settings.json
但在我的1.45.1版本中,这似乎不是一个已知的配置设置。
这是Spyder默认处理的,当你在开发的pkg中调用多个模块中的函数和类时,可以很容易地进行增量编码。
如何在VSCode中实现这个功能?要说明的是,我不想使用IPython的自动加载魔法命令。
非常感谢
顺便说一下,这里是我看到的其他问题,但没有得到一个工作的解决方案,在其他类似的问题答案。
在VS Code中不支持这样做,因为Python的重载机制不够可靠,不能在repl之外使用,即使这样你也要小心。它不是一个完美的解决方案,可能会导致陈旧的代码躺在那里,这很容易让你被绊倒(我知道这一点是因为 我写道 importlib.reload()
😁).