void (@NotNull CodeStyleSettingsCustomizable consumer, @NotNull SettingsType settingsType) { if (settingsType == SettingsType.SPACING_SETTINGS) { consumer.showAllStandardOptions(); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACES_WITHIN_ANGLE_BRACKETS", JavaBundle.message("code.style.settings.angle.spacing.brackets"), getInstance().SPACES_WITHIN); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_AROUND_ANNOTATION_EQ", JavaBundle.message("checkbox.spaces.around.annotation.eq"), getInstance().SPACES_OTHER); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_WITHIN_RECORD_HEADER", JavaBundle.message("checkbox.spaces.record.header"), getInstance().SPACES_WITHIN); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_WITHIN_DECONSTRUCTION_LIST", JavaBundle.message("checkbox.spaces.within.deconstruction.list"), getInstance().SPACES_WITHIN); String groupName = getInstance().SPACES_IN_TYPE_ARGUMENTS; consumer.moveStandardOption("SPACE_AFTER_COMMA_IN_TYPE_ARGUMENTS", groupName); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_AFTER_CLOSING_ANGLE_BRACKET_IN_TYPE_ARGUMENT", JavaBundle.message("code.style.settings.spacing.after.closing.angle.bracket"), groupName); groupName = getInstance().SPACES_IN_TYPE_PARAMETERS; consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_BEFORE_OPENING_ANGLE_BRACKET_IN_TYPE_PARAMETER", ApplicationBundle.message("checkbox.spaces.before.opening.angle.bracket"), groupName); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_AROUND_TYPE_BOUNDS_IN_TYPE_PARAMETERS", JavaBundle.message("code.style.settings.spacing.around.type.bounds"), groupName); groupName = getInstance().SPACES_OTHER; consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_BEFORE_COLON_IN_FOREACH", JavaBundle.message( "checkbox.spaces.before.colon.in.foreach"), groupName); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_INSIDE_ONE_LINE_ENUM_BRACES", JavaBundle.message( "checkbox.spaces.inside.one.line.enum"), groupName); consumer.showCustomOption(JavaCodeStyleSettings.class, "SPACE_BEFORE_DECONSTRUCTION_LIST", JavaBundle.message( "checkbox.spaces.before.deconstruction.list"), getInstance().SPACES_BEFORE_PARENTHESES); } else if (settingsType == SettingsType.WRAPPING_AND_BRACES_SETTINGS) { consumer.showStandardOptions("RIGHT_MARGIN", "WRAP_ON_TYPING", "KEEP_CONTROL_STATEMENT_IN_ONE_LINE", "KEEP_LINE_BREAKS", "KEEP_FIRST_COLUMN_COMMENT", "CALL_PARAMETERS_WRAP", "PREFER_PARAMETERS_WRAP", "CALL_PARAMETERS_LPAREN_ON_NEXT_LINE", "CALL_PARAMETERS_RPAREN_ON_NEXT_LINE", "METHOD_PARAMETERS_WRAP", "METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE", "METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE", "RESOURCE_LIST_WRAP", "RESOURCE_LIST_LPAREN_ON_NEXT_LINE", "RESOURCE_LIST_RPAREN_ON_NEXT_LINE", "EXTENDS_LIST_WRAP", "THROWS_LIST_WRAP", "EXTENDS_KEYWORD_WRAP", "THROWS_KEYWORD_WRAP", "METHOD_CALL_CHAIN_WRAP", "PARENTHESES_EXPRESSION_LPAREN_WRAP", "PARENTHESES_EXPRESSION_RPAREN_WRAP", "BINARY_OPERATION_WRAP", "BINARY_OPERATION_SIGN_ON_NEXT_LINE", "TERNARY_OPERATION_WRAP", "TERNARY_OPERATION_SIGNS_ON_NEXT_LINE", "MODIFIER_LIST_WRAP", "KEEP_SIMPLE_BLOCKS_IN_ONE_LINE", "KEEP_SIMPLE_METHODS_IN_ONE_LINE", "KEEP_SIMPLE_LAMBDAS_IN_ONE_LINE", "KEEP_SIMPLE_CLASSES_IN_ONE_LINE", "KEEP_MULTIPLE_EXPRESSIONS_IN_ONE_LINE", "FOR_STATEMENT_WRAP", "FOR_STATEMENT_LPAREN_ON_NEXT_LINE", "FOR_STATEMENT_RPAREN_ON_NEXT_LINE", "ARRAY_INITIALIZER_WRAP", "ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE", "ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE", "ASSIGNMENT_WRAP", "PLACE_ASSIGNMENT_SIGN_ON_NEXT_LINE", "LABELED_STATEMENT_WRAP", "ASSERT_STATEMENT_WRAP", "ASSERT_STATEMENT_COLON_ON_NEXT_LINE", "IF_BRACE_FORCE", "DOWHILE_BRACE_FORCE", "WHILE_BRACE_FORCE", "FOR_BRACE_FORCE", "WRAP_LONG_LINES", "METHOD_ANNOTATION_WRAP", "CLASS_ANNOTATION_WRAP", "FIELD_ANNOTATION_WRAP", "PARAMETER_ANNOTATION_WRAP", "VARIABLE_ANNOTATION_WRAP", "ALIGN_MULTILINE_CHAINED_METHODS", "ALIGN_MULTILINE_PARAMETERS", "ALIGN_MULTILINE_PARAMETERS_IN_CALLS", "ALIGN_MULTILINE_RESOURCES", "ALIGN_MULTILINE_FOR", "INDENT_WHEN_CASES", "ALIGN_MULTILINE_BINARY_OPERATION", "ALIGN_MULTILINE_ASSIGNMENT", "ALIGN_MULTILINE_TERNARY_OPERATION", "ALIGN_MULTILINE_THROWS_LIST", "ALIGN_THROWS_KEYWORD", "ALIGN_MULTILINE_EXTENDS_LIST", "ALIGN_MULTILINE_METHOD_BRACKETS", "ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION", "ALIGN_MULTILINE_ARRAY_INITIALIZER_EXPRESSION", "ALIGN_GROUP_FIELD_DECLARATIONS", "ALIGN_MULTILINE_TEXT_BLOCKS", "BRACE_STYLE", "CLASS_BRACE_STYLE", "METHOD_BRACE_STYLE", "LAMBDA_BRACE_STYLE", "USE_FLYING_GEESE_BRACES", "FLYING_GEESE_BRACES_GAP", "DO_NOT_INDENT_TOP_LEVEL_CLASS_MEMBERS", "ELSE_ON_NEW_LINE", "WHILE_ON_NEW_LINE", "CATCH_ON_NEW_LINE", "FINALLY_ON_NEW_LINE", "SWITCH_EXPRESSIONS_WRAP", "INDENT_CASE_FROM_SWITCH", "CASE_STATEMENT_ON_NEW_LINE", "SPECIAL_ELSE_IF_TREATMENT", "ENUM_CONSTANTS_WRAP", "ALIGN_CONSECUTIVE_VARIABLE_DECLARATIONS", "ALIGN_CONSECUTIVE_ASSIGNMENTS", "ALIGN_SUBSEQUENT_SIMPLE_METHODS", "WRAP_FIRST_METHOD_IN_CALL_CHAIN", "BUILDER_METHODS", "KEEP_BUILDER_METHODS_INDENTS"); consumer.showCustomOption(JavaCodeStyleSettings.class, "ANNOTATION_PARAMETER_WRAP", JavaBundle.message("wrapping.annotation.parameters"), null, getInstance().WRAP_OPTIONS, CodeStyleSettingsCustomizable.WRAP_VALUES); consumer.showCustomOption(JavaCodeStyleSettings.class, "ALIGN_MULTILINE_ANNOTATION_PARAMETERS", ApplicationBundle.message("wrapping.align.when.multiline"), JavaBundle.message("wrapping.annotation.parameters")); consumer.showCustomOption(JavaCodeStyleSettings.class, "NEW_LINE_AFTER_LPAREN_IN_ANNOTATION", ApplicationBundle.message("wrapping.new.line.after.lpar"), JavaBundle.message("wrapping.annotation.parameters")); consumer.showCustomOption(JavaCodeStyleSettings.class, "RPAREN_ON_NEW_LINE_IN_ANNOTATION", ApplicationBundle.message("wrapping.rpar.on.new.line"), JavaBundle.message("wrapping.annotation.parameters")); consumer.showCustomOption(JavaCodeStyleSettings.class, "ALIGN_MULTILINE_TEXT_BLOCKS", ApplicationBundle.message("wrapping.align.when.multiline"), JavaBundle.message("wrapping.text.blocks") ); String fieldAnnotations = ApplicationBundle.message("wrapping.fields.annotation"); consumer.showCustomOption(JavaCodeStyleSettings.class, "DO_NOT_WRAP_AFTER_SINGLE_ANNOTATION", JavaBundle.message("checkbox.do.not.wrap.after.single.annotation"), fieldAnnotations); String parameterAnnotationsWrapping = ApplicationBundle.message("wrapping.parameters.annotation"); consumer.showCustomOption(JavaCodeStyleSettings.class, "DO_NOT_WRAP_AFTER_SINGLE_ANNOTATION_IN_PARAMETER", JavaBundle.message("checkbox.do.not.wrap.after.single.annotation"), parameterAnnotationsWrapping); // Record components String recordComponentsGroup = JavaBundle.message("wrapping.record.components"); consumer.showCustomOption(JavaCodeStyleSettings.class, "RECORD_COMPONENTS_WRAP", recordComponentsGroup, null, getInstance().WRAP_OPTIONS, CodeStyleSettingsCustomizable.WRAP_VALUES); consumer.showCustomOption(JavaCodeStyleSettings.class, "ALIGN_MULTILINE_RECORDS", ApplicationBundle.message("wrapping.align.when.multiline"), recordComponentsGroup); consumer.showCustomOption(JavaCodeStyleSettings.class, "NEW_LINE_AFTER_LPAREN_IN_RECORD_HEADER", ApplicationBundle.message("wrapping.new.line.after.lpar"), recordComponentsGroup); consumer.showCustomOption(JavaCodeStyleSettings.class, "RPAREN_ON_NEW_LINE_IN_RECORD_HEADER", ApplicationBundle.message("wrapping.rpar.on.new.line"), recordComponentsGroup); // Try statement consumer.showCustomOption(JavaCodeStyleSettings.class, "MULTI_CATCH_TYPES_WRAP", JavaBundle.message("wrapping.multi.catch.types"), ApplicationBundle.message("wrapping.try.statement"), getInstance().WRAP_OPTIONS, CodeStyleSettingsCustomizable.WRAP_VALUES); consumer.showCustomOption(JavaCodeStyleSettings.class, "ALIGN_TYPES_IN_MULTI_CATCH", JavaBundle.message("align.types.in.multi.catch"), ApplicationBundle.message("wrapping.try.statement")); // Deconstruction patterns String deconstructionComponentsGroup = JavaBundle.message("wrapping.deconstruction.patterns"); consumer.showCustomOption(JavaCodeStyleSettings.class, "DECONSTRUCTION_LIST_WRAP", deconstructionComponentsGroup, null, getInstance().WRAP_OPTIONS, CodeStyleSettingsCustomizable.WRAP_VALUES); consumer.showCustomOption(JavaCodeStyleSettings.class, "ALIGN_MULTILINE_DECONSTRUCTION_LIST_COMPONENTS", ApplicationBundle.message("wrapping.align.when.multiline"), deconstructionComponentsGroup); consumer.showCustomOption(JavaCodeStyleSettings.class, "NEW_LINE_AFTER_LPAREN_IN_DECONSTRUCTION_PATTERN", ApplicationBundle.message("wrapping.new.line.after.lpar"), deconstructionComponentsGroup); consumer.showCustomOption(JavaCodeStyleSettings.class, "RPAREN_ON_NEW_LINE_IN_DECONSTRUCTION_PATTERN", ApplicationBundle.message("wrapping.rpar.on.new.line"), deconstructionComponentsGroup); consumer.renameStandardOption( "SWITCH_EXPRESSIONS_WRAP", JavaBundle.message("wrapping.switch.statement.or.expression") ); } else if (settingsType == SettingsType.BLANK_LINES_SETTINGS) { consumer.showAllStandardOptions(); consumer.showCustomOption(JavaCodeStyleSettings.class, "BLANK_LINES_AROUND_INITIALIZER", JavaBundle.message("editbox.blanklines.around.initializer"), getInstance().BLANK_LINES); } else if (settingsType == SettingsType.COMMENTER_SETTINGS) { consumer.showAllStandardOptions(); } else if (settingsType == SettingsType.LANGUAGE_SPECIFIC) { consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_ALIGN_PARAM_COMMENTS", JavaBundle.message("checkbox.align.parameter.descriptions"), getAlignmentGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_ALIGN_EXCEPTION_COMMENTS", JavaBundle.message("checkbox.align.thrown.exception.descriptions"), getAlignmentGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_ADD_BLANK_AFTER_DESCRIPTION", JavaBundle.message("checkbox.after.description"), getBlankLinesGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_ADD_BLANK_AFTER_PARM_COMMENTS", JavaBundle.message("checkbox.after.parameter.descriptions"), getBlankLinesGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_ADD_BLANK_AFTER_RETURN", JavaBundle.message("checkbox.after.return.tag"), getBlankLinesGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_KEEP_INVALID_TAGS", JavaBundle.message("checkbox.keep.invalid.tags"), getInvalidTagsGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_KEEP_EMPTY_PARAMETER", JavaBundle.message("checkbox.keep.empty.param.tags"), getInvalidTagsGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_KEEP_EMPTY_RETURN", JavaBundle.message("checkbox.keep.empty.return.tags"), getInvalidTagsGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_KEEP_EMPTY_EXCEPTION", JavaBundle.message("checkbox.keep.empty.throws.tags"), getInvalidTagsGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_LEADING_ASTERISKS_ARE_ENABLED", JavaBundle.message("checkbox.enable.leading.asterisks"), getOtherGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_USE_THROWS_NOT_EXCEPTION", JavaBundle.message("checkbox.use.throws.rather.than.exception"), getOtherGroup()); consumer.showStandardOptions("WRAP_COMMENTS"); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_P_AT_EMPTY_LINES", JavaBundle.message("checkbox.generate.p.on.empty.lines"), getOtherGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_KEEP_EMPTY_LINES", JavaBundle.message("checkbox.keep.empty.lines"), getOtherGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_DO_NOT_WRAP_ONE_LINE_COMMENTS", JavaBundle.message("checkbox.do.not.wrap.one.line.comments"), getOtherGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_PRESERVE_LINE_FEEDS", JavaBundle.message("checkbox.preserve.line.feeds"), getOtherGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_PARAM_DESCRIPTION_ON_NEW_LINE", JavaBundle.message("checkbox.param.description.on.new.line"), getOtherGroup()); consumer.showCustomOption(JavaCodeStyleSettings.class, "JD_INDENT_ON_CONTINUATION", JavaBundle.message("checkbox.param.indent.on.continuation"), getOtherGroup()); } else { consumer.showAllStandardOptions(); } }