上の青いフォントをクリックして、「スター公式アカウント」を選択してください
高品質の記事、すぐに配達
舞台裏で公式アカウントをフォローして、支払いまたはモールに返信し、実際のプロジェクト情報とビデオを入手してください
記事の著者:Jitwxs
リンク:https://jitwxs.cn/4135e0a9.html
1つ、クラスアノテーション
IDEAが開いているSettings
ので、をクリックしEditor-->File and Code Templates
、File
下のタブを右クリックしますClass
。ここで、図に赤いボックスの内容が追加されています。
/**
* @author jitwxs
* @date ${YEAR}年${MONTH}月${DAY}日 ${TIME}
*/
作成者と時刻を示すテンプレートを提供した例では、IDEAでサポートされているすべてのテンプレートパラメーターDescription
がにリストされています。
保存後、新しいクラスを作成すると、クラスコメントが自動的に追加されます。インターフェースで発効したい場合は、上の画像を設定してInterface
ください。
2、メソッドノート
インターネット上で相互にコピーして貼り付ける現在のメソッドアノテーションチュートリアルとは異なり、この記事では次の機能を実現します。
メッシュ形状パラメーターは自動的に
@param
注釈を生成しましたメソッドが値生成インテリジェント
@Return
コメントを返すかどうかに応じて
クラステンプレートと比較して、メソッドのコメントテンプレートをより複雑なものに追加し、最初にSettings
クリックしますEditor-->Live Templates
。
右端をクリックし+
、最初に2. Template Group...
テンプレートグループの作成を選択します。
ポップアップダイアログボックスにグループ名を入力します。ここではuserDefineと呼びます。
次に、作成したテンプレートグループを選択し、userDefine
クリックして次+
を選択します1. Live Template
。
このとき、それは空のテンプレートを作成します、我々は、テンプレートを変更しAbbreviation
、Description
そしてTemplate text
。最後に、Enterキーかどうかの値を確認するAbbreviation
必要があることに注意してください。*
Expand with
・図は、上記Template text
のように、次の読み込み、それに直接コピーしてください最初の行にする必要はありませ注意を払う/
、と\*
トップグリッドです。
*
*
* @author jitwxs
* @date $date$ $time$$param$ $return$
*/
彼は、右下隅に注意しましたNo applicable contexts yet
。これは、現時点でテンプレート言語がアプリケーションを指定していないことを示しています。
Define
ポップアップボックスをクリックしてチェックし、Java
テンプレートがすべてのJavaタイプのファイルに適用されることを示します。
このパラメーターTemplate text
に類似したものが含まれている場合に構成したとき$date$
、IDEAはこれらのパラメーターが地獄であることを認識していません。これらのパラメーターをマッピングする方法を考えて、IDEAがこれらのパラメーターの意味を理解できるようにします。ボタンをクリックしEdit variables
ます。
各パラメータに対応するものを設定しますExpression
。
なお、date
及びIDEAの使用は、内蔵された機能は、それを選択するドロップダウンボックスを直接使用し、我々は次のように手動でコードを実装する必要があるので、このパラメータIDEAのデフォルトの実装の貧しいです:time
Expression
param
groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())
これに加えreturn
て、私は達成されたパラメータも所有しています。コードは次のとおりです。
groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())
注:
Skip if defined
プロパティをチェックしなかったことにも気づきました。つまり、このアイテムが定義されている場合、コメントを生成するときにマウスカーソルがそのアイテムをスキップします。この機能は必要ないので、この属性がチェックされます。
[OK]をクリックして設定を保存すると、完了です。
3.検査結果
3.1クラスアノテーション
クラスアノテーションは、新しいクラスが作成されたときにのみ自動的に生成され、その効果は次のとおりです。
3.2メソッドノート
次のシナリオが示されます。
正式なパラメータはありません
単一パラメータ
複数の仮パラメータ
戻り値なし
戻り値があります
四、Q&A
(1)なぜテンプレートをAbbreviation
呼び出さなければならないの\*
ですか?Expand with
それがEnterキーであることを確認しますか?
A:IDEAテンプレート生成ロジックは模板名 + 生成键
、キーが生成されるときに入力* + Enter
するときにテンプレートをトリガーできるというものです。
これは、最初の行がコメントテンプレート*
である理由も説明しています。これは、最初に/*
入力してから* + Enter
トリガーテンプレートを入力する/**
と、Javadocの仕様に沿って最初の行が構成されるためです。
(2)コメントテンプレートに空白行があるのはなぜ\*
ですか?
回答:私はこの行にメソッドの説明を書くことに慣れているので、書くために空白行を予約しました。それを削除することもできます。
(3)メモテンプレート$time$$param$
なぜこれら2つの明らかに無関係なものが接近しているのですか?
A:参照ケースがない場合に最初にオンラインで提供されたほとんどのパラメータ生成関数はまだ空の行@param
を生成するので、参照ケース@param
がない場合に生成されないようにコードparam関数を変更しましたが、これはである必要$param$
があります他の人同じ行にある場合、それ以外の場合はバックスペースを処理できません。
(4)returnパラメータが使用されないmethodReturnType()
のに、自分で実装する必要があるのはなぜですか?
回答:methodReturnType()
戻り値がない場合はvoidが返されますが、これは意味がないので、methodReturnType()の戻り値を処理し、戻り値がある場合にのみ生成しました。
(5)なぜ$return$
単一行ではないのですか?
A:methodReturnType()
nullを返す場合、バックスペースは問題を処理できないためです。これは、3番目のポイントがあるためです。
有热门推荐????
Java后端线上问题排查常用命令收藏SpringBoot+Prometheus+Grafana实现应用监控和报警10个解放双手实用在线工具,有些代码真的不用手写!微信小程序练手实战:前端+后端(Java)
又一神操作,SpringBoot2.x 集成百度 uidgenerator搞定全局ID为什么要在2021年放弃Jenkins?我已经对他失去耐心了...Docker + FastDFS + Spring Boot 一键式搭建分布式文件服务器
点击阅读原文,前往学习SpringCloud实战项目