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
This commit is contained in:
Ekaterina Tuzova
2017-12-07 17:08:49 +03:00
parent 00b3eb72dc
commit 708375475d
3 changed files with 10 additions and 5 deletions
@@ -267,7 +267,7 @@ public class ProjectSpecificSettingsStep<T> extends ProjectSettingsStepBase<T> 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<T> extends ProjectSettingsStepBase<T> 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<T> extends ProjectSettingsStepBase<T> 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() ?
@@ -17,7 +17,7 @@ import javax.swing.JList
/**
* @author vlan
*/
class PyAddNewEnvironmentPanel(existingSdks: List<Sdk>, newProjectPath: String?) : PyAddSdkPanel() {
class PyAddNewEnvironmentPanel(existingSdks: List<Sdk>, newProjectPath: String?, preferredType: String?) : PyAddSdkPanel() {
override val panelName = "New environment using"
override val nameExtensionComponent: JComboBox<PyAddNewEnvPanel>
@@ -32,7 +32,7 @@ class PyAddNewEnvironmentPanel(existingSdks: List<Sdk>, 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<Runnable>()
@@ -320,6 +320,11 @@ public abstract class PythonProjectGenerator<T extends PyNewProjectSettings> ext
return errorDescription;
}
@Nullable
public String getPreferredEnvironmentType() {
return null;
}
/**
* To be thrown if project can't be created on this sdk
*