Fix configuring inner venv for idea + python plugin (PY-49082)

Python project base directory stored in context was ignored during looking for virtual envs because module was not passed.
Such inner venv did not have a precedence in sorting by the same reason.

GitOrigin-RevId: 99bf42d3c9c254878e944cbfc186bdd26b8e580b
This commit is contained in:
Semyon Proshev
2021-06-02 21:27:57 +03:00
committed by intellij-monorepo-bot
parent f48f210237
commit bf9324167f
3 changed files with 27 additions and 14 deletions

View File

@@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.facet.PythonFacet;
import com.jetbrains.python.facet.PythonFacetType;
import com.jetbrains.python.sdk.PyDetectedSdk;
import com.jetbrains.python.sdk.PySdkExtKt;
@@ -120,7 +121,10 @@ public class PythonPluginCommandLineInspectionProjectConfigurator implements Com
if (facet == null) {
logger.reportMessage(3, "Setting Python facet for: " + m.getName());
WriteAction.runAndWait(() -> facetManager.addFacet(facetType, facetType.getPresentableName(), null));
WriteAction.runAndWait(() -> {
final PythonFacet addedFacet = facetManager.addFacet(facetType, facetType.getPresentableName(), null);
PySdkExtKt.excludeInnerVirtualEnv(m, addedFacet.getConfiguration().getSdk());
});
}
else {
logger.reportMessage(3, "Python facet already here: " + m.getName());