mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Look for python interpreter configurable by id (EA-266488)
Instead of type, since DSModulesSdkConfigurable does not inherit PyActiveSdkModuleConfigurable. GitOrigin-RevId: c8d546883afdc7958cc980a335a3981d9f05faf3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
20f4d39511
commit
21f09b3b3d
@@ -24,7 +24,7 @@
|
||||
bundle="messages.PyBundle"
|
||||
key="configurable.PyActiveSdkModuleConfigurable.python.interpreter.display.name"
|
||||
instance="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
|
||||
groupWeight="5"/>
|
||||
groupWeight="5"/> <!-- id is used in InterpreterSettingsQuickFix.showPythonInterpreterSettings -->
|
||||
<projectConfigurable groupId="project"
|
||||
id="com.jetbrains.python.configuration.PyDependenciesConfigurable"
|
||||
bundle="messages.PyBundle"
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
<xi:include href="/META-INF/python-community-plugin-core.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<projectConfigurable groupId="build" groupWeight="118"
|
||||
<projectConfigurable groupId="build"
|
||||
id="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
|
||||
bundle="messages.PyBundle"
|
||||
key="configurable.PyActiveSdkModuleConfigurable.python.interpreter.display.name"
|
||||
instance="com.jetbrains.python.minor.sdk.PyPluginSdkModuleConfigurable"/>
|
||||
instance="com.jetbrains.python.minor.sdk.PyPluginSdkModuleConfigurable"
|
||||
groupWeight="118"/> <!-- id is used in InterpreterSettingsQuickFix.showPythonInterpreterSettings -->
|
||||
|
||||
<facetType implementation="com.jetbrains.python.minor.facet.PythonFacetType"/>
|
||||
</extensions>
|
||||
|
||||
@@ -8,13 +8,12 @@ import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.codeInspection.util.InspectionMessage;
|
||||
import com.intellij.codeInspection.util.IntentionFamilyName;
|
||||
import com.intellij.codeInspection.util.IntentionName;
|
||||
import com.intellij.ide.actions.ShowSettingsUtilImpl;
|
||||
import com.intellij.openapi.application.ex.ApplicationUtil;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.options.ConfigurableGroup;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil;
|
||||
import com.intellij.openapi.options.ex.ConfigurableVisitor;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
@@ -35,7 +34,6 @@ import com.intellij.util.PlatformUtils;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.jetbrains.python.PyPsiBundle;
|
||||
import com.jetbrains.python.PythonIdeLanguageCustomization;
|
||||
import com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable;
|
||||
import com.jetbrains.python.psi.LanguageLevel;
|
||||
import com.jetbrains.python.psi.PyFile;
|
||||
import com.jetbrains.python.sdk.*;
|
||||
@@ -333,8 +331,10 @@ public final class PyInterpreterInspection extends PyInspection {
|
||||
}
|
||||
|
||||
public static void showPythonInterpreterSettings(@NotNull Project project, @NotNull Module module) {
|
||||
if (hasPythonSdkConfigurable(project)) {
|
||||
ShowSettingsUtil.getInstance().showSettingsDialog(project, PyActiveSdkModuleConfigurable.class);
|
||||
final var id = "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable";
|
||||
final var group = ConfigurableExtensionPointUtil.getConfigurableGroup(project, true);
|
||||
if (ConfigurableVisitor.findById(id, Collections.singletonList(group)) != null) {
|
||||
ShowSettingsUtilImpl.showSettingsDialog(project, id, null);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -347,13 +347,6 @@ public final class PyInterpreterInspection extends PyInspection {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean hasPythonSdkConfigurable(@NotNull Project project) {
|
||||
if (PlatformUtils.isPyCharm()) return true;
|
||||
|
||||
final List<ConfigurableGroup> groups = Collections.singletonList(ConfigurableExtensionPointUtil.getConfigurableGroup(project, true));
|
||||
return ConfigurableVisitor.findByType(PyActiveSdkModuleConfigurable.class, groups) != null;
|
||||
}
|
||||
|
||||
private static boolean justOneModuleInheritingSdk(@NotNull Project project, @NotNull Module module) {
|
||||
return ProjectRootManager.getInstance(project).getProjectSdk() == null &&
|
||||
ModuleRootManager.getInstance(module).isSdkInherited() &&
|
||||
|
||||
Reference in New Issue
Block a user