コーディング効率を向上させる 12 個のアイデア プラグイン

青灯夜游
リリース: 2022-09-02 11:05:46
転載
2184 人が閲覧しました

この記事では、idea のコーディング効率を向上させる 12 プラグインについて説明します。皆様のお役に立てれば幸いです。

1. lombok

lombok については、以前、プロジェクトで使用すべきかどうかという議論がまだありました。特集記事「迷ったらlombokを使うべき?」を書きました。 》。

idea の新しいバージョンには lombok プラグインが組み込まれているため、これを使用することがトレンドになっています。

この記事全体の最初に lombok を紹介した理由は、特にエンティティ、DTO、VO、および BO で、lombok を使用するとコードの記述量が大幅に減るからです。

例として User クラスを使用します。以前は、Javabean を定義するには、次のコードを記述する必要がありました:

public class User {

    private Long id;
    private String name;
    private Integer age;
    private String address;

    public User() {

    }

    public User(Long id, String name, Integer age, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    public String getAddress() {
        return address;
    }


    public void setId(Long id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) returntrue;
        if (o == null || getClass() != o.getClass()) returnfalse;
        User user = (User) o;
        return Objects.equals(id, user.id) &&
                Objects.equals(name, user.name) &&
                Objects.equals(age, user.age) &&
                Objects.equals(address, user.address);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name, age, address);
    }

    @Override
    public String toString() {
        return"User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
}
ログイン後にコピー

User クラスには、メンバー変数、ゲッター/セッター メソッド、コンストラクター メソッド、equals、および hashCode メソッド。

一見すると、かなり多くのコードがあります。また、別の質問があります。User クラスのコードが変更された場合 (例: age フィールドが文字列型に変更された場合、または name フィールド名が変更された場合)、関連するメンバー変数 (getter/setter) を変更する必要がありますか?メソッド、コンストラクターなどを同時に変更しますか? すべての等しいメソッドと hashCode メソッドを変更しますか?

良いニュースは、lombok を使用するとこの問題を解決できることです。

idea2020.3 より前のバージョンの場合、idea に次のプラグインをインストールする必要があります:


ただし、idea2020.3 以降では、idea には次のプラグインが組み込まれています。ロンボク関数で。

lombok プラグインを使用すると、アイデアで次のようなコードを記述することで上記の機能を実現できます。

@ToString
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class User {

    private Long id;
    private String name;
    private Integer age;
    private String address;
}
ログイン後にコピー

これは非常に簡単で、記述するコードも大幅に少なくなります。

さらに、プロジェクトの pom ファイルに lombok の依存関係パッケージを導入する必要もあります。そうしないと、プロジェクトは実行されません。

2. 無料の Mybatis プラグイン

中国では mybatis が最も主流のデータベース フレームワークとなり、半自動化された ORM です永続化フレームワークは、Hibernate のような完全に自動化された永続化フレームワークよりも柔軟性が高く、パフォーマンスが高くなります。

mybatis では、バインディングを完了するためにマッパーと対応する XML ファイルを自分で定義する必要があります。

ここでは、例としてユーザー テーブルを取り上げます。まず、UserMapper インターフェイスを定義する必要があります:

public interface UserMapper {
	 int insertUser(UserModel user);
}
ログイン後にコピー

次に、UserMapper.xml 構成ファイルが必要です:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sue.jump.mappers.UserMapper">

    <sql id="selectUserVo">
        id, name, age, sex
     </sql>

    <insert id="insertUser" parameterType="com.sue.jump.model.UserModel">
        INSERT INTO user
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null ">
                id,
            </if>
            <if test="name != null  and name != &#39;&#39;">
                name,
            </if>
            <if test="age != null ">
                age,
            </if>
            <if test="sex != null ">
                sex,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null ">
                #{id},
            </if>
            <if test="name != null  and name != &#39;&#39;">
                #{name},
            </if>
            <if test="age != null ">
                #{age},
            </if>
            <if test="sex != null ">
                #{sex},
            </if>
        </trim>
    </insert>
</mapper>
ログイン後にコピー

In UserMapper.xml ファイル、mapper ラベルの名前空間は、UserMapper インターフェイス名と、挿入の ID label=insertUser に対応します。これは、UserMapper インターフェイスの insertUser メソッドに対応します。

それでは、プロジェクト内の UserMapper クラスの getUser メソッドを介して、UserMapper.xml ファイルの getUser メソッドにすばやくアクセスするにはどうすればよいでしょうか?

回答: これには、無料 Mybatis プラグインプラグインを使用する必要があります。

プラグインをインストールすると、UserMapper インターフェイスのインターフェイス名とメソッド名の左側にさらに 2 つの緑色の矢印が表示されます。矢印をクリックしてジャンプします。 UserMapper.xml ファイルに対応するマッパー タグまたは insertUser ステートメントに移動します。

さらに、UserMapper.xml ファイルの insertUser ステートメントの左側に緑色の矢印が追加されます。クリックして UserMapper インターフェイスにジャンプすることもできます。矢印上、insertUser メソッド上。

このプラグインを使用すると、マッパーと XML を自由に切り替えて自由に遊ぶことができ、以前のように検索する必要がなくなりました。

3.翻訳

私を含め、英語があまり得意ではない友人もいるかもしれません (私は CET-4 に合格したばかりです)。

変数やメソッドに名前を付けるときは、長い時間考えなければなりません。特にJDKの英語ドキュメントを読んでいると、珍しい単語が出てきて非常に混乱しました。

良いニュースは、Translation プラグインを使用すると、ドキュメント内を自由に移動できることです。

Translation プラグインをインストールすると、他の設定に追加の翻訳メニューが表示されます。

このメニューをクリックしてください:

右側のウィンドウで、翻訳ソフトウェアを選択できます。

翻訳する必要がある英語ドキュメントを選択します:

右クリックのポップアップ ウィンドウで、[翻訳] オプションを選択すると、次のウィンドウが表示されます。ポップアップ表示されます:


英語の文章が突然中国語に翻訳されて、とてもかっこよかったです。

4.Alibaba Java コーディング ガイドライン

Java 開発に携わっている友人なら、Alibaba の「Java 開発マニュアル」を読んだことがあるはずです。

このマニュアルには、日常の開発プロセスで遭遇する可能性のある問題がまとめられています。プログラミング プロトコル、例外ログ、単体テスト、セキュリティ プロトコル、MySQL データベース、プロジェクト構造に至るこれら 6 つの側面により、開発プロセスが標準化され、効率的で洗練されたコードを作成できるようになります。

しかし、これらの規範的なものは、人々の意識だけに依存していて、期待される結果を達成することは困難です。

この問題を解決するために、Alibaba は、非標準コードを直接検出できる Alibaba Javacoding guideline プラグインをリリースしました。

プラグインをインストールした後、ショートカット キー Ctrl Alt Shift J を押して、プロジェクト全体または単一ファイルのコーディング規約をスキャンします。

#スキャン後、非標準コードは高いものから低いものの順に並べられます。

現在、以下に示す 3 つのレベルがあります:

    ブロッカー クラッシュ
  • 重大
  • 重大な重要

左側の不規則なコード行の 1 つをクリックすると、詳細な不規則なコードが右側のウィンドウにすぐに表示され、問題をすぐに特定できます。 ######ニース。

5. GenerateAllSetter

多くの場合、オブジェクトに値を代入する必要があります。パラメータが多い場合は、大量の を記述する必要があります。 setter

または

getter コード。 ワンクリックでそれを行う方法はありますか?

回答: はい、

GenerateAllSetter

プラグインを使用します。

プラグインをインストールした後、作成したオブジェクトのショートカット キー alt enter

を押します。

ポップアップ ウィンドウで選択: すべてのセッターをデフォルト値で生成します。

は次のコードを自動的に生成します:

とても便利です。

6. シーケンス図

通常、ソースコードを読むとき、内部ロジックを整理するために、シーケンス図#を描く必要があることがよくあります。 ##。

直接描くと時間がかかりますし、描いた絵も正確ではない可能性があります。 次のプラグインを使用できます:

SequenceDiagram

プラグイン。

特定のメソッドを選択し、右クリックして選択します: シーケンス図オプション:

その後、シーケンス図が表示されます:

これで、私は絵の達人になれます、完璧です。

7. CheckStyle-IDEA

コード形式に関しては、無駄なインポート、コメントがない、文法上の誤りとメソッドが多すぎます。長くお待ちください。 アイデアの中で上記の問題を一度に検出する方法はありますか?

回答:

CheckStyle-IDEA

プラグインを使用します。

CheckStyle-IDEA は、コード形式が仕様を満たしているかどうかを検出するツールです。最もよく使用されるものは、

Google

仕様と Sun# です。 ## 仕様。 。 プラグインをインストールすると、アイデアの下に [CheckStyle] オプションが表示されます:

緑色のボタンをクリックします。左側でコードをスキャンできます。中央には、コード仕様に準拠していない理由が表示されます。

コードをダブルクリックして、特定のコードに直接ジャンプします:

8.JRebelとWillが最新の場所を実行します。

そして、再起動するたびに時間がかかります。

システムを再起動せずに Java コードの変更をすぐに有効にする方法はありますか?

回答:

JRebel および XRebel

プラグインを使用します。

図に示すように:

インストールが完了すると、ここに 2 つの緑色のボタンと、追加のオプション [反乱エージェントを選択] が表示されます。右:

緑色のボタンの 1 つはホット デプロイメントのスタートアップ プロジェクトを表し、もう 1 つはデバッグがデフォルトのホット デプロイメントのスタートアップ プロジェクトを表します。

Select Rebel Agents オプションには 3 つの値が含まれています:

JRebel: コードを変更した後はサービスを再起動せず、コードが直接有効になることを期待してください。

    XRebel: リクエスト プロセス中にコードの各部分のパフォーマンスを監視します。例: メソッドの実行時間、発生した例外、SQL 実行時間、出力ログ、MQ 実行時間など。
  • JRebel XRebel: コードを変更した後は、サービスを再起動せずにコードを監視してください。
  • 9. Codota

正直に言うと、idea の既存のコード プロンプト機能はすでに非常に強力です。

しかし、

Codota

プラグインを使用したことがある場合は、コードの記述速度が次のレベルに上がります。

プラグインをインストールすると、コードを記述するときにいくつかのヒントが表示されます。

これらのヒントは、次の内容に基づいています。 ai 統計は非常に参考になります。


10. GsonFormat

json

のパラメーターを

entity オブジェクト パラメーターに変換する必要があることがよくあります。または、entity object のパラメーターを json のパラメーターに変換します。 以前は、1 つの変数と 1 つの変数を手動でコピーしていました。

しかし、良いニュースは、アイデアの

GsonFormat

プラグインがこれを達成するのに役立つということです。

プラグインをインストールした後、まず空のクラスを作成します:

ショートカット キーを押します: alt s

を実行すると、次のウィンドウが表示されます:

次に、このウィンドウに json データを入力します。

[OK] ボタンをクリックすると、次のコードが自動的に生成されます。

とてもすばらしいです。


11. 虹括弧

通常、コードを記述するとき、特にコードに多くのロジックがあり、階層がネストされている場合、括弧は多くの頭痛の種になります。層です。

コードがどの括弧から始まり、どの反括弧で終わるかを一目で見分けるのは困難です。

この問題を解決する方法はありますか?

回答:

Rainbow Brackets

プラグインを使用します。

プラグインをインストールすると、コード内の異なる色に応じてブラケットとアンチブラケットが自動的に区別されます。


は非常に目立ち、直感的です。 。

12. CodeGlance

たとえば、クラスに多くのメソッドとメンバー変数が含まれている場合など、大量のコードを読むことがあります。

上から下に少しずつたどっていくのは、かなりの時間を無駄にします。では、見たいコードをすぐに見つける方法はあるのでしょうか?

回答: はい、

CodeGlance

プラグインを使用できます。

プラグインをインストールすると、コードの右側に次のウィンドウが表示されます:


それはコードのサムネイルであり、これを使用してコード ブロックを非常に素早く切り替えることができます。

最後に (注意してください、無駄に私を売春しないでください)

この記事が役に立ったり、インスピレーションを与えたりする場合は、QR コードをスキャンして送信してください。あなたのサポートが私が書き続ける最大の動機です。
「いいね」、「リツイート」、「視聴」の 3 つのリンクをクリックしてください。
公開アカウントをフォローしてください: [Su San がテクノロジーについて話しています]、公開アカウントで返信: インタビュー、コード成果物、開発マニュアル、時間管理にはファンにとって大きなメリットがあり、返信: グループに参加して、多くの先輩をフォローできますBAT 企業 コミュニケーションと学習。

(学習ビデオ共有: 基本プログラミング ビデオ)

以上がコーディング効率を向上させる 12 個のアイデア プラグインの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!