VSCode Jupyter交互窗口无法发送多行代码求助
我之前也碰到过几乎一模一样的问题——单行代码能正常发送,多行完全没反应,折腾了好一阵才找到几个有效的排查方向,分享给你:
回退Jupyter扩展到稳定版本
有时候最新版的Jupyter扩展会引入兼容性bug,你可以在VSCode的扩展面板找到「Jupyter」,点击右上角的齿轮图标,选择「安装另一个版本」,挑前1-2个版本安装,重启VSCode后再试。我当时就是回退到前一个版本解决的问题。检查代码选区的完整性和语法
试试只选中纯代码行(去掉单独的注释行、空行),或者检查选中的多行里有没有语法错误(比如未闭合的引号、缩进混乱)。VSCode的代码发送功能会先检查代码语法,如果有问题可能直接静默失败,不会给任何提示。重置Python/Jupyter相关设置
之前修改的设置可能有残留冲突:打开VSCode设置(快捷键Ctrl+,),点击右上角的「打开设置(JSON)」,把所有包含python.dataScience、jupyter.sendCode这类关键词的配置删掉,恢复默认设置后重启VSCode。重启Jupyter内核
内核异常也会导致多行代码发送失败:在Jupyter交互窗口右上角找到内核图标(比如显示Python版本的那个),点击选择「重启内核」,等内核重启完成后再尝试发送多行代码。排查扩展冲突
除了快捷键,其他扩展(比如代码格式化、静态检查类的)也可能干扰代码发送。临时禁用所有非Python/Jupyter相关的扩展,重启VSCode后测试,如果问题解决了,再逐个启用扩展,找到冲突的那个并禁用或更新它。检查Python环境与内核一致性
确保VSCode当前选中的Python解释器和Jupyter交互窗口使用的内核是同一个版本:左下角状态栏可以查看当前解释器,交互窗口右上角能看到内核版本。如果不一致,切换到同一个环境。另外可以在终端运行pip install --upgrade ipython jupyter_client,更新核心依赖包。检查工作区局部设置
打开当前工作区的.vscode/settings.json文件,看看有没有自定义的Python/Jupyter设置,把这些设置删除后重启VSCode,因为工作区设置会覆盖全局设置,可能导致异常。
内容的提问来源于stack exchange,提问作者alsonic

