
win10, 最新版 vscode, Python3.7
from asyncio.base_events import tasks 代码如上, 从 base_events alt-click 跳转过去以后, 找到 37 行附近的
from . import constants from . import coroutines from . import events 这里再想跳转就失灵了
暂时解决方案
进入 C:\Users\XX\AppData\Local\Microsoft\Python Language Server 目录, 删除那堆 pyi 文件, 重启 VSCODE
可以正常跳转了, 因为没有缓存的情况下, 可以正常跳转, 应该是缓存的问题
尝试失败方案
确定是 LSP 的缓存问题, 所以尝试修改了 "python.analysis.cachingLevel": "None", 重启发现依然创建了缓存文件
请教到底怎么处理这个情况啊... 目标就是让我正常跳转到定义, 实在不行我就给文件夹禁止写入了. github 之类的地方搜了很多, 但基本都不是这个情况
以及, 不要回帖推荐 Pycharm 什么的, 我知道 Pycharm 是正常的, 甚至把 LSP 关了用 jedi 也是正常跳转.......
1 ClericPy OP 重新试了下... 好像和缓存没关系 好像是保持那个想跳转的 py 文件打开状态的话, 重启下就可以正常跳转了 比如 从 from asyncio.base_events 跳转打开了 base_events.py 文件, 这时候没法继续跳转 from . import coroutines 但如果不关闭 base_events.py 文件, Reload 下, 就可以跳转了... |
2 gitopen 2020-02-08 18:51:43 +08:00 @ClericPy #1 我也遇到了这个问题,所以这几天切回到 pycharm 了。。借楼问,vscode 的代码提示,光标移动到某个函数,提示框一直显示 loading.... 遇到过这个问题吗 |
3 ClericPy OP @gitopen #2 切换到 jedi 如果还 loading 那就还是 LSP 的问题. 我这边不能跳转的显示的是 Code analysis is in progress..., 实际已经停止了, 就启动时候分析了一次, 新打开的非工作区文件都不会再分析 我在找有什么办法能强制启动一次 LSP 的 analysis, 现在 diagnosticPublishDelay 参数貌似不能让它检查到什么自己启动 |
4 chaleaoch 2020-08-30 21:59:22 +08:00 但是我还是有这个问题用的 pylance... |
5 ClericPy OP @chaleaoch pylance 刚出我就试用了... 也是跳转 pyi, 看了官方 issues, 貌似就是这么设计的... 没找到好办法跳转到原 py 文件... 至于官方 lsp 的跳转, 我删了 pyi 文件就跳过去了... 你有什么好办法推荐下么 |
7 ClericPy OP @chaleaoch 太久了, 就算当时 watch 了, 后来估计也取关了... PS: 刚才在电脑上把 3.7 换到 3.8, 微软 LSP 下载太慢, 所以换了 pylance, 意外发现居然不是 pyi 了... 不知道什么情况 |