AnAction () { class ConsoleSplitLineAction extends EditorAction { private static final String CONSOLE_SPLIT_LINE_ACTION_ID = "Console.SplitLine"; ConsoleSplitLineAction() { super(new EditorWriteActionHandler() { private final SplitLineAction mySplitLineAction = new SplitLineAction(); @Override public boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) { return mySplitLineAction.getHandler().isEnabled(editor, caret, dataContext); } @Override public void executeWriteAction(@NotNull Editor editor, @Nullable Caret caret, DataContext dataContext) { mySplitLineAction.getHandler().execute(editor, caret, dataContext); editor.getCaretModel().getCurrentCaret().moveCaretRelatively(0, 1, false, true); } }); } public void setup() { ActionUtil.mergeFrom(this, CONSOLE_SPLIT_LINE_ACTION_ID); } } ConsoleSplitLineAction action = new ConsoleSplitLineAction(); action.setup(); return action; }