Last active
August 31, 2016 07:01
-
-
Save jlmalone/3d0750cb62c0f7195a30 to your computer and use it in GitHub Desktop.
Legibility Java Code Style - for Android Studio or Intellij
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<code_scheme name="Legibility"> | |
<option name="OTHER_INDENT_OPTIONS"> | |
<value> | |
<option name="INDENT_SIZE" value="4" /> | |
<option name="CONTINUATION_INDENT_SIZE" value="8" /> | |
<option name="TAB_SIZE" value="4" /> | |
<option name="USE_TAB_CHARACTER" value="true" /> | |
<option name="SMART_TABS" value="true" /> | |
<option name="LABEL_INDENT_SIZE" value="0" /> | |
<option name="LABEL_INDENT_ABSOLUTE" value="false" /> | |
<option name="USE_RELATIVE_INDENTS" value="false" /> | |
</value> | |
</option> | |
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" /> | |
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" /> | |
<option name="RIGHT_MARGIN" value="160" /> | |
<option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="true" /> | |
<AndroidXmlCodeStyleSettings> | |
<option name="USE_CUSTOM_SETTINGS" value="true" /> | |
</AndroidXmlCodeStyleSettings> | |
<Objective-C-extensions> | |
<option name="GENERATE_INSTANCE_VARIABLES_FOR_PROPERTIES" value="ASK" /> | |
<option name="RELEASE_STYLE" value="IVAR" /> | |
<option name="TYPE_QUALIFIERS_PLACEMENT" value="BEFORE" /> | |
<file> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" /> | |
</file> | |
<class> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" /> | |
</class> | |
<extensions> | |
<pair source="cpp" header="h" /> | |
<pair source="c" header="h" /> | |
</extensions> | |
</Objective-C-extensions> | |
<XML> | |
<option name="XML_ALIGN_ATTRIBUTES" value="false" /> | |
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" /> | |
</XML> | |
<codeStyleSettings language="JAVA"> | |
<option name="KEEP_LINE_BREAKS" value="false" /> | |
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" /> | |
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" /> | |
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="1" /> | |
<option name="BRACE_STYLE" value="2" /> | |
<option name="CLASS_BRACE_STYLE" value="2" /> | |
<option name="METHOD_BRACE_STYLE" value="2" /> | |
<option name="ELSE_ON_NEW_LINE" value="true" /> | |
<option name="WHILE_ON_NEW_LINE" value="true" /> | |
<option name="CATCH_ON_NEW_LINE" value="true" /> | |
<option name="FINALLY_ON_NEW_LINE" value="true" /> | |
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" /> | |
<option name="ALIGN_MULTILINE_RESOURCES" value="false" /> | |
<option name="ALIGN_MULTILINE_FOR" value="false" /> | |
<option name="CALL_PARAMETERS_WRAP" value="1" /> | |
<option name="PREFER_PARAMETERS_WRAP" value="true" /> | |
<option name="METHOD_PARAMETERS_WRAP" value="1" /> | |
<option name="RESOURCE_LIST_WRAP" value="1" /> | |
<option name="EXTENDS_LIST_WRAP" value="1" /> | |
<option name="THROWS_LIST_WRAP" value="1" /> | |
<option name="EXTENDS_KEYWORD_WRAP" value="1" /> | |
<option name="THROWS_KEYWORD_WRAP" value="1" /> | |
<option name="METHOD_CALL_CHAIN_WRAP" value="1" /> | |
<option name="BINARY_OPERATION_WRAP" value="1" /> | |
<option name="TERNARY_OPERATION_WRAP" value="1" /> | |
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" /> | |
<option name="FOR_STATEMENT_WRAP" value="1" /> | |
<option name="ARRAY_INITIALIZER_WRAP" value="1" /> | |
<option name="ASSIGNMENT_WRAP" value="1" /> | |
<option name="ASSERT_STATEMENT_WRAP" value="1" /> | |
<option name="ASSERT_STATEMENT_COLON_ON_NEXT_LINE" value="true" /> | |
<option name="IF_BRACE_FORCE" value="3" /> | |
<option name="DOWHILE_BRACE_FORCE" value="3" /> | |
<option name="WHILE_BRACE_FORCE" value="3" /> | |
<option name="FOR_BRACE_FORCE" value="3" /> | |
<option name="WRAP_LONG_LINES" value="true" /> | |
<option name="FIELD_ANNOTATION_WRAP" value="0" /> | |
<option name="ENUM_CONSTANTS_WRAP" value="2" /> | |
<indentOptions> | |
<option name="USE_TAB_CHARACTER" value="true" /> | |
<option name="SMART_TABS" value="true" /> | |
</indentOptions> | |
<arrangement> | |
<rules> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PUBLIC /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PROTECTED /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PACKAGE_PRIVATE /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PRIVATE /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PUBLIC /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PROTECTED /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PACKAGE_PRIVATE /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PRIVATE /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PUBLIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PROTECTED /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PACKAGE_PRIVATE /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<FINAL /> | |
<PRIVATE /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PUBLIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PROTECTED /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PACKAGE_PRIVATE /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<FIELD /> | |
<PRIVATE /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<FIELD /> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<CONSTRUCTOR /> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<METHOD /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<METHOD /> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<ENUM /> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<INTERFACE /> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<AND> | |
<CLASS /> | |
<STATIC /> | |
</AND> | |
</match> | |
</rule> | |
</section> | |
<section> | |
<rule> | |
<match> | |
<CLASS /> | |
</match> | |
</rule> | |
</section> | |
</rules> | |
</arrangement> | |
</codeStyleSettings> | |
<codeStyleSettings language="XML"> | |
<indentOptions> | |
<option name="USE_TAB_CHARACTER" value="true" /> | |
<option name="SMART_TABS" value="true" /> | |
</indentOptions> | |
</codeStyleSettings> | |
</code_scheme> |
Updated, especially so that field annotations stay in line rather than forcing line breaks. Generated by Android Studio 2.1.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Note, this code style is unconventional. Most notably, it follows the convention where opening braces have their own line. After coding this way for three years, I would not be keen to code any other way.
To import this into the new Android Studio (currently v 1.2) on OSX, goto
copy this file into ~/Library/Preferences/AndroidStudio1.2/codestyles/Legibility.xml
You may need to create the codestyles directory as it no longer seems to exist by default.
Restart Android Studio and go into Preferences -> Editor -> Code Styles and select Legibility in the Scheme dropdown.