項目便捷開發-idea插件的推薦與使用

前言

這裏主要介紹我平常真正用到且比較好用的idea插件,方便大家加快開發效率,部分圖片gif借鑑自網絡,雖然大多也有很多博客介紹過,但在公司技術分享時發現不管是新人和老人完全不知道這些插件,所以做了整理

一、功能性插件

1.lombok (項目必備)

支持lombok的各種註解,從此不用寫getter setter這些 可以把註解還原爲原本的java代碼 非常方便。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>版本</version>
    <scope>provided</scope>
</dependency>

1.1.@Data

@Data註解在類上,會爲類的所有屬性自動生成setter/getter、equals、canEqual、hashCode、toString方法,如爲final屬性,則不會爲該屬性生成setter方法。

1.2.@Getter/@Setter

如果覺得@Data太過殘暴(因爲@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不夠精細,可以使用@Getter/@Setter註解,此註解在屬性上,可以爲相應的屬性自動生成Getter/Setter方法,

1.3.@NonNull

該註解用在屬性或構造器上,Lombok會生成一個非空的聲明,可用於校驗參數,能幫助避免空指針。

示例如下:

import lombok.NonNull;

public class NonNullExample{
  private String name;
  public NonNullExample(@NonNull Person person) {
    this.name = person.getName();
  }
}

1.4.@Cleanup

該註解能幫助我們自動調用close()方法,很大的簡化了代碼。

示例如下:

import lombok.Cleanup;
import java.io.*;

public class CleanupExample {
  public static void main(String[] args) throws IOException {
    @Cleanup InputStream in = new FileInputStream(args[0]);
    @Cleanup OutputStream out = new FileOutputStream(args[1]);
    byte[] b = new byte[10000];
    while (true) {
      int r = in.read(b);
      if (r == -1) break;
      out.write(b, 0, r);
    }
  }
}

如不使用Lombok,則需如下:

import java.io.*;
public class CleanupExample {
  public static void main(String[] args) throws IOException {
    InputStream in = new FileInputStream(args[0]);
    try {
      OutputStream out = new FileOutputStream(args[1]);
      try {
        byte[] b = new byte[10000];
        while (true) {
          int r = in.read(b);
          if (r == -1) break;
          out.write(b, 0, r);
        }
      } finally {
        if (out != null) {
          out.close();
        }
      }
    } finally {
      if (in != null) {
        in.close();
      }
    }
  }
}

1.5.@EqualsAndHashCode

默認情況下,會使用所有非靜態(non-static)和非瞬態(non-transient)屬性來生成equals和hasCode,也能通過exclude註解來排除一些屬性。

@EqualsAndHashCode(exclude={"id", "name"})

1.6.@ToString

類使用@ToString註解,Lombok會生成一個toString()方法,默認情況下,會輸出類名、所有屬性(會按照屬性定義順序),用逗號來分割。
可以指定包含和不包含的屬性

@ToString(exclude="id")

1.7.@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

無參構造器、部分參數構造器、全參構造器。Lombok沒法實現多種參數構造器的重載

1.8.@Slf4j 代替我們手寫的日誌

@Slf4j
@RestController
@RequestMapping(value = "/harbour")
public class HarbourController {
}

在這裏插入圖片描述

2.Translation (翻譯插件)

開源地址:https://github.com/YiiGuxing/TranslationPlugin

2.1.Show Translation Dialog

打開翻譯對話框。默認顯示在工具欄上。默認快捷鍵:
在這裏插入圖片描述

2.2.Translate

取詞並翻譯。如果有已選擇的文本,優先從選擇的文本內取詞,否則默認以最大範圍自動取詞(該取詞模式可在Settings中配置)。默認顯示在編輯器右鍵菜單上,默認快捷鍵:
在這裏插入圖片描述
在這裏插入圖片描述

2.3.Translate and Replace

翻譯並替換。取詞方式同Translate操作。默認顯示在編輯器右鍵菜單上,默認快捷鍵:
在這裏插入圖片描述
在這裏插入圖片描述

3.Maven Helper

  • 原來的maven的操作方式
    在這裏插入圖片描述
  • 安裝插件後可以直接在項目目錄上操作,無需在右側一層層展開目錄查找想要的命令
    在這裏插入圖片描述
    這個插件只有當你經常需要操縱maven的時候你纔會發現他的方便之處

4.Alibaba Java Coding Guidelines

安裝完成後你會發現你代碼中不規範的地方全都給你標註出來了,也提供了部分問題alt+enter的快速解決方案
在這裏插入圖片描述
使用如上方式,可對代碼進行系統化掃描,產生一個清單

在這裏插入圖片描述

5.GsonFormat

一鍵根據json文本生成java類 非常方便
在這裏插入圖片描述

6.MyBatisCodeHelperPro(mybatis框架下請一定要使用一下,是我最喜歡的插件,他比想象的還要強大)

mybatis代碼自動生成插件,大部分單表操作的代碼可自動生成 減少重複勞動 大幅提升效率,作者更新版本和修改bug都很及時。

7.GenerateAllSetter

一鍵調用一個對象的所有set方法並且賦予默認值 在對象字段多的時候非常方便
在這裏插入圖片描述

8.String Manipulation(強大的字符串轉換工具)

快捷鍵:alt + M

  • 遞增

在這裏插入圖片描述

  • 去除空格

在這裏插入圖片描述

  • 格式化

在這裏插入圖片描述

  • 轉換大小寫

在這裏插入圖片描述

9.Restfultookit

9.1.快速定位接口

Spring MVC網頁開發的時候,我們都是通過requestmapping的方式來定義頁面的URL地址的,爲了找到這個地址我們一般都是ctrl+shift+F的方式進行查找,大家都知道,我們URL的命名一個是類requestmapping+方法requestmapping,查找的時候還是有那麼一點不方便的,restfultookit就能很方便的幫忙進行查找。
只要雙擊即可跳轉到對應的controller接口中
在這裏插入圖片描述

9.2.自動生成請求參數並可發送請求

  • 根據我們的controller幫我們生成默認的測試數據,還能直接調用測試,這個可以是解決了我們每次postman調試數據時,自己傻傻的組裝數據的的操作,這個更加清晰,比在console找數據包要方便多了

  • 只需要將請求地址和數據複製到postman對應區域即可進行測試
    在這裏插入圖片描述

9.3.ShowDoc中快速生成請求參數表格和返回數據

一個非常適合IT團隊的在線API文檔、技術文檔工具,可以代替swagger的使用,手動管理生成文檔,
在編寫的時候就可以和插件相結合
網站地址:https://www.showdoc.cc/

  • 找到ShowDoc轉換工具

在這裏插入圖片描述

  • 數據Restfultookit生成的參數

在這裏插入圖片描述

  • 生成表格

在這裏插入圖片描述

是不是比原來手寫數據簡單了許多

10.Sql Generator

  • 想自己寫sql但是又不想打字段,選擇其中一個
    在這裏插入圖片描述

  • 直接粘貼

SELECT id, area_name, country_id, pinyin, pinyin_initials, sort, english_name, state, is_deleted, create_by, create_time, update_time FROM area WHERE id = ?

11.Jrebel(熱部署)

jrebel是可以熱部署項目的一個工具,更改代碼自動部署並不需要重啓項目(在spring中的controller中,增加、修改方法都是可以進行熱部署而不需要重啓的),極大的提高工作效率。

  • 開啓修改代碼更新資源的配置
    在這裏插入圖片描述
  • 啓動
    在這裏插入圖片描述

二、裝飾性插件

1.Rainbow Brackets

他可以幫助我們寫代碼時有的時候嵌套太多格式又比較亂,他可以幫我們從顏色上區分括號的對應關係

在這裏插入圖片描述

2.CodeGlance

在右側多一個全局預覽條
在這裏插入圖片描述

3.activate-power-mode

這是一款讓你在編碼的時候,整個屏幕都爲之顫抖的插件。這個我一開始裝了,後來就懶得用了
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章