我最近开始在 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"
}
最佳答案
根据您的描述,出现这种情况的原因是不同语言服务提供的自动补全、提示等功能不同。
对于您提到的“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 .
关于python - Vscode 自动完成功能不适用于 Jupyter Notebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64680361/