【问题标题】:Vscode autocompletion doesn't work for Jupyter NotebookVscode 自动完成功能不适用于 Jupyter Notebook
【发布时间】:2021-02-17 03:57:29
【问题描述】:

我最近开始在 vscode 上使用 Jupyter Notebooks,但我注意到代码自动完成功能无法正常工作。

如果我创建一个常规的 .py 文件,如您所见,一切正常。它显示函数签名和文档字符串。在核心 python 语言和外部模块中。

但如果我在 .ipynb 文件中尝试相同的操作,它会完全忽略 print() 的自动完成

如果它向我显示 np.sum() 文档字符串但它没有向我显示任何其他 np.functions 或其他模块中的任何 np.concatenate() 信息,那么我也会感到困惑

[

以防我使用 Vscode 和 conda 环境作为我的 python 解释器。 这是我的 settings.json 文件:

{
"python.dataScience.jupyterServerURI": "local",
"python.pythonPath": "C:\\Users\\myUser\\anaconda3\\envs\\myEnv\\python.exe"
}

【问题讨论】:

    标签: python visual-studio-code autocomplete jupyter-notebook vscode-settings


    【解决方案1】:

    根据您的描述,出现这种情况的原因是不同的语言服务提供的自动补全、提示等功能不同。

    对于您提到的“print()”和“np.concatenate()”,建议您使用“Pylance”扩展,它提供了出色的语言服务和自动完成功能。

    请在settings.json中添加以下设置:

    "python.languageServer": "Pylance",
    

    更新:

    从 2020 年 11 月开始,VSCode 中 Jupyter notebook 的功能由扩展“Jupyter”提供,它使用了扩展“Jupyter”提供的“IntelliSense”。 而在“VSCode-insider”中,Jupyter notebook 有更好的“IntelliSense”:

    Github 链接:Hover Documentation Pop up does not work after VSCode 1.52 update.

    【讨论】:

      【解决方案2】:

      这对我有帮助,只需将以下内容添加到 settings.json

      适用于 Windows

      "python.autoComplete.extraPaths": [
          "C:\\Users\\<user_name>\\AppData\\Local\\Programs\\Python\\Python38\\python.exe"
          ],
      

      适用于 Linux

      "python.autoComplete.extraPaths": [
          "/usr/bin/python3"
          ],
      

      更多信息:

      https://code.visualstudio.com/docs/python/editing

      有关其他提示,请访问:

      https://code.visualstudio.com/docs/python/jupyter-support

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-09
        • 2020-10-22
        • 2020-09-03
        • 2019-08-25
        • 2014-12-04
        • 2012-07-27
        • 2018-01-13
        相关资源
        最近更新 更多