summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/execution/impl
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/execution/impl')
-rw-r--r--platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java11
-rw-r--r--platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java7
-rw-r--r--platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java10
3 files changed, 19 insertions, 9 deletions
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java
index 605d073945b5..3fce510e725e 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java
+++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java
@@ -674,7 +674,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
final Document document = myEditor.getDocument();
final RangeMarker lastProcessedOutput = document.createRangeMarker(document.getTextLength(), document.getTextLength());
final int caretOffset = myEditor.getCaretModel().getOffset();
- final boolean isAtLastLine = document.getLineNumber(caretOffset) >= document.getLineCount() - 1;
+ final boolean isAtLastLine = isCaretAtLastLine();
CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
@Override
@@ -1078,6 +1078,9 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
};
if (immediately) {
model.runBatchFoldingOperation(operation);
+ if (isCaretAtLastLine()) {
+ EditorUtil.scrollToTheEnd(myEditor);
+ }
}
else {
model.runBatchFoldingOperationDoNotCollapseCaret(operation);
@@ -1092,6 +1095,12 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
}
}
+ private boolean isCaretAtLastLine() {
+ final Document document = myEditor.getDocument();
+ final int caretOffset = myEditor.getCaretModel().getOffset();
+ return document.getLineNumber(caretOffset) >= document.getLineCount() - 1;
+ }
+
private void addFolding(Document document, CharSequence chars, int line, List<FoldRegion> toAdd) {
String commandLinePlaceholder = myCommandLineFolding.getPlaceholder(line);
if (commandLinePlaceholder != null) {
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java b/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java
index d206283375e2..265d9c3f7410 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java
+++ b/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java
@@ -26,7 +26,7 @@ public class EditConfigurationsDialog extends SingleConfigurableEditor implement
protected Executor myExecutor;
public EditConfigurationsDialog(final Project project) {
- super(project, new RunConfigurable(project), IdeModalityType.PROJECT);
+ super(project, new RunConfigurable(project), "#com.intellij.execution.impl.EditConfigurationsDialog", IdeModalityType.PROJECT);
((RunConfigurable)getConfigurable()).setRunDialog(this);
setTitle(ExecutionBundle.message("run.debug.dialog.title"));
setHorizontalStretch(1.3F);
@@ -42,11 +42,6 @@ public class EditConfigurationsDialog extends SingleConfigurableEditor implement
}
}
- @Override
- protected String getDimensionServiceKey() {
- return "#com.intellij.execution.impl.EditConfigurationsDialog";
- }
-
@Nullable
@Override
public Executor getExecutor() {
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java
index 3645439db470..95d4db09c297 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java
+++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java
@@ -589,8 +589,14 @@ class RunConfigurable extends BaseConfigurable {
@Override
public JComponent createComponent() {
for (RunConfigurationsSettings each : Extensions.getExtensions(RunConfigurationsSettings.EXTENSION_POINT)) {
- UnnamedConfigurable configurable = each.createConfigurable();
- myAdditionalSettings.add(Pair.create(configurable, configurable.createComponent()));
+ try {
+ UnnamedConfigurable configurable = each.createConfigurable(myProject);
+ myAdditionalSettings.add(Pair.create(configurable, configurable.createComponent()));
+ }
+ catch (NoSuchMethodError e) {
+ // in case someone has already implemented old RunConfigurationsSettings.createConfigurable()
+ LOG.error(e);
+ }
}
myWholePanel = new JPanel(new BorderLayout());