[python] get rid of classes registered in wrong modules

You must register class in the same v2 module class sits

GitOrigin-RevId: c7fcccd27c2fcaa3d9391d1173f61ad43fe2b076
This commit is contained in:
Ilya.Kazakevich
2024-01-16 21:42:19 +01:00
committed by intellij-monorepo-bot
parent ee148eaba0
commit b533e29ce0
26 changed files with 126 additions and 57 deletions

View File

@@ -12,5 +12,6 @@
<orderEntry type="module" module-name="intellij.platform.langInjection" />
<orderEntry type="module" module-name="intellij.python.community.impl" />
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
<orderEntry type="library" name="StreamEx" level="project" />
</component>
</module>

View File

@@ -7,7 +7,7 @@
<injectionConfig config="resources/pyInjections.xml"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<patterns.patternClass className="com.jetbrains.python.patterns.PythonPatterns" alias="py"/>
<patterns.patternClass className="com.intellij.python.langInjection.PythonPatterns" alias="py"/>
<multiHostInjector implementation="com.intellij.python.langInjection.PyConfigurationInjector"/>
<multiHostInjector implementation="com.intellij.python.langInjection.PyTemporaryInjector"/>
</extensions>

View File

@@ -7,9 +7,11 @@ import com.jetbrains.python.codeInsight.PyInjectorBase;
import org.intellij.plugins.intelliLang.inject.InjectedLanguage;
import org.intellij.plugins.intelliLang.inject.InjectorUtils;
import org.intellij.plugins.intelliLang.inject.config.BaseInjection;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ApiStatus.Internal
public class PyCommentInjector extends PyInjectorBase {
@Nullable
@Override

View File

@@ -13,9 +13,11 @@ import org.intellij.plugins.intelliLang.inject.InjectedLanguage;
import org.intellij.plugins.intelliLang.inject.InjectorUtils;
import org.intellij.plugins.intelliLang.inject.LanguageInjectionSupport;
import org.intellij.plugins.intelliLang.inject.config.BaseInjection;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ApiStatus.Internal
public final class PyConfigurationInjector extends PyInjectorBase {
@Override
public void getLanguagesToInject(@NotNull MultiHostRegistrar registrar, @NotNull PsiElement context) {

View File

@@ -2,14 +2,15 @@
package com.intellij.python.langInjection;
import com.intellij.psi.PsiLanguageInjectionHost;
import com.jetbrains.python.patterns.PythonPatterns;
import com.jetbrains.python.psi.PyElement;
import org.intellij.plugins.intelliLang.inject.AbstractLanguageInjectionSupport;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ApiStatus.Internal
public final class PyLanguageInjectionSupport extends AbstractLanguageInjectionSupport {
@NonNls private static final String SUPPORT_ID = "python";

View File

@@ -13,9 +13,11 @@ import com.jetbrains.python.psi.PyElement;
import org.intellij.plugins.intelliLang.inject.InjectedLanguage;
import org.intellij.plugins.intelliLang.inject.InjectorUtils;
import org.intellij.plugins.intelliLang.inject.TemporaryPlacesRegistry;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ApiStatus.Internal
public final class PyTemporaryInjector extends PyInjectorBase {
@Override
public void getLanguagesToInject(@NotNull MultiHostRegistrar registrar, @NotNull PsiElement context) {

View File

@@ -1,5 +1,5 @@
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.python.patterns;
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.python.langInjection;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.patterns.InitialPatternCondition;
@@ -8,10 +8,12 @@ import com.intellij.psi.PsiElement;
import com.intellij.util.ProcessingContext;
import com.jetbrains.python.codeInsight.dataflow.scope.ScopeUtil;
import com.jetbrains.python.documentation.docstrings.DocStringUtil;
import com.jetbrains.python.patterns.PyElementPattern;
import com.jetbrains.python.psi.*;
import com.jetbrains.python.psi.resolve.PyResolveContext;
import com.jetbrains.python.psi.types.TypeEvalContext;
import one.util.streamex.StreamEx;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -27,6 +29,8 @@ import java.util.regex.Pattern;
*
* @see PlatformPatterns
*/
@ApiStatus.Internal
public final class PythonPatterns extends PlatformPatterns {
private static final int STRING_LITERAL_LIMIT = 10000;

View File

@@ -11,8 +11,9 @@
</projectListeners>
<extensions defaultExtensionNs="com.intellij">
<applicationInitializedListener implementation="com.intellij.pycharm.community.ide.impl.PyCharmCorePluginConfigurator"/>
<applicationService serviceInterface="com.intellij.lang.IdeLanguageCustomization"
serviceImplementation="com.jetbrains.python.PythonIdeLanguageCustomization"
serviceImplementation="com.intellij.pycharm.community.ide.impl.PyCharmPythonIdeLanguageCustomization"
overrides="true"/>
<projectConfigurable groupId="project"
@@ -24,7 +25,7 @@
id="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
bundle="messages.PyBundle"
key="configurable.PyActiveSdkModuleConfigurable.python.interpreter.display.name"
instance="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
instance="com.intellij.pycharm.community.ide.impl.PyCharmPyActiveSdkModuleConfigurable"
groupWeight="5"/> <!-- id is used in InterpreterSettingsQuickFix.showPythonInterpreterSettings -->
<projectConfigurable groupId="project"
id="com.intellij.pycharm.community.ide.impl.configuration.PyDependenciesConfigurable"
@@ -60,9 +61,6 @@
<applicationService serviceInterface="com.jetbrains.python.run.PyCommonFragmentsBuilder"
serviceImplementation="com.intellij.pycharm.community.ide.impl.PyIdeCommonFragmentsBuilder"/>
<!-- Console -->
<toolWindow id="Python Console" anchor="bottom" icon="com.jetbrains.python.icons.PythonIcons.Python.PythonConsoleToolWindow" canCloseContents="true"
factoryClass="com.jetbrains.python.console.PythonConsoleToolWindowFactory" secondary="false"/>
<directoryIndexExcludePolicy implementation="com.intellij.pycharm.community.ide.impl.PyDirectoryIndexExcludePolicy"/>

View File

@@ -0,0 +1,10 @@
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<annotator language="Python" implementationClass="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiser"/>
<annotator language="TEXT" implementationClass="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiser"/>
<annotator language="JSON" implementationClass="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiser"/>
<projectService serviceImplementation="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiserSettings"/>
</extensions>
</idea-plugin>

View File

@@ -0,0 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.pycharm.community.ide.impl
import com.intellij.openapi.project.Project
import com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable
internal class PyCharmPyActiveSdkModuleConfigurable(project:Project): PyActiveSdkModuleConfigurable(project)

View File

@@ -0,0 +1,6 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.pycharm.community.ide.impl
import com.jetbrains.python.PythonIdeLanguageCustomization
internal class PyCharmPythonIdeLanguageCustomization : PythonIdeLanguageCustomization()

View File

@@ -8,21 +8,11 @@
<depends>com.intellij.modules.pycharm.community</depends>
<depends>com.intellij.modules.python</depends>
<xi:include href="/META-INF/pycharm-community-customization.xml"/>
<xi:include href="/META-INF/pycharm-community-only-customization.xml"/>
<xi:include href="/META-INF/pycharm-community-and-pro-customization.xml"/>
<xi:include href="/META-INF/pycharm-community-promo.xml"/>
<xi:include href="/META-INF/tips-pycharm-community.xml"/>
<xi:include href="/META-INF/jupyter-view-only.xml"/>
<extensions defaultExtensionNs="com.intellij">
<applicationInitializedListener implementation="com.intellij.pycharm.community.ide.impl.PyCharmCorePluginConfigurator"/>
<projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
serviceImplementation="com.jetbrains.python.psi.search.PyProjectScopeBuilder"
overrides="true"/>
<annotator language="Python" implementationClass="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiser"/>
<annotator language="TEXT" implementationClass="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiser"/>
<annotator language="JSON" implementationClass="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiser"/>
<projectService serviceImplementation="com.intellij.pycharm.community.ide.impl.PyCharmProfessionalAdvertiserSettings"/>
</extensions>
</idea-plugin>

View File

@@ -19,6 +19,7 @@ The Python plug-in provides smart editing for Python scripts. The feature set of
<depends>com.intellij.modules.python-core-capable</depends>
<xi:include href="/META-INF/python-core-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="/META-INF/python-core-community.xml" xpointer="xpointer(/idea-plugin/*)"/>
<depends optional="true" config-file="python-community-plugin-java.xml">com.intellij.java</depends>
<depends optional="true" config-file="python-community-plugin-minor.xml">com.intellij.modules.clion</depends>
@@ -36,8 +37,4 @@ The Python plug-in provides smart editing for Python scripts. The feature set of
<module name="intellij.python.reStructuredText"/>
</content>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.jetbrains.python.console.PythonConsoleRunnerFactory"
serviceImplementation="com.jetbrains.python.console.PydevConsoleRunnerFactory" />
</extensions>
</idea-plugin>

View File

@@ -7,4 +7,9 @@
implementationClass="com.jetbrains.python.PythonFileType"
fieldName="INSTANCE"/>
</extensions>
<extensionPoints>
<extensionPoint qualifiedName="Pythonid.dialectsTokenSetContributor"
interface="com.jetbrains.python.PythonDialectsTokenSetContributor"
dynamic="true"/>
</extensionPoints>
</idea-plugin>

View File

@@ -1,8 +1,5 @@
<idea-plugin>
<extensionPoints>
<extensionPoint qualifiedName="Pythonid.dialectsTokenSetContributor"
interface="com.jetbrains.python.PythonDialectsTokenSetContributor"
dynamic="true"/>
<extensionPoint qualifiedName="Pythonid.pyReferenceResolveProvider"
interface="com.jetbrains.python.psi.resolve.PyReferenceResolveProvider"
dynamic="true"/>

View File

@@ -1,6 +1,21 @@
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>
<projectService serviceImplementation="com.jetbrains.python.findUsages.PyFindUsagesOptions"/>
<highlightRangeExtension implementation="com.jetbrains.python.validation.PyHighlightingAnnotator"/>
<!-- We run it before FilePathCompletionContributor (id="filePath") to get help text about full path results in the extended completion -->
<psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PySoftFileReferenceContributor" language="Python"
order="before filePath"/>
<fileType name="PythonStub"
language="PythonStub"
extensions="pyi"
implementationClass="com.jetbrains.python.pyi.PyiFileType"
fieldName="INSTANCE"/>
<lang.elementManipulator forClass="com.jetbrains.python.psi.PyReferenceExpression"
implementationClass="com.jetbrains.python.psi.impl.PyReferenceExpressionManipulator"/>

View File

@@ -8,4 +8,7 @@
interface="com.jetbrains.python.sdk.configuration.PyProjectSdkConfigurationExtension"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceImplementation="com.jetbrains.python.packaging.PyCondaPackageService"/>
</extensions>
</idea-plugin>

View File

@@ -1,6 +1,6 @@
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- Components and extensions declared in this file work both in PyCharm and Python plugin.
Both Community and Professional editions. -->
<!--Part of both: community and prof -->
<resource-bundle>messages.PyBundle</resource-bundle>
@@ -14,8 +14,8 @@
<!-- Enable command-line language. Not used by community itself, but by some plugins -->
<xi:include href="/META-INF/command-line-plugin.xml" xpointer="xpointer(/idea-plugin/*)"/>
<!-- Requirements.txt support. Can't extract module due to circular dependency between it and community.impl (RequirementsFile inspection)-->
<extensions defaultExtensionNs="com.intellij">
<fileType name="Requirements.txt"
implementationClass="com.jetbrains.python.requirements.RequirementsFileType"
fieldName="INSTANCE"
@@ -29,6 +29,8 @@
language="Requirements"
implementationClass="com.jetbrains.python.requirements.RequirementsSyntaxHighlighterFactory"/>
<multiHostInjector implementation="com.jetbrains.python.requirements.RequirementsLanguageInjector"/>
<!-- Requirements.txt support. Can't extract module due to circular dependency between it and community.impl (RequirementsFile inspection)-->
<completion.contributor language="Requirements"
implementationClass="com.jetbrains.python.requirements.RequirementsPackageNameCompletionContributor"/>
<completion.contributor language="Requirements"
@@ -37,7 +39,9 @@
implementationClass="com.jetbrains.python.requirements.PoetryDependencyPackageNameCompletionContributor"/>
<completion.contributor language="TOML"
implementationClass="com.jetbrains.python.requirements.PoetryDependencyVersionCompletionContributor"/>
<projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
serviceImplementation="com.jetbrains.python.psi.search.PyProjectScopeBuilder"
overrides="true"/>
</extensions>
<!-- Poetry. Can't extract module due to circular dependency between it and community.impl--> -->
@@ -70,11 +74,7 @@
<nameSuggestionProvider implementation="com.jetbrains.python.refactoring.PyNameSuggestionProvider"/>
<methodNavigationOffsetProvider implementation="com.jetbrains.python.codeInsight.PyMethodNavigationOffsetProvider"/>
<copyPastePreProcessor implementation="com.jetbrains.python.editor.PythonCopyPasteProcessor"/>
<fileType name="PythonStub"
language="PythonStub"
extensions="pyi"
implementationClass="com.jetbrains.python.pyi.PyiFileType"
fieldName="INSTANCE"/>
<editorHighlighterProvider filetype="Python" implementationClass="com.jetbrains.python.PyEditorHighlighterProvider"/>
<lang.syntaxHighlighterFactory language="Python" implementationClass="com.jetbrains.python.highlighting.PySyntaxHighlighterFactory"/>
<lang.braceMatcher language="Python" implementationClass="com.jetbrains.python.PyBraceMatcher"/>
@@ -92,7 +92,6 @@
implementationClass="com.jetbrains.python.documentation.PythonExternalDocumentationProvider"
order="before pythonDocumentationProvider"/>
<lang.emacs language="Python" implementationClass="com.jetbrains.python.editor.PyEmacsHandler"/>
<highlightRangeExtension implementation="com.jetbrains.python.validation.PyHighlightingAnnotator"/>
<annotator language="Python" implementationClass="com.jetbrains.python.validation.PyAnnotatingVisitor"/>
<annotator language="Python" implementationClass="com.jetbrains.python.validation.PyCompositeAnnotator"/>
<annotator language="Python" implementationClass="com.jetbrains.python.inspections.PyCompatibilityInspectionAdvertiser"/>
@@ -126,7 +125,6 @@
<projectService serviceImplementation="com.jetbrains.python.inspections.PyCompatibilityInspectionAdvertiserSettings"/>
<projectService serviceImplementation="com.jetbrains.python.packaging.PyPackagingSettings"/>
<projectService serviceImplementation="com.jetbrains.python.findUsages.PyFindUsagesOptions"/>
<projectService serviceInterface="com.jetbrains.python.codeInsight.completion.RemoteFilePathRetrievalService"
serviceImplementation="com.jetbrains.python.codeInsight.completion.DummyRemoteFilePathRetrievalService"
@@ -134,7 +132,6 @@
<applicationService serviceImplementation="com.jetbrains.python.sdk.PySdkSettings"/>
<applicationService serviceImplementation="com.jetbrains.python.packaging.PyPackageService"/>
<applicationService serviceImplementation="com.jetbrains.python.packaging.PyCondaPackageService"/>
<applicationService serviceInterface="com.jetbrains.python.module.PyModuleService"
serviceImplementation="com.jetbrains.python.module.PyModuleServiceImpl"/>
<applicationService serviceInterface="com.jetbrains.python.sdk.flavors.WinRegistryService"
@@ -187,7 +184,9 @@
<advancedSetting id="python.debugger.attach.timeout" default="20000" groupKey="group.advanced.settings.python"/>
<runLineMarkerContributor language="Python"
implementationClass="com.jetbrains.python.testing.PyTestLineMarkerContributor"/>
<toolWindow id="Python Console" anchor="right" icon="com.jetbrains.python.icons.PythonIcons.Python.PythonConsoleToolWindow"
canCloseContents="true"
factoryClass="com.jetbrains.python.console.PythonConsoleToolWindowFactory" secondary="false"/>
<codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyLineMarkerProvider"/>
<codeInsight.typeInfo language="Python" implementationClass="com.jetbrains.python.actions.PythonExpressionTypeProvider"/>
<runLineMarkerContributor language="Python" implementationClass="com.jetbrains.python.codeInsight.PyRunLineMarkerContributor"/>
@@ -288,7 +287,8 @@
implementationClass="com.jetbrains.python.codeInsight.mlcompletion.PyContextFeatureProvider"/>
<completion.ml.elementFeatures language="Python"
implementationClass="com.jetbrains.python.codeInsight.mlcompletion.PyElementFeatureProvider"/>
<mlCompletionCorrectnessSupporter implementationClass="com.jetbrains.python.codeInsight.mlcompletion.correctness.PythonMLCompletionCorrectnessSupporter"/>
<mlCompletionCorrectnessSupporter
implementationClass="com.jetbrains.python.codeInsight.mlcompletion.correctness.PythonMLCompletionCorrectnessSupporter"/>
<completion.confidence language="Python" implementationClass="com.jetbrains.python.codeInsight.completion.PyCompletionConfidence"/>
<completion.ml.model implementation="com.jetbrains.python.codeInsight.mlcompletion.PythonMLRankingProvider"/>
<typedHandler implementation="com.jetbrains.python.console.completion.PythonConsoleAutopopupBlockingHandler" id="pydevBlockAutoPopup"
@@ -298,7 +298,6 @@
<findUsagesHandlerFactory implementation="com.jetbrains.python.findUsages.PyFindUsagesHandlerFactory" id="Python"
order="last, before default"/>
<readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>
<findUsagesHandlerFactory implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralFindUsagesHandlerFactory"/>
<renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyVariableProcessor" order="last" id="pyvar"/>
@@ -333,9 +332,7 @@
bundle="messages.PyBundle"
key="configurable.PySmartKeysOptions.display.name"/>
<!-- We run it before FilePathCompletionContributor (id="filePath") to get help text about full path results in the extended completion -->
<psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PySoftFileReferenceContributor" language="Python"
order="before filePath"/>
<psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PyConsoleFileReferenceContributor" language="Python"
order="before filePath"/>
<psi.referenceContributor implementation="com.jetbrains.python.testing.pyTestFixtures.PyTestFixtureReferenceContributor"
@@ -900,7 +897,8 @@
<add-to-group group-id="RefactoringMenu" anchor="last"/>
</action>
<action id="StepIntoMyCode" class="com.jetbrains.python.debugger.PyStepIntoMyCodeAction" icon="com.jetbrains.python.icons.PythonIcons.Python.Debug.StepIntoMyCode">
<action id="StepIntoMyCode" class="com.jetbrains.python.debugger.PyStepIntoMyCodeAction"
icon="com.jetbrains.python.icons.PythonIcons.Python.Debug.StepIntoMyCode">
<add-to-group group-id="DebuggingActionsGroup" relative-to-action="StepInto" anchor="after"/>
<add-to-group group-id="XDebugger.ToolWindow.TopToolbar" relative-to-action="StepInto" anchor="after"/>
<add-to-group group-id="XDebugger.ToolWindow.TopToolbar3" relative-to-action="StepInto" anchor="after"/>

View File

@@ -0,0 +1,7 @@
<idea-plugin>
<!--Community only, never professional -->
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.jetbrains.python.console.PythonConsoleRunnerFactory"
serviceImplementation="com.jetbrains.python.community.CommunityPydevConsoleRunnerFactory"/>
</extensions>
</idea-plugin>

View File

@@ -4,12 +4,16 @@ package com.jetbrains.python;
import com.intellij.lang.IdeLanguageCustomization;
import com.intellij.lang.Language;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public final class PythonIdeLanguageCustomization extends IdeLanguageCustomization {
// Inherit in the module you are going to use it
@ApiStatus.Internal
public abstract class PythonIdeLanguageCustomization extends IdeLanguageCustomization {
protected PythonIdeLanguageCustomization() {}
@NotNull
@Override
public List<Language> getPrimaryIdeLanguages() {

View File

@@ -0,0 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.jetbrains.python.community
import com.jetbrains.python.console.PydevConsoleRunnerFactory
// To be used for community only
internal class CommunityPydevConsoleRunnerFactory: PydevConsoleRunnerFactory()

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
/**
* This package is only used in community and never in professional
*/
@ApiStatus.Internal
package com.jetbrains.python.community;
import org.jetbrains.annotations.ApiStatus;

View File

@@ -6,12 +6,16 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.options.UnnamedConfigurable;
import com.intellij.openapi.project.Project;
import com.jetbrains.python.PyBundle;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
public class PyActiveSdkModuleConfigurable extends ModuleAwareProjectConfigurable {
// Inherit in the module you are going to use it
@ApiStatus.Internal
public abstract class PyActiveSdkModuleConfigurable extends ModuleAwareProjectConfigurable {
private final Project myProject;
public PyActiveSdkModuleConfigurable(Project project) {
protected PyActiveSdkModuleConfigurable(Project project) {
super(project, PyBundle.message("configurable.PyActiveSdkModuleConfigurable.python.interpreter.display.name"), "reference.settings.project.interpreter");
myProject = project;
}

View File

@@ -1,4 +1,4 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.jetbrains.python.console
import com.intellij.openapi.application.TransactionGuard
@@ -7,8 +7,12 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.wm.ToolWindow
import com.intellij.openapi.wm.ToolWindowFactory
import com.jetbrains.python.PythonPluginDisposable
import com.jetbrains.python.console.PydevConsoleRunnerImpl
import com.jetbrains.python.console.PythonConsoleRunnerFactory
import org.jetbrains.annotations.ApiStatus.Internal
import org.jetbrains.annotations.NonNls
@Internal
class PythonConsoleToolWindowFactory : ToolWindowFactory, DumbAware {
override fun createToolWindowContent(project: Project, toolWindow: ToolWindow) {
val isStartedFromRunner = toolWindow.component.getClientProperty(PydevConsoleRunnerImpl.STARTED_BY_RUNNER)

View File

@@ -11,8 +11,8 @@ import org.jetbrains.annotations.NotNull;
import java.util.Objects;
public final class PyProjectScopeBuilder extends ProjectScopeBuilderImpl {
public PyProjectScopeBuilder(Project project) {
final class PyProjectScopeBuilder extends ProjectScopeBuilderImpl {
PyProjectScopeBuilder(Project project) {
super(project);
}

View File

@@ -2,10 +2,7 @@
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="/META-INF/PlatformLangXmlPlugin.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="/META-INF/python-core-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.jetbrains.python.console.PythonConsoleRunnerFactory"
serviceImplementation="com.jetbrains.python.console.PydevConsoleRunnerFactory" />
</extensions>
<xi:include href="/META-INF/python-core-community.xml" xpointer="xpointer(/idea-plugin/*)"/>
<content>
<module name="intellij.python.copyright"/>
<module name="intellij.python.markdown"/>