Код Visual Studio: Intellisense не работает

Мой код Visual Studio Intellisense не работает должным образом. Каждый раз, когда я пытаюсь использовать его с Ctrl + Shift, он отображает только сообщение о загрузке. Я использую Python (с Django) и установил ms-python.python. У меня также есть Djaneiro. Это все еще не работает. enter image description here

В чем здесь проблема?

Ответ 1

Это может быть вызвано многими причинами, некоторые из них следующие.

1) неверный путь к исполняемому файлу Python в коде VS

Solution: Configure the path to the python executable in the settings.json


Remember to re start VS Code once done.

2) Пользовательский модуль находится в нестандартном месте

Solution: Configure the settings.json to include this custom location for autocompletion to work

An exmample settings.json (for Linux) used to add a customModule from workspaceFolder

{

    "python.pythonPath": "/usr/bin/python",
    "python.autoComplete.extraPaths": [

       "${workspaceFolder}/customModule"
    ]
}


Remember to re start VS Code once done.

3) VS код не был запущен из активной виртуальной среды

The path to the custom modules is set when a virtual environment is activated.
Solution: Launch VS Code from a Terminal/Command window with the correct virtual environment activated

Ответ 2

Прежде всего, если вы установили 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
  }
}

Ответ 3

У меня была эта проблема некоторое время сейчас. Я перепробовал много решений из стека, но ни одно из них не сработало. Удаление всех расширений помогло мне.

Ответ 4

Для любой IDE получение Intellisense для динамически типизированного языка невозможно.

Я вижу, что модель динамически инициализируется, когда IntelliSense не может угадать правильный тип объекта. Для любого статического типа, например C++ или Java, это не так, но python динамически типизируется, поэтому IntelliSense не всегда работает так, как ожидалось.