1. 程式人生 > >AndroidStudio自定義註釋

AndroidStudio自定義註釋

設定類建立時自動生成頭部註釋

  • 比如每次建立一個類自動在頭部生成一個這樣的頭部,作為一個類的說明資訊

  • 設定方法

點選設定—>Editor–>File and code Templates –>Includes—>File Header
程式碼:其中時間是自動獲取的

/**
 * Description: 
 * Data:${DATE}-${TIME}
 * Blog:www.qiuchengjia.cn
 * Author: qiu
 */
  • 效果和步驟

設定快速生成方法註釋的兩種方式

在studio 中自定義模板

  • 在studio中自定義註釋模板有一定的侷限性,目前已知的studio的模板只能獲取的時間,並不能獲取返回值以及引數等資訊,那是因為獲取方法名的方法執行在方法內部才會生效,執行在方法外部是不能生效.
    所以在方法外部用studio自定義模板的方式有一定的侷限性

  • 模板

/**
 * Description:$Method$
 * Blog: www.qiuchengjia.cn
 * Data: $Date$ $Time$
 * @author: qiu
 */
  • 點選設定—>Editor–>live Templates –>點選+號 先建立1個組 再建立一個模板
    編輯註釋內容–>宣告作用域

javaDoc自動生成註釋

  • 如果我們想獲取到方法名,引數返回值的資訊,想讓這些資訊全部自動生成的註釋裡面的話,我們可以藉助外掛JavaDoc實現,安裝外掛javaDoc 安裝完之後重啟studio

效果

方法配置

  • 我這兒拿method的來舉例。我給每個方法的註解加 一個 作者以及時間

  • @author qiu 部落格:www.qiuchengjia.cn 時間:${.now?string[“yyyy-MM-dd”]}\n

  • 原始配置

/**\n
 * ${name}<#if isNotVoid
>
${return}</#if>.\n <#if element.typeParameters?has_content> * \n </#if> <#list element.typeParameters as typeParameter> * @param <${typeParameter.name}> the type parameter\n </#list> <#if element.parameterList.parameters?has_content> *\n </#if> <#list element.parameterList.parameters as parameter> * @param ${parameter.name} the ${paramNames[parameter.name]}\n </#list> <#if isNotVoid> *\n * @return the ${return}\n </#if> <#if element.throwsList.referenceElements?has_content> *\n </#if> <#list element.throwsList.referenceElements as exception> * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n </#list> */
  • 修改之後的配置
/**\n
<#if element.typeParameters?has_content>         * \n
</#if>
<#list element.typeParameters as typeParameter>
         * @param <${typeParameter.name}> the type parameter\n
</#list>
<#if element.parameterList.parameters?has_content>
         *\n
</#if>
<#list element.parameterList.parameters as parameter>
         * @param ${parameter.name} the ${paramNames[parameter.name]}\n
</#list>
<#if isNotVoid>
         *\n
         * @return the ${return}\n
</#if>
<#if element.throwsList.referenceElements?has_content>
         *\n
</#if>
<#list element.throwsList.referenceElements as exception>
         * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
</#list>

    \n * @author qiu\n
\n *  部落格:www.qiuchengjia.cn   時間:${.now?string["yyyy-MM-dd"]}\n

 */

建構函式配置

  • 原始配置
/**\n
 * Instantiates a new ${name}.\n
<#if element.parameterList.parameters?has_content>
         *\n
</#if>
<#list element.parameterList.parameters as parameter>
         * @param ${parameter.name} the ${paramNames[parameter.name]}\n
</#list>
<#if element.throwsList.referenceElements?has_content>
         *\n
</#if>
<#list element.throwsList.referenceElements as exception>
         * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
</#list>
 */
  • 修改後的配置
/**\n
<#if element.parameterList.parameters?has_content>
         *\n
</#if>
<#list element.parameterList.parameters as parameter>
         * @param ${parameter.name} the ${paramNames[parameter.name]}\n
</#list>
<#if element.throwsList.referenceElements?has_content>
         *\n
</#if>
<#list element.throwsList.referenceElements as exception>
         * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
</#list>
\n * @author qiu\n
\n *  部落格:www.qiuchengjia.cn   時間:${.now?string["yyyy-MM-dd"]}\n
 */

使用

  • 把滑鼠移動到方法中,然後shift + alt + G

  • 如果是對這個類所有的方法都進行註釋,就是shift + ctrl + alt + G

  • 也可以通過alt+insert來進行選擇

  • shift + alt + Z是撤銷當前/選擇

  • shift + ctrl + alt + Z是撤銷所有註釋

擴充套件

  • 如果你對JavaDoc生成的模板如果還不滿意,你還可以修改JavaDoc的模板,具體修改位置是 設定–>other—>javadoc
    裡面有對應的模板,模板語言使用的是一種 freemarker的標記語言,如果有感興趣的同學可自己開發擴充套件;

  • javadoc網址

參考資料