【问题标题】:How to configure Google Java Code Formatter in Intellij IDEA 17?如何在 Intellij IDEA 17 中配置 Google Java 代码格式化程序?
【发布时间】:2017-03-23 14:57:19
【问题描述】:

在最新版本的 IntelliJ IDEA 中,似乎无法导入像 intellij-java-google-style.xml 这样的代码样式文件。

我想在这个 IDE 中使用 Google Java 代码样式,但似乎没有一个简单的解决方案。

【问题讨论】:

    标签: java intellij-idea


    【解决方案1】:

    安装google-java-format插件即可解决此问题。

    1. 打开插件窗口(CTRL+Shift+A):插件

    2. 点击浏览存储库

    3. 搜索 google-java-format

    4. 安装插件。

    5. 重新启动 IDE。

    6. 启用执行操作的插件(Ctrl+Shift+A):使用 google-java-format 重新格式化

    google-java-format README 的补充说明

    默认情况下该插件将被禁用。要在当前项目中启用它,请转到 File→Settings...→google-java-format Settings(或 IntelliJ IDEA→Preferences...→Other Settings→google-java-format Settings on macOS)并选中 Enable google -java 格式复选框。 (当您第一次打开一个项目来为您执行此操作时,将显示一条通知。)

    要在新项目中默认启用它,请使用文件→其他设置→默认设置....

    【讨论】:

    • 只是想知道:可以配置插件,例如:将缩进从2个空格更改为4个空格?
    • @GhostCat 不。该插件使用github.com/google/google-java-format,除非您复制源并自己修改它们,否则不可配置。
    • 在 Mac 上,这是 CMD+SHIFT+A。
    • 值得一提的是,目前插件不支持导入排序,而手动导入xml文件配置添加新方案样式就可以了。
    • 在执行 Ctrl+Shift+A 时,没有可用的“使用 google-java-format 重新格式化”选项。
    【解决方案2】:

    Here 所述,从 This Link 下载 intellij-java-google-style.xml 文件。

    然后在 Intellij 中,进入设置 -> 编辑器 -> 代码样式。在方案设置中(右侧的设置图标)-> 导入方案-> intellij idea 代码样式 xml。 选择第一步下载的xml。 然后在 Scheme 下拉列表中选择 GoogleStyle IDE(新添加的样式)。 单击应用并关闭。

    【讨论】:

    • 我遇到了同样的问题,正准备在这里添加这个答案。好吧,尽管支持现有答案的工作量较少;-)
    • 请注意,使用 xml 代码样式文件不会 100% 匹配使用实际 google 代码格式化程序格式化的代码。如果(您可能应该)在例如一个 git 钩子或 CI 服务器上。
    • 由于某种原因,从上面的 下载的 xml 文件无法导入 IntelliJ。如here 所述,以下链接中的 xml 文件有效:raw.githubusercontent.com/google/styleguide/gh-pages/…
    【解决方案3】:

    在完成 Lorenzo 提到的上述步骤后,在当前项目中应用设置:- Intellij>Preferences>google-java-format 设置并在 intellij 中启用;因为重启后也不会默认启用。

    如果您想为安装此插件后创建的项目设置此设置,请转到文件>其他设置>默认设置>google-java-format-setting并启用它

    【讨论】:

    【解决方案4】:

    您也可以简单地将这个 xml 文件添加到 Intellij 配置文件夹中

    /home/USERNAME/.IntelliJIdea17/config/codestyles

    然后你可以把这个代码样式设为默认样式。

    文件/设置/编辑器/代码样式 ==> 方案 = GoogleStyle

    【讨论】:

    • 这不适用于新版本(例如 IntelliJ IDEA 2017.3.4)
    • 这似乎更像是一个 hack,而不是问题的正确解决方案
    【解决方案5】:

    对于最新版本(2020.3.2),如 Gob00st 所述,若要在新项目中默认启用,请使用 File>New Project Settings>Settings for New Projects>Other Settings>google-java-format Settings

    【讨论】:

    • 启用后,有没有可以运行的命令来格式化当前文件?
    【解决方案6】:

    在 Mac 上,这对我来说是最简单的:

    wget https://raw.githubusercontent.com/google/styleguide/gh-pages/intellij-java-google-style.xml

    然后 cmd+,代码样式 > Java > 方案(选择齿轮图标)> 导入方案 > IntelliJ IDEA 代码样式 XML 选择您存储的 intellij-java-google-style.xml你的系统。

    【讨论】:

      【解决方案7】:
      <?xml version="1.0" encoding="UTF-8"?>
      <code_scheme name="GoogleStyle">
        <option name="OTHER_INDENT_OPTIONS">
          <value>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
            <option name="USE_TAB_CHARACTER" value="false" />
            <option name="SMART_TABS" value="false" />
            <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="INSERT_INNER_CLASS_IMPORTS" value="true" />
        <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
        <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
        <option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
          <value />
        </option>
        <option name="IMPORT_LAYOUT_TABLE">
          <value>
            <package name="" withSubpackages="true" static="true" />
            <emptyLine />
            <package name="" withSubpackages="true" static="false" />
          </value>
        </option>
        <option name="RIGHT_MARGIN" value="100" />
        <option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
        <option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
        <option name="JD_P_AT_EMPTY_LINES" value="false" />
        <option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
        <option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
        <option name="JD_KEEP_EMPTY_RETURN" value="false" />
        <option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
        <option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0" />
        <option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
        <option name="BLANK_LINES_AFTER_CLASS_HEADER" value="0" />
        <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
        <option name="ALIGN_MULTILINE_FOR" value="false" />
        <option name="CALL_PARAMETERS_WRAP" value="1" />
        <option name="METHOD_PARAMETERS_WRAP" value="1" />
        <option name="EXTENDS_LIST_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="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
        <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="WRAP_COMMENTS" 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="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
        <AndroidXmlCodeStyleSettings>
          <option name="USE_CUSTOM_SETTINGS" value="true" />
          <option name="LAYOUT_SETTINGS">
            <value>
              <option name="INSERT_BLANK_LINE_BEFORE_TAG" value="false" />
            </value>
          </option>
        </AndroidXmlCodeStyleSettings>
        <JSCodeStyleSettings>
          <option name="INDENT_CHAINED_CALLS" value="false" />
        </JSCodeStyleSettings>
        <Python>
          <option name="USE_CONTINUATION_INDENT_FOR_ARGUMENTS" value="true" />
        </Python>
        <TypeScriptCodeStyleSettings>
          <option name="INDENT_CHAINED_CALLS" value="false" />
        </TypeScriptCodeStyleSettings>
        <XML>
          <option name="XML_ALIGN_ATTRIBUTES" value="false" />
          <option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
        </XML>
        <codeStyleSettings language="CSS">
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="ECMA Script Level 4">
          <option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
          <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
          <option name="ALIGN_MULTILINE_FOR" value="false" />
          <option name="CALL_PARAMETERS_WRAP" value="1" />
          <option name="METHOD_PARAMETERS_WRAP" value="1" />
          <option name="EXTENDS_LIST_WRAP" value="1" />
          <option name="BINARY_OPERATION_WRAP" value="1" />
          <option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
          <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="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="PARENT_SETTINGS_INSTALLED" value="true" />
        </codeStyleSettings>
        <codeStyleSettings language="HTML">
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="JAVA">
          <option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
          <option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
          <option name="BLANK_LINES_AFTER_CLASS_HEADER" value="1" />
          <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="METHOD_PARAMETERS_WRAP" value="1" />
          <option name="EXTENDS_LIST_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="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
          <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="WRAP_COMMENTS" 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="PARENT_SETTINGS_INSTALLED" value="true" />
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="JSON">
          <indentOptions>
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="JavaScript">
          <option name="RIGHT_MARGIN" value="80" />
          <option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
          <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
          <option name="ALIGN_MULTILINE_FOR" value="false" />
          <option name="CALL_PARAMETERS_WRAP" value="1" />
          <option name="METHOD_PARAMETERS_WRAP" value="1" />
          <option name="BINARY_OPERATION_WRAP" value="1" />
          <option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
          <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="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="PARENT_SETTINGS_INSTALLED" value="true" />
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="PROTO">
          <option name="RIGHT_MARGIN" value="80" />
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="2" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="protobuf">
          <option name="RIGHT_MARGIN" value="80" />
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="2" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="Python">
          <option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
          <option name="RIGHT_MARGIN" value="80" />
          <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
          <option name="PARENT_SETTINGS_INSTALLED" value="true" />
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="SASS">
          <indentOptions>
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="SCSS">
          <indentOptions>
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="TypeScript">
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
        </codeStyleSettings>
        <codeStyleSettings language="XML">
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="2" />
            <option name="TAB_SIZE" value="2" />
          </indentOptions>
          <arrangement>
            <rules>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>xmlns:android</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>^$</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>xmlns:.*</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>^$</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:id</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>style</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>^$</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>^$</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:.*Style</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_width</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_height</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_weight</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_margin</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_marginTop</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_marginBottom</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_marginStart</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_marginEnd</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_marginLeft</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_marginRight</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:layout_.*</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:padding</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:paddingTop</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:paddingBottom</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:paddingStart</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:paddingEnd</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:paddingLeft</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*:paddingRight</NAME>
                      <XML_ATTRIBUTE />
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*</NAME>
                      <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*</NAME>
                      <XML_NAMESPACE>http://schemas.android.com/apk/res-auto</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*</NAME>
                      <XML_NAMESPACE>http://schemas.android.com/tools</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
              <section>
                <rule>
                  <match>
                    <AND>
                      <NAME>.*</NAME>
                      <XML_NAMESPACE>.*</XML_NAMESPACE>
                    </AND>
                  </match>
                  <order>BY_NAME</order>
                </rule>
              </section>
            </rules>
          </arrangement>
        </codeStyleSettings>
        <Objective-C>
          <option name="INDENT_NAMESPACE_MEMBERS" value="0" />
          <option name="INDENT_C_STRUCT_MEMBERS" value="2" />
          <option name="INDENT_CLASS_MEMBERS" value="2" />
          <option name="INDENT_VISIBILITY_KEYWORDS" value="1" />
          <option name="INDENT_INSIDE_CODE_BLOCK" value="2" />
          <option name="KEEP_STRUCTURES_IN_ONE_LINE" value="true" />
          <option name="FUNCTION_PARAMETERS_WRAP" value="5" />
          <option name="FUNCTION_CALL_ARGUMENTS_WRAP" value="5" />
          <option name="TEMPLATE_CALL_ARGUMENTS_WRAP" value="5" />
          <option name="TEMPLATE_CALL_ARGUMENTS_ALIGN_MULTILINE" value="true" />
          <option name="ALIGN_INIT_LIST_IN_COLUMNS" value="false" />
          <option name="SPACE_BEFORE_SUPERCLASS_COLON" value="false" />
        </Objective-C>
        <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="cc" header="h" />
            <pair source="c" header="h" />
          </extensions>
        </Objective-C-extensions>
        <codeStyleSettings language="ObjectiveC">
          <option name="RIGHT_MARGIN" value="80" />
          <option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="1" />
          <option name="BLANK_LINES_BEFORE_IMPORTS" value="0" />
          <option name="BLANK_LINES_AFTER_IMPORTS" value="0" />
          <option name="BLANK_LINES_AROUND_CLASS" value="0" />
          <option name="BLANK_LINES_AROUND_METHOD" value="0" />
          <option name="BLANK_LINES_AROUND_METHOD_IN_INTERFACE" value="0" />
          <option name="ALIGN_MULTILINE_BINARY_OPERATION" value="false" />
          <option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
          <option name="FOR_STATEMENT_WRAP" value="1" />
          <option name="ASSIGNMENT_WRAP" value="1" />
          <indentOptions>
            <option name="INDENT_SIZE" value="2" />
            <option name="CONTINUATION_INDENT_SIZE" value="4" />
          </indentOptions>
        </codeStyleSettings>
      </code_scheme>
      

      【讨论】:

      • 你应该写一篇关于如何使用它来回答问题的消息。
      猜你喜欢
      • 1970-01-01
      • 2014-04-20
      • 2012-12-10
      • 2020-10-23
      • 2019-09-01
      • 2023-03-09
      • 1970-01-01
      • 2015-10-04
      • 2023-03-04
      相关资源
      最近更新 更多