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 了... 不知道什么情况 |