Class CommonTerminalExecutionConsole
java.lang.Object
com.redhat.devtools.intellij.common.utils.CommonTerminalExecutionConsole
- All Implemented Interfaces:
com.intellij.execution.ui.ConsoleView,com.intellij.execution.ui.ExecutionConsole,com.intellij.execution.ui.ObservableConsoleView,com.intellij.openapi.Disposable,com.intellij.openapi.ui.ComponentContainer
public class CommonTerminalExecutionConsole
extends Object
implements com.intellij.execution.ui.ConsoleView, com.intellij.execution.ui.ObservableConsoleView
This class is similar to the TerminalExecutionConsole class by JetBrains (v. 2019.3) with the difference that can
support multiple processes and print their outputs in one tab.
TerminalExecutionConsole could not be extended due to its private AppendableTerminalDataStream and
`printText(@NotNull String text, @Nullable ConsoleViewContentType contentType)` method
which prevented to change the behavior of the terminal from the extender. This class recreates the whole
terminalWidgets and streams to customize their behavior.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.intellij.openapi.Disposable
com.intellij.openapi.Disposable.Default, com.intellij.openapi.Disposable.ParentNested classes/interfaces inherited from interface com.intellij.execution.ui.ObservableConsoleView
com.intellij.execution.ui.ObservableConsoleView.ChangeListener -
Field Summary
Fields inherited from interface com.intellij.execution.ui.ExecutionConsole
CONSOLE_CONTENT_ID -
Constructor Summary
ConstructorsConstructorDescriptionCommonTerminalExecutionConsole(@NotNull com.intellij.openapi.project.Project project, @Nullable com.intellij.execution.process.ProcessHandler processHandler, String tabTitle) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChangeListener(com.intellij.execution.ui.ObservableConsoleView.ChangeListener listener, @NotNull com.intellij.openapi.Disposable parent) voidaddMessageFilter(@NotNull com.intellij.execution.filters.Filter filter) voidaddMessageFilter(com.intellij.openapi.project.Project project, com.intellij.execution.filters.Filter filter) Deprecated.voidprotected final voidattachToProcess(@NotNull com.intellij.execution.process.ProcessHandler processHandler, boolean attachToProcessOutput) voidattachToProcess(com.intellij.execution.process.ProcessHandler processHandler) booleancanPause()voidclear()Clears history and screen buffers, positions the cursor at the top left corner.@NotNull com.intellij.openapi.actionSystem.AnAction[]@NotNull com.intellij.openapi.actionSystem.AnAction[]detachConsoleActions(boolean prependSeparatorIfNonEmpty) Deprecated.voiddispose()intbooleanstatic booleanisAcceptable(@NotNull com.intellij.execution.process.ProcessHandler processHandler) booleanvoidperformWhenNoDeferredOutput(@NotNull Runnable runnable) voidvoidprintHyperlink(@NotNull String hyperlinkText, @Nullable com.intellij.execution.filters.HyperlinkInfo info) voidscrollTo(int offset) voidsetAutoNewLineMode(boolean enabled) Deprecated.voidvoidsetOutputPaused(boolean value) @NotNull CommonTerminalExecutionConsolewithEnterKeyDefaultCodeEnabled(boolean enterKeyDefaultCodeEnabled) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.intellij.execution.ui.ConsoleView
getPlace, requestScrollingToEnd
-
Constructor Details
-
CommonTerminalExecutionConsole
public CommonTerminalExecutionConsole(@NotNull @NotNull com.intellij.openapi.project.Project project, @Nullable @Nullable com.intellij.execution.process.ProcessHandler processHandler, String tabTitle)
-
-
Method Details
-
setAutoNewLineMode
Deprecated.- Parameters:
enabled- the auto new line flag
-
withEnterKeyDefaultCodeEnabled
@NotNull public @NotNull CommonTerminalExecutionConsole withEnterKeyDefaultCodeEnabled(boolean enterKeyDefaultCodeEnabled) -
addMessageFilter
@ScheduledForRemoval(inVersion="2020.3") @Deprecated public void addMessageFilter(com.intellij.openapi.project.Project project, com.intellij.execution.filters.Filter filter) Deprecated.use {addMessageFilter(Filter)} instead- Parameters:
project- the projectfilter- the filter to use
-
print
public void print(@NotNull @NotNull String text, @NotNull @NotNull com.intellij.execution.ui.ConsoleViewContentType contentType) - Specified by:
printin interfacecom.intellij.execution.ui.ConsoleView
-
clear
public void clear()Clears history and screen buffers, positions the cursor at the top left corner.- Specified by:
clearin interfacecom.intellij.execution.ui.ConsoleView
-
scrollTo
public void scrollTo(int offset) - Specified by:
scrollToin interfacecom.intellij.execution.ui.ConsoleView
-
attachToProcess
public void attachToProcess(com.intellij.execution.process.ProcessHandler processHandler) - Specified by:
attachToProcessin interfacecom.intellij.execution.ui.ConsoleView
-
attachToProcess
protected final void attachToProcess(@NotNull @NotNull com.intellij.execution.process.ProcessHandler processHandler, boolean attachToProcessOutput) - Parameters:
processHandler- ProcessHandler instance wrapping underlying PtyProcessattachToProcessOutput- true if process output should be printed in the console, false if output printing is managed externally, e.g. by testing consoleBaseTestsOutputConsoleView
-
setOutputPaused
public void setOutputPaused(boolean value) - Specified by:
setOutputPausedin interfacecom.intellij.execution.ui.ConsoleView
-
isOutputPaused
public boolean isOutputPaused()- Specified by:
isOutputPausedin interfacecom.intellij.execution.ui.ConsoleView
-
hasDeferredOutput
public boolean hasDeferredOutput()- Specified by:
hasDeferredOutputin interfacecom.intellij.execution.ui.ConsoleView
-
performWhenNoDeferredOutput
- Specified by:
performWhenNoDeferredOutputin interfacecom.intellij.execution.ui.ConsoleView
-
setHelpId
- Specified by:
setHelpIdin interfacecom.intellij.execution.ui.ConsoleView
-
addMessageFilter
public void addMessageFilter(@NotNull @NotNull com.intellij.execution.filters.Filter filter) - Specified by:
addMessageFilterin interfacecom.intellij.execution.ui.ConsoleView
-
printHyperlink
public void printHyperlink(@NotNull @NotNull String hyperlinkText, @Nullable @Nullable com.intellij.execution.filters.HyperlinkInfo info) - Specified by:
printHyperlinkin interfacecom.intellij.execution.ui.ConsoleView
-
getContentSize
public int getContentSize()- Specified by:
getContentSizein interfacecom.intellij.execution.ui.ConsoleView
-
canPause
public boolean canPause()- Specified by:
canPausein interfacecom.intellij.execution.ui.ConsoleView
-
detachConsoleActions
@Deprecated @NotNull @ScheduledForRemoval(inVersion="2020.3") public @NotNull com.intellij.openapi.actionSystem.AnAction[] detachConsoleActions(boolean prependSeparatorIfNonEmpty) Deprecated. -
createConsoleActions
@NotNull public @NotNull com.intellij.openapi.actionSystem.AnAction[] createConsoleActions()- Specified by:
createConsoleActionsin interfacecom.intellij.execution.ui.ConsoleView
-
allowHeavyFilters
public void allowHeavyFilters()- Specified by:
allowHeavyFiltersin interfacecom.intellij.execution.ui.ConsoleView
-
getComponent
- Specified by:
getComponentin interfacecom.intellij.openapi.ui.ComponentContainer
-
getPreferredFocusableComponent
- Specified by:
getPreferredFocusableComponentin interfacecom.intellij.openapi.ui.ComponentContainer
-
dispose
public void dispose()- Specified by:
disposein interfacecom.intellij.openapi.Disposable
-
isAcceptable
public static boolean isAcceptable(@NotNull @NotNull com.intellij.execution.process.ProcessHandler processHandler) -
addChangeListener
public void addChangeListener(@NotNull com.intellij.execution.ui.ObservableConsoleView.ChangeListener listener, @NotNull @NotNull com.intellij.openapi.Disposable parent) - Specified by:
addChangeListenerin interfacecom.intellij.execution.ui.ObservableConsoleView
-
addMessageFilter(Filter)} instead