Код Visual Studio: Intellisense не работает
Мой код Visual Studio Intellisense не работает должным образом. Каждый раз, когда я пытаюсь использовать его с Ctrl + Shift
, он отображает только сообщение о загрузке. Я использую Python (с Django) и установил ms-python.python
. У меня также есть Djaneiro
. Это все еще не работает.
В чем здесь проблема?
Ответы
Ответ 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 не всегда работает так, как ожидалось.