vscode 当更改内核时,笔记本更改事件不会触发,

yuvru6vn  于 4个月前  发布在  Vscode
关注(0)|答案(6)|浏览(53)

这个问题是否在禁用所有扩展时发生?:否,需要Jupyter扩展

  • VS Code版本:最新内部预览版
  • 操作系统版本:Windows 11

重现步骤:

  1. Git克隆https://github.com/rchiodo/test-notebook-change(示例扩展)
  2. 构建扩展
  3. Git克隆https://github.com/bokeh/tutorial
  4. 设置一个包含bokeh的Python环境
  5. 安装Jupyter扩展和Python扩展
  6. 从第1步启动扩展
  7. 打开bokeh教程文件夹
  8. 打开其中一个笔记本
  9. 选择一个内核并选择一个使用bokeh环境的内核
  10. 注意在扩展调试控制台中输出的变化
  11. 打开另一个笔记本
  12. 为调试扩展清除控制台输出
  13. 选择上一个笔记本中选择的内核
    预期结果:
    内核更改通知发生
    实际结果:
    没有检测到更改。
    这似乎导致了这里的问题:
    microsoft/pylance-release#5172
wsewodh2

wsewodh21#

我尝试在普通文件夹和普通笔记本中使用相同的方法,但无法在那里重现。它只在我使用bokeh示例时才能重现。

pkwftd7m

pkwftd7m2#

我现在可以用一个简单的笔记本来做这个,如果我在使用Anaconda,虽然这可能只是巧合。不确定Anaconda是如何改变时间的。

dhxwm5r4

dhxwm5r43#

面对相同的问题,如果我降级到VSCode 1.84.0-insider,似乎又可以正常工作了。我没有在1.84.0-stable上测试它。我们有解决这个问题的时间表吗?谢谢

c9x0cxw0

c9x0cxw04#

我的理解是,我们在内核更改时发出内容更改事件的原因是内核规范元数据被修改了。如果内核规范元数据没有改变(例如,从一个Python 3.12切换到另一个3.12),则没有文档元数据更改,因此也不会发出任何内容更改。

据我所知,Pylance从Jupyter扩展中获取Python解释器路径,我想知道这是否可以是来自Jupyter本身的一个事件。

w1e3prcc

w1e3prcc5#

Pylance从Jupyter扩展中获取Python解释器路径,我想知道这是否可以是Jupyter本身的一个事件。
这种方法也可以。我们必须发送一个自定义消息,尽管我们可能只是发送笔记本已更改的消息

11dmarpk

11dmarpk6#

这可能不相关,但如果我们有一个自定义消息,那不会打乱其他依赖于跟踪内核更改的扩展吗?

相关问题