void (@Nullable final XLineBreakpoint<?> breakpoint, @Nullable final InputEvent inputEvent, @Nullable final Editor editor, @NotNull final Project project) { if (breakpoint == null || editor == null || !(inputEvent instanceof MouseEvent mouseEvent) || inputEvent.isAltDown() || !inputEvent.isShiftDown()) { return; } breakpoint.setSuspendPolicy(SuspendPolicy.NONE); String selection = editor.getSelectionModel().getSelectedText(); if (selection != null) { breakpoint.setLogExpression(selection); } else { breakpoint.setLogMessage(true); } // edit breakpoint LogicalPosition position = new LogicalPosition(breakpoint.getLine() + 1, 0); Point point = new Point(mouseEvent.getPoint().x, editor.logicalPositionToXY(position).y); DebuggerUIUtil.showXBreakpointEditorBalloon(project, point, ((EditorEx) editor).getGutterComponentEx(), false, breakpoint); }