From 708375475d3d2387d24f953974e377a114d71e35 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 7 Dec 2017 17:07:04 +0300 Subject: [PATCH] python scientific project generator - use conda interpreter to generate project - create models/, data/, notebooks/, requirements.txt, readme.md and main.py - enable scientific mode - open console - run configuration for main.py with show command line afterwards enabled --- .../newProject/steps/ProjectSpecificSettingsStep.java | 6 +++--- .../python/newProject/steps/PyAddNewEnvironmentPanel.kt | 4 ++-- .../jetbrains/python/newProject/PythonProjectGenerator.java | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/python/python-community-configure/src/com/jetbrains/python/newProject/steps/ProjectSpecificSettingsStep.java b/python/python-community-configure/src/com/jetbrains/python/newProject/steps/ProjectSpecificSettingsStep.java index 5e748cbcee96..8031237595f9 100644 --- a/python/python-community-configure/src/com/jetbrains/python/newProject/steps/ProjectSpecificSettingsStep.java +++ b/python/python-community-configure/src/com/jetbrains/python/newProject/steps/ProjectSpecificSettingsStep.java @@ -267,7 +267,7 @@ public class ProjectSpecificSettingsStep extends ProjectSettingsStepBase i locationPanel.add(location, BorderLayout.CENTER); panel.add(locationPanel); - panel.add(createInterpretersPanel()); + panel.add(createInterpretersPanel(((PythonProjectGenerator)myProjectGenerator).getPreferredEnvironmentType())); final JPanel basePanelExtension = ((PythonProjectGenerator)myProjectGenerator).extendBasePanel(); if (basePanelExtension != null) { @@ -280,7 +280,7 @@ public class ProjectSpecificSettingsStep extends ProjectSettingsStepBase i } @NotNull - private JPanel createInterpretersPanel() { + private JPanel createInterpretersPanel(@Nullable final String preferredEnvironment) { final JPanel container = new JPanel(new BorderLayout()); final JPanel decoratorPanel = new JPanel(new VerticalFlowLayout()); @@ -288,7 +288,7 @@ public class ProjectSpecificSettingsStep extends ProjectSettingsStepBase i final Sdk preferredSdk = getPreferredSdk(existingSdks); final String newProjectPath = getNewProjectPath(); - final PyAddNewEnvironmentPanel newEnvironmentPanel = new PyAddNewEnvironmentPanel(existingSdks, newProjectPath); + final PyAddNewEnvironmentPanel newEnvironmentPanel = new PyAddNewEnvironmentPanel(existingSdks, newProjectPath, preferredEnvironment); final PyAddExistingSdkPanel existingSdkPanel = new PyAddExistingSdkPanel(null, existingSdks, newProjectPath, preferredSdk); final PyAddSdkPanel defaultPanel = PySdkSettings.getInstance().getUseNewEnvironmentForNewProject() ? diff --git a/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PyAddNewEnvironmentPanel.kt b/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PyAddNewEnvironmentPanel.kt index a90a7dab88de..5971c93da16c 100644 --- a/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PyAddNewEnvironmentPanel.kt +++ b/python/python-community-configure/src/com/jetbrains/python/newProject/steps/PyAddNewEnvironmentPanel.kt @@ -17,7 +17,7 @@ import javax.swing.JList /** * @author vlan */ -class PyAddNewEnvironmentPanel(existingSdks: List, newProjectPath: String?) : PyAddSdkPanel() { +class PyAddNewEnvironmentPanel(existingSdks: List, newProjectPath: String?, preferredType: String?) : PyAddSdkPanel() { override val panelName = "New environment using" override val nameExtensionComponent: JComboBox @@ -32,7 +32,7 @@ class PyAddNewEnvironmentPanel(existingSdks: List, newProjectPath: String?) private val panels = listOf(PyAddNewVirtualEnvPanel(null, existingSdks, newProjectPath), PyAddNewCondaEnvPanel(null, existingSdks, newProjectPath)) - var selectedPanel = panels.find { it.envName == PySdkSettings.instance.preferredEnvironmentType } ?: panels[0] + var selectedPanel = panels.find { it.envName == preferredType ?: PySdkSettings.instance.preferredEnvironmentType } ?: panels[0] private val listeners = mutableListOf() diff --git a/python/src/com/jetbrains/python/newProject/PythonProjectGenerator.java b/python/src/com/jetbrains/python/newProject/PythonProjectGenerator.java index 36ea2aa46dd7..a64cb4017757 100644 --- a/python/src/com/jetbrains/python/newProject/PythonProjectGenerator.java +++ b/python/src/com/jetbrains/python/newProject/PythonProjectGenerator.java @@ -320,6 +320,11 @@ public abstract class PythonProjectGenerator ext return errorDescription; } + @Nullable + public String getPreferredEnvironmentType() { + return null; + } + /** * To be thrown if project can't be created on this sdk *