Как указать правильную версию Python для Python Language Server при использовании многокорневой рабочей области - PullRequest
0 голосов
/ 16 ноября 2018

Кто-нибудь знает, как указать правильную версию Python при использовании новейшего расширения VSCode Python (ms-python.python) с многокорневой рабочей областью?

Моя глобальная среда Python - 2.7, а структура каталогов моего проекта VSCode выглядит следующим образом:

root ├ .vscode │ ├ childA(Python2.7) │ ├ .venv(virtualenv directory created by Pipenv) │ └ .vscode │ └ childB(Python3.7) │ ├ .venv(virtualenv directory created by Pipenv) └ .vscode

Я установил pythonPath файл .vscode/settings.json обоих дочерних каталогов, как показано ниже: "python.pythonPath": ".venv/bin/python"

Недавно я обновил расширение VSCode Python, после этого в разделе ChildBкаталог, расширение Python всегда отображает сообщение об ошибке, как показано ниже: [Python] invalid syntax, parameter annotations require 3.x [E16]

Я использую аннотацию типа, как показано ниже: def add(p1: int, p2: int) return p1 + p2

Это сообщение об ошибке возвращается Python Language Server, который я нашел здесь:https://github.com/Microsoft/python-language-server/blob/7be329643299111cc1f0839d20aa9eb146b0d381/src/Analysis/Engine/Impl/Parsing/Parser.cs#L2088

Когда я не использую многокорневое рабочее пространство, эта ошибка не отображается.

Я думаю, что новейшее расширение Python не может распознать правильную версию Python, которую я установил в .vscode/settings.json когда я использую рабочее пространство с несколькими правами root.

Я хочу, чтобы Python Language Server распознавал правильную версию Python в каталоге childB.

Есть предложения?

1 Ответ

0 голосов
/ 19 ноября 2018

Настройки для рабочего пространства с несколькими корневыми системами указаны не в файле vscode/settings.json, а в файле .vscode-workspace .

...