mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-17 07:20:53 +07:00
The process is described in `ModulesSdkConfigurator` doc. GitOrigin-RevId: 1a21824e488a2d799b229d7c8355b60b0b177809
200 lines
13 KiB
XML
200 lines
13 KiB
XML
<idea-plugin visibility="internal">
|
|
<!--Customization code for both Community and Pro PyCharms-->
|
|
<dependencies>
|
|
<plugin id="com.intellij.modules.python"/>
|
|
<module name="intellij.python.common"/>
|
|
<module name="intellij.platform.whatsNew"/>
|
|
<module name="intellij.platform.ide.nonModalWelcomeScreen"/>
|
|
<module name="intellij.platform.ide.nonModalWelcomeScreen.backend"/>
|
|
<module name="intellij.python.sdkConfigurator.common"/>
|
|
<module name="intellij.python.sdk.ui"/>
|
|
<module name="intellij.python.community.impl.poetry.common"/>
|
|
<module name="intellij.python.community.impl.uv.common"/>
|
|
<module name="intellij.python.community.execService.python"/>
|
|
</dependencies>
|
|
|
|
<projectListeners>
|
|
<listener class="com.intellij.pycharm.community.ide.impl.PyModuleListener" topic="com.intellij.openapi.project.ModuleListener"/>
|
|
<listener class="com.intellij.pycharm.community.ide.impl.PySdkFromEnvironmentVariableConfigurator"
|
|
topic="com.intellij.workspaceModel.ide.JpsProjectLoadedListener"/>
|
|
</projectListeners>
|
|
|
|
<extensionPoints>
|
|
<extensionPoint interface="com.intellij.pycharm.community.ide.impl.miscProject.MiscFileType"
|
|
qualifiedName="Pythonid.miscFileType" dynamic="true"/>
|
|
</extensionPoints>
|
|
|
|
<extensions defaultExtensionNs="com.intellij">
|
|
<python.common.toolToIconMapper implementation="com.intellij.pycharm.community.ide.impl.configuration.PyReqToolIdToIconMapper"/>
|
|
<projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
|
|
serviceImplementation="com.intellij.pycharm.community.ide.impl.PyProjectScopeBuilder"
|
|
overrides="true"/>
|
|
<welcomeScreenProjectProvider implementation="com.intellij.pycharm.community.ide.impl.welcomeScreen.PyCharmWelcomeScreenProjectProvider" order="first"/>
|
|
<platform.ide.welcomeScreenFeatureBackend implementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyNewScriptWelcomeScreenFeature"/>
|
|
<platform.ide.welcomeScreenFeatureBackend implementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyNewNotebookWelcomeScreenFeature"/>
|
|
<platform.ide.welcomeScreenFeatureBackend implementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyLearnWelcomeScreenFeature"/>
|
|
<platform.ide.welcomeScreenFeatureBackend implementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyImportFileWelcomeScreenFeature"/>
|
|
<platform.ide.welcomeScreenFeatureBackend implementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyPluginsWelcomeScreenFeature"/>
|
|
|
|
<statistics.validation.customValidationRule
|
|
implementation="com.intellij.pycharm.community.ide.impl.miscProject.impl.MiscProjectUsageCollectorValidationRule"/>
|
|
|
|
<refactoring.elementListenerProvider
|
|
implementation="com.intellij.pycharm.community.ide.impl.miscProject.impl.MiscProjectListenerProvider"/>
|
|
<statistics.counterUsagesCollector
|
|
implementationClass="com.intellij.pycharm.community.ide.impl.miscProject.impl.MiscProjectUsageCollector"/>
|
|
<registryKey defaultValue="5" description="Number of primary buttons on welcome screen (other go to 'more actions')"
|
|
key="welcome.screen.primaryButtonsCount" restartRequired="true" overrides="true"/>
|
|
<applicationInitializedListener implementation="com.intellij.pycharm.community.ide.impl.PyCharmCorePluginConfigurator"/>
|
|
<applicationService serviceInterface="com.intellij.lang.IdeLanguageCustomization"
|
|
serviceImplementation="com.intellij.pycharm.community.ide.impl.PyCharmPythonIdeLanguageCustomization"
|
|
overrides="true"/>
|
|
|
|
<!--Settings -->
|
|
<backgroundPostStartupActivity id="PyCharmProjectConfigurableStartupActivity"
|
|
implementation="com.intellij.pycharm.community.ide.impl.PyCharmProjectConfigurableStartupActivity"/>
|
|
|
|
<projectConfigurable groupId="project"
|
|
id="com.intellij.pycharm.community.ide.impl.configuration.PythonContentEntriesConfigurable"
|
|
bundle="messages.PyBundle"
|
|
key="configurable.PythonContentEntriesConfigurable.display.name"
|
|
provider="com.intellij.pycharm.community.ide.impl.configuration.PythonContentEntriesConfigurableProvider"
|
|
groupWeight="15"/>
|
|
|
|
<projectConfigurable groupId="project"
|
|
id="com.intellij.pycharm.community.ide.impl.configuration.PyDependenciesConfigurable"
|
|
bundle="messages.PyBundle"
|
|
key="configurable.PyDependenciesConfigurable.pycharm.display.name"
|
|
provider="com.intellij.pycharm.community.ide.impl.configuration.PyDependenciesConfigurableProvider"
|
|
groupWeight="5"/>
|
|
|
|
<groupConfigurable id="python.group.settings"
|
|
parentId="root"
|
|
weight="1000"
|
|
bundle="messages.PyBundle"
|
|
displayNameKey="settings.python.group.title"
|
|
descriptionKey="settings.python.group.description"/>
|
|
|
|
<groupConfigurable id="python.tools.group.settings"
|
|
parentId="python.group.settings"
|
|
weight="72"
|
|
bundle="messages.PyBundle"
|
|
displayNameKey="settings.python.tools.group.title"
|
|
descriptionKey="settings.python.tools.group.description"/>
|
|
|
|
<projectConfigurable groupId="python.group.settings"
|
|
id="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
|
|
bundle="messages.PyBundle"
|
|
key="configurable.PyActiveSdkModuleConfigurable.pycharm.interpreter.display.name"
|
|
instance="com.intellij.pycharm.community.ide.impl.PyCharmPyActiveSdkModuleConfigurable"
|
|
groupWeight="200"/> <!-- id is used in InterpreterSettingsQuickFix.showPythonInterpreterSettings -->
|
|
|
|
<applicationConfigurable id="memory.settings" groupWeight="45"
|
|
key="settings.memory.group.title"
|
|
bundle="messages.PyBundle"
|
|
instance="com.intellij.pycharm.community.ide.impl.settings.MemoryUsageConfigurable"
|
|
groupId="root"/>
|
|
|
|
<statusBarWidgetFactory id="pythonInterpreterWidget"
|
|
implementation="com.intellij.pycharm.community.ide.impl.configuration.PySdkStatusBarWidgetFactory"
|
|
order="after CodeStyleStatusBarWidget, before git, before hg, before Notifications"/>
|
|
|
|
<directoryProjectConfigurator implementation="com.intellij.pycharm.community.ide.impl.PythonSdkConfigurator" id="sdk"/>
|
|
<directoryProjectConfigurator implementation="com.intellij.pycharm.community.ide.impl.PythonSourceRootConfigurator" id="sourceRoot"
|
|
order="after sdk"/>
|
|
<directoryProjectConfigurator implementation="com.intellij.pycharm.community.ide.impl.PlatformInspectionProfileConfigurator"/>
|
|
<directoryProjectConfigurator implementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyWelcomeConfigurator"
|
|
id="welcome" order="last"/>
|
|
|
|
<applicationService serviceInterface="com.intellij.openapi.module.ModuleTypeManager"
|
|
serviceImplementation="com.intellij.pycharm.community.ide.impl.PythonModuleTypeManager"
|
|
overrides="true"/>
|
|
|
|
<fileStructureGroupRuleProvider implementation="com.intellij.usages.impl.rules.FileGroupingRuleProvider" order="first"/>
|
|
<fileStructureGroupRuleProvider implementation="com.intellij.pycharm.community.ide.impl.PyClassGroupingRuleProvider"
|
|
order="before py-function"/>
|
|
<diffPreviewProvider implementation="com.intellij.pycharm.community.ide.impl.configuration.PyDiffPreviewProvider"/>
|
|
|
|
<optionsApplicabilityFilter implementation="com.intellij.pycharm.community.ide.impl.PyOptionsApplicabilityFilter"/>
|
|
|
|
<applicationService serviceInterface="com.jetbrains.python.run.PyCommonOptionsFormFactory"
|
|
serviceImplementation="com.intellij.pycharm.community.ide.impl.PyIdeCommonOptionsFormFactory"/>
|
|
|
|
<applicationService serviceInterface="com.jetbrains.python.run.PyCommonFragmentsBuilder"
|
|
serviceImplementation="com.intellij.pycharm.community.ide.impl.PyIdeCommonFragmentsBuilder"/>
|
|
|
|
<applicationService serviceInterface="com.intellij.platform.whatsNew.WhatsNewInVisionContentProvider"
|
|
serviceImplementation="com.intellij.pycharm.community.ide.impl.whatsnew.PyCharmWhatsNewInVisionContentProvider"
|
|
overrides="true"/>
|
|
|
|
|
|
<directoryIndexExcludePolicy implementation="com.intellij.pycharm.community.ide.impl.PyDirectoryIndexExcludePolicy"/>
|
|
|
|
<applicationService serviceImplementation="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyWelcomeSettings"/>
|
|
<statistics.counterUsagesCollector
|
|
implementationClass="com.intellij.pycharm.community.ide.impl.newProjectWizard.welcome.PyWelcomeCollector"/>
|
|
<notificationGroup id="PyCharm Advertiser" displayType="STICKY_BALLOON" isLogByDefault="false"
|
|
bundle="messages.PyCharmCommunityCustomizationBundle" key="notification.group.pro.advertiser"/>
|
|
|
|
<ignoredFileProvider implementation="com.intellij.pycharm.community.ide.impl.configuration.PyTemporarilyIgnoredFileProvider"/>
|
|
|
|
<statistics.counterUsagesCollector
|
|
implementationClass="com.intellij.pycharm.community.ide.impl.configuration.PySdkConfigurationCollector"/>
|
|
|
|
<codeInsight.codeVision.settings.defaults implementation="com.intellij.pycharm.community.ide.impl.PyCharmCodeVisionSettingsDefaults"/>
|
|
<statistics.counterUsagesCollector implementationClass="com.intellij.pycharm.community.ide.impl.configuration.ui.PyAddNewEnvCollector"/>
|
|
<startPagePromoter
|
|
implementation="com.intellij.pycharm.community.ide.impl.promo.WelcomeToUnifiedWelcomeScreenBanner"/>
|
|
</extensions>
|
|
|
|
<extensions defaultExtensionNs="Pythonid">
|
|
<projectSdkConfigurationExtension
|
|
implementation="com.intellij.pycharm.community.ide.impl.configuration.PyRequirementsTxtOrSetupPySdkConfiguration"
|
|
id="requirementsTxtOrSetupPy" order="before uv"/>
|
|
<projectSdkConfigurationExtension
|
|
implementation="com.intellij.pycharm.community.ide.impl.conda.PyEnvironmentYmlSdkConfiguration"
|
|
id="environmentYml"/>
|
|
<projectSdkConfigurationExtension implementation="com.intellij.pycharm.community.ide.impl.configuration.PyPipfileSdkConfiguration"
|
|
id="pipfile" order="before requirementsTxtOrSetupPy"/>
|
|
<projectSdkConfigurationExtension implementation="com.intellij.pycharm.community.ide.impl.configuration.PyPoetrySdkConfiguration"
|
|
id="poetry"/>"/>
|
|
<projectSdkConfigurationExtension implementation="com.intellij.pycharm.community.ide.impl.configuration.PyHatchSdkConfiguration"
|
|
id="hatch" order="after poetry"/>
|
|
<projectSdkConfigurationExtension implementation="com.intellij.pycharm.community.ide.impl.configuration.PyUvSdkConfiguration"
|
|
id="uv" order="last"/>
|
|
<projectSdkConfigurationExtension implementation="com.intellij.pycharm.community.ide.impl.configuration.PyVenvSdkConfiguration"
|
|
id="venv" order="before requirementsTxtOrSetupPy"/>
|
|
</extensions>
|
|
|
|
<applicationListeners>
|
|
<listener class="com.intellij.pycharm.community.ide.impl.welcomeScreen.PyWelcomeScreenNewUsersTracker"
|
|
topic="com.intellij.ide.AppLifecycleListener"/>
|
|
<listener class="com.intellij.pycharm.community.ide.impl.promo.CommunityToUnifiedListener"
|
|
topic="com.intellij.ide.AppLifecycleListener"/>
|
|
</applicationListeners>
|
|
|
|
<actions resource-bundle="messages.ActionsBundle">
|
|
<action id="PySwitchSdkAction" class="com.intellij.pycharm.community.ide.impl.configuration.PySwitchSdkAction"/>
|
|
<action id="NewDirectoryProject" class="com.intellij.pycharm.community.ide.impl.newProjectWizard.PyCharmNewProjectAction">
|
|
<add-to-group group-id="NewProjectOrModuleGroup"/>
|
|
</action>
|
|
|
|
<group id="WelcomeScreen.Platform.NewProject">
|
|
<group id="WelcomeScreen.PyScratchFileActionGroup"
|
|
class="com.intellij.pycharm.community.ide.impl.miscProject.impl.PyMiscFileActionGroup" compact="true"/>
|
|
<group id="WelcomeScreen.CreateDirectoryProject"
|
|
class="com.intellij.pycharm.community.ide.impl.newProjectWizard.impl.PyV3NewProjectStepAction"/>
|
|
<reference ref="WelcomeScreen.OpenDirectoryProject"/>
|
|
|
|
<add-to-group group-id="WelcomeScreen.QuickStart" anchor="first"/>
|
|
</group>
|
|
|
|
<!--Non Modal Welcome Screen customization-->
|
|
<action id="welcome.screen.left.tab.new.py.script"
|
|
class="com.intellij.pycharm.community.ide.impl.miscProject.impl.PyNewMiscScriptAction">
|
|
<add-to-group group-id="NonModalWelcomeScreen.LeftTabActions.New"/>
|
|
</action>
|
|
</actions>
|
|
|
|
</idea-plugin>
|