【问题标题】:Visual Studio Code: Intellisense not workingVisual Studio 代码:智能感知不工作
【发布时间】:2018-10-27 15:04:13
【问题描述】:

我的 Visual Studio Code 的 Intellisense 无法正常工作。每次我尝试将它与Ctrl + Shift 一起使用时,它只会显示一条加载消息。我正在使用 Python(使用 Django)并安装了ms-python.python。我也有Djaneiro。它仍然无法正常工作。

这里似乎有什么问题?

【问题讨论】:

  • 看起来您使用的是python 3.7,请您确认一下吗?此扩展程序尚不支持该版本。
  • 我使用的是 Python 3.6。
  • 对我来说大部分时间都很好。但是随着我的文件变大(大约 500 多行),它变得非常慢,有时可能需要一分钟以上才能显示建议。所以我尽量保持我的观点和模型很小,但这并不总是可能的:(
  • 嗨,多诺万,您找到解决问题的方法了吗?你介意分享一下吗?

标签: python django visual-studio-code


【解决方案1】:

这可能是由多种原因造成的,其中一些原因如下。

  1. vscode 中的 Python 可执行路径不正确

    • 解决方案:在settings.json中配置python可执行文件的路径。之后记得重启 vscode。
  2. 模块位于非标准位置

    • 解决方案:配置 settings.json 以包含此位置,以便自动完成工作。用于为工作区添加自定义模块的示例(适用于 Linux):

      {
        "python.pythonPath": "/usr/bin/python",
        "python.autoComplete.extraPaths": [
          "${workspaceFolder}/customModule"
        ]
      }
      
  3. vscode 不是从活动的虚拟环境中启动的

    • 解决方案:在激活虚拟环境时设置模块的路径。从激活了正确虚拟环境的终端启动 vscode

【讨论】:

  • 我发现extraPaths 可以识别一个根路径中的多个模块,例如"${workspaceFolder}/libraries"
  • extraPaths 正是为我解决问题的方法
  • 您的回答目前不够具体,无法采取行动。例如,我该如何执行您的第一个建议:“VS 代码中的 Python 可执行路径不正确”?
  • "python.autoComplete.extraPaths" 为我做了这件事!
  • 在我的情况下(在外部目录上使用 venv)对我来说诀窍是:1.获取 python 路径(哪个 python)2.打开 vscode settings.json,并设置 python .pythonPath 到这个路径
【解决方案2】:

安装 Pylance 插件导致 Vscode Intellisense 停止。
在禁用 Pylance 并启用 Visual Studio IntelliCode(Microsoft)Visual Studio IntelliCode(Microsoft) 并恢复到 Jedi server(由 Vscode 提示)时,重新启动智能感知检测。

【讨论】:

  • 对我来说正好相反。我不得不使用pylance 让它工作。当时我也在使用Remote - SSH 包。不确定它是否需要做任何事情。
  • 它对我有用!谢谢!
【解决方案3】:

如果您已经尝试了所有方法,但仍然无法正常工作,在我的情况下,安装扩展程序 Visual Studio IntelliCodePython 扩展程序有效。

【讨论】:

  • 这是否适用于我自己的开发模式库? (例如使用conda develop .pip -e .
【解决方案4】:

首先,如果您在项目中安装了 virtualenv,请从那里运行 vscode。然后在您的 vscode 设置中,我的意思是 settings.json,您可以按照我的配置或跟踪您有问题的配置。大多数情况下,这个问题源于在 pythonPath 设置中放置了不正确的路径

    {
  "python.pythonPath": "${workspaceFolder}/env/bin/python3",
  "editor.formatOnSave": true,
  "python.linting.pep8Enabled": true,
  "python.linting.pylintPath": "pylint",
  "python.linting.pylintArgs": ["--load-plugins", "pylint_django"],
  "python.linting.pylintEnabled": true,
  "python.linting.pep8Args": ["--ignore=E501"],
  "files.exclude": {
    "**/*.pyc": true
  }
}

更新:

如果你想拥有我个人用于开发我的 Django 和 React Web 应用程序的 Vscode 的良好配置,你可以浏览this

【讨论】:

  • 我只是在 settings.json 中摆弄了所有包含“python”的行,然后一个错误要求我重新加载我的 vscode,然后问题就消失了!谢谢:)
  • 我不明白,如果我已经有一个包含所有包路径的python,为什么还需要手动设置?
  • 因为可能你在虚拟环境中,所以python可执行文件的路径与你实际想要使用的不同。
【解决方案5】:

我更改更改:jedi true 2 false 或flase 2 true,当重​​新加载 VSCode 时,没关系。

我的设置:

{
    "editor.fontSize": 16,
    "explorer.confirmDragAndDrop": false,
    "extensions.autoUpdate": false,
    "workbench.colorTheme": "Default Dark+",
    "editor.fontFamily": "Consolas, Dengxian",
    "workbench.sideBar.location": "left",
    "workbench.startupEditor": "newUntitledFile",
    "workbench.iconTheme": "material-icon-theme",
    "python.pythonPath": "d:\\Source\\Django\\Scripts\\python.exe",
    "python.linting.pylintEnabled": true,
    "python.linting.enabled": true,
    "git.ignoreLimitWarning": true,
    "python.jediEnabled": true,
    "python.autoComplete.extraPaths": [
        "d:\\Source\\Django\\",
    ],
    "python.autoComplete.addBrackets": true
}

【讨论】:

  • 在 VirtualBox 中使用 VSCode 1.43.2 / Ubuntu 18.04,我用这种方法解决了一个类似的问题。我在 jediEnabled 设置为 false 的情况下禁用了 Jedi。在我的上下文中,微软的自动补全似乎比 Jedi 更有效。
  • 在 OSX 中,更改 jedi 值实际上触发了重新下载 microsoft python 扩展并重新开始工作。耶!
  • 我不明白,如果我已经有一个包含所有包路径的python,为什么还需要手动设置?
【解决方案6】:

对我来说,Intellisense 在处理 Python 文件时会随机停止工作。

我只是保存我的文件,关闭文件选项卡,然后我重新打开它并再次工作。

有时这不起作用,所以我只需重新启动 VS 代码,然后 Intellisense 就会重新上线。

【讨论】:

    【解决方案7】:

    “如果您发现 IntelliSense 已停止工作,则语言服务可能没有运行。尝试重新启动 VS Code,这应该可以解决问题。” 来自https://code.visualstudio.com/docs/editor/intellisense 并帮助了我

    【讨论】:

    • 是的,重新启动对我有用。有时很简单。
    【解决方案8】:

    我也遇到了同样的问题,但是我google了一下,找到了这个扩展:Pylance,解决了这个问题。

    【讨论】:

      【解决方案9】:

      这个问题我有一段时间了。我从堆栈中尝试了很多解决方案,但都没有奏效。 卸载所有的扩展都对我有用。

      【讨论】:

        【解决方案10】:

        我的设置都井然有序,但仍未自动在线完成。 我禁用了 Kite 扩展和其他几个我并不真正需要的扩展,并且 IntelliSense 开始自动完成。 不是 100% 确定,但我认为可能是我的“风筝”扩展设置妨碍了。

        【讨论】:

          【解决方案11】:

          我几乎尝试了其他人在此页面上列出的所有内容,但没有一个对我有用。 我使用的是 Anaconda 的 Python 版本。

          最后,我让 Python intellisense 开始在 VS Code 中工作的方式是:

          1. 打开终端(查看菜单 => 终端)
          2. 输入conda init powershell
          3. 重启 VS 代码

          之后,Python 智能感知开始正常工作。

          【讨论】:

            【解决方案12】:

            问题

            VSCode Pylance 在pandas.read_csv() 和公司(pandas.read_pickle(),...)方面遇到问题。

            解决方案

            我的解决方案是在传入数据上调用pandas.DataFrame()。这似乎有助于 VSCode Pylance 这是我必须做的:

            import pandas as pd
            
            df = pd.read_pickle(
                "path_to_pickle_file.pkl"
            )
            
            # Needed to get Pylance Intellisense working
            df = pd.DataFrame(df)
            

            希望这对其他人有所帮助。我花了很长时间才弄明白。

            【讨论】:

              【解决方案13】:

              假设您使用 Pylance 作为您的语言服务器,对我有用(基于 this 对话)正在添加

              "python.analysis.extraPaths": [
                  "./src/lib"
              ],
              

              (其中.src/lib/ 包含您的模块和__init__.py 文件)到您的settings.json

              注意:该设置称为python.analysis.extraPaths 而不是python.autoComplete.extraPaths

              【讨论】:

                【解决方案14】:

                我刚刚在扩展中禁用了 Pylance,建议立即再次生效。

                【讨论】:

                  【解决方案15】:

                  就我而言,有效的是在 vscode 上重新安装 python 扩展,它会自动安装 pylance

                  然后我只需按键盘上的 "ctrl + , " 即可将我带到 vscode 设置 输入:pylance

                  点击编辑setting.json并将“python.languageServer”改为默认

                    },
                  "terminal.integrated.sendKeybindingsToShell": true,
                  "python.defaultInterpreterPath": "C:source\\env\\Scripts\\python.exe",
                  "python.disableInstallationCheck": true,
                  "terminal.integrated.defaultProfile.windows": "Command Prompt",
                  **"python.languageServer": "Default"**,
                  "python.analysis.completeFunctionParens": true,
                  "[jsonc]": {
                      "editor.defaultFormatter": "esbenp.prettier-vscode"
                  },
                  "python.autoComplete.addBrackets": true,
                  "diffEditor.ignoreTrimWhitespace": false
                  

                  我希望这也适用于你,否则你可以尝试重新安装 intellicode 和 python 扩展,然后重新启动你的 vscode。

                  我希望你觉得这很有用:)

                  【讨论】:

                    【解决方案16】:

                    就我而言,Pylance 被困在Loading...,因为工作区包含太多文件(大型数据集和许多日志文件)。检查 python 语言服务器日志后:

                    Enumeration of workspace source files is taking longer than 10 seconds.
                    

                    解决方案

                    pyrightconfig.json 添加到您的工作区根目录,并创建一个列表,其中包含要从 Pylance 搜索中排除的目录 (https://github.com/microsoft/pyright/blob/main/docs/configuration.md):

                    {
                      "exclude": [
                        "**/data",
                        "**/.crash_reports",
                        "**/runs",
                        "**/wandb",
                        "**/notebooks",
                        "**/models",
                        ".git"
                      ]
                    }
                    

                    重启语言服务器

                    【讨论】:

                      【解决方案17】:

                      我也遇到了这个问题,真的很烦人。这是安装一些 npm 包时发生的 VS 代码的一个主要错误。由于未成功加载新包的模块,VS code IntelliSense 在您启动 VScode 片刻后崩溃并停止工作。

                      就我而言,它是通过使用 VScode 内部人员版本解决的: https://code.visualstudio.com/insiders/

                      下载并安装VScode Insiders,安装你使用的所有扩展,然后检查问题是否解决。

                      【讨论】:

                        【解决方案18】:

                        就我而言,我通过更改导入代码来修复 Intellisense。

                        越野车

                        import package.module 
                        

                        工作方式

                        from package import module
                        

                        【讨论】:

                        • 如果您只需要import package 怎么办?
                        • 不幸的是,这并不总是可行的,因为它们在语义上是不同的(绝对导入与相对导入)
                        【解决方案19】:

                        在我的情况下,在 vs 代码更新后 python 语言服务器出现问题。每次下载语言服务器都卡住了。请参阅enter link description here 我要做的是打开设置并输入“语言服务器”。然后有一些选项,如 css、html 等(无论你安装了什么)

                        选择 Python 并搜索语言服务器。另外,如果提到默认是 pylance,我不得不将其切换到 Pylance 并重新启动 ide(更新窗口)

                        在这个动作之后,我的智能再次起作用了。

                        【讨论】:

                          【解决方案20】:

                          对我有用的是卸载 Python 扩展并重新启动 VS Code。智能感知 生机勃勃!这可能没有意义,因为我卸载了扩展程序。欢迎您的 cmets!

                          【讨论】:

                          • 更新:当我尝试进行调试时,我需要重新安装 Python 扩展。安装扩展(包括 Pylance 和 Jupyter)后,IntelliSense 继续正常工作。去图吧。
                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2019-11-08
                          • 2017-04-26
                          • 1970-01-01
                          • 1970-01-01
                          • 2018-02-12
                          • 2012-04-05
                          相关资源
                          最近更新 更多