Heim >Java >javaLernprogramm >12 Ideen-Plug-ins zur Verbesserung Ihrer Codierungseffizienz
In diesem Artikel geht es um die 12
-Plugins in idea
, die die Codierungseffizienz verbessern können. Ich hoffe, dass er für alle hilfreich ist. idea
中,能提升编码效率的12
种插件,希望对大家有所帮助。
之前对lombok还有争议,到底该不该在项目中使用,为此我还专门写了一篇文章《迷茫了,我们该不该用lombok?》。
现在新版的idea已经内置了lombok插件,所以用它是一种趋势。
我之所以把lombok放在整篇文章的第一个介绍,是因为它真的可以帮我少写很多代码,特别是entity、DTO、VO、BO中的。
我们用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类中包含了:成员变量、getter/setter方法、构造方法、equals、hashCode方法。
咋一看,代码还是挺多的。而且还有个问题,如果User类中的代码修改了,比如:age字段改成字符串类型,或者name字段名称修改了,是不是需要同步修改相关的成员变量、getter/setter方法、构造方法、equals、hashCode方法全都修改一遍?
好消息是用lombok可以解决这个问题。
如果是idea2020.3之前的版本,需要在idea中安装如下插件:
但idea2020.3之后,idea已经内置了lombok的功能。
有了lombok插件,现在我们在idea只用这样写代码,就能实现上面的功能了:
@ToString @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor @Getter @Setter public class User { private Long id; private String name; private Integer age; private String address; }
简直太轻松了,真的可以少写很多代码。
此外,我们还需要在项目的pom文件中,引入lombok的依赖包,不然项目会跑不起来。
在国内mybatis
已经成为了最主流的数据库框架了,该框架属于半自动化的ORM持久化框架,相对于hibernate这种全自动化的持久化框架更灵活,性能更高。
在mybatis
中,我们需要自己定义mapper和对应的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 != ''"> 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 != ''"> #{name}, </if> <if test="age != null "> #{age}, </if> <if test="sex != null "> #{sex}, </if> </trim> </insert> </mapper>
UserMapper.xml文件中,mapper标签的namespace对应UserMapper接口名,而insert标签的id=insertUser,正好对应UserMapper接口中的insertUser方法。
那么,在项目中如何通过UserMapper类中的getUser方法,能够快速访问UserMapper.xml文件中的getUser方法?
答:这就需要使用Free Mybatis plugin
插件了。
安装了该插件之后,在UserMapper接口的接口名和方法名的左边,会多了两个绿色的箭头,我们点击该箭头,就能跳转到UserMapper.xml文件对应的mapper标签或者insertUser语句上。
此外,在UserMapper.xml文件的insertUser语句的左边,也会多出一个绿色的箭头,我们点击该箭头,也能跳转到UserMapper接口的insertUser方法上。
有了这个插件,我们就能在mapper和xml之间自由切换,自由玩耍了,再也不用像以前那样搜索来搜索去。
有些小伙伴,包括我自己可能英语不太好(我英语刚过四级)。
我们在给变量或者方法取名时,要想半天。特别是在阅读JDK英文文档时,遇到了一些生僻字,简直头大。
有个好消息是使用:Translation
插件,能够让我们在文档中自由飞翔。
安装完Translation
Jetzt verfügt die neue Version von Idea über ein integriertes Lombok-Plug-in, daher liegt die Verwendung im Trend.
Der Grund, warum ich Lombok als erste Einführung im gesamten Artikel angegeben habe, ist, dass es mir wirklich helfen kann, viel weniger Code zu schreiben, insbesondere in Entitäten, DTOs, VOs und BOs.
Wir verwenden die User-Klasse als Beispiel. Um eine Javabean zu definieren, mussten Sie zuvor den folgenden Code schreiben:
rrreeeDie User-Klasse umfasst: Mitgliedsvariablen, Getter/Setter-Methoden, Konstruktormethoden, Equals und HashCode-Methoden .
Auf den ersten Blick gibt es ziemlich viele Codes. Und es gibt noch eine weitere Frage: Wenn der Code in der Benutzerklasse geändert wird, zum Beispiel: Das Altersfeld wird in einen Zeichenfolgentyp geändert oder der Name des Feldes wird geändert. Müssen dann die zugehörigen Mitgliedsvariablen Getter/Setter geändert werden? Methoden, Konstruktoren usw. gleichzeitig ändern? Die gute Nachricht ist, dass die Verwendung von Lombok dieses Problem lösen kann. 🎜🎜Wenn es sich um eine Version vor idea2020.3 handelt, müssen Sie das folgende Plug-in in idea installieren: 🎜🎜🎜Darüber hinaus müssen wir auch das Abhängigkeitspaket von Lombok in die POM-Datei des Projekts einführen, sonst wird das Projekt nicht ausgeführt. 🎜
mybatis
das Am beliebtesten ist es ein Mainstream-Datenbank-Framework. Im Vergleich zu einem vollautomatischen Persistenz-Framework wie Hibernate ist es flexibler und leistungsstärker. 🎜🎜In mybatis
müssen wir den Mapper und die entsprechende XML-Datei selbst definieren, um die Bindung abzuschließen. 🎜🎜Hier nehmen wir die Benutzertabelle als Beispiel. Zuerst müssen wir die UserMapper-Schnittstelle definieren: 🎜rrreee🎜 Dann benötigen wir die UserMapper.xml-Konfigurationsdatei: 🎜rrreee🎜In der UserMapper.xml-Datei den Namensraum des Mapper-Tags entspricht dem UserMapper-Schnittstellennamen und dem Einfügetag id=insertUser, das der insertUser-Methode in der UserMapper-Schnittstelle entspricht. 🎜🎜Wie können wir also über die getUser-Methode in der UserMapper-Klasse im Projekt schnell auf die getUser-Methode in der Datei UserMapper.xml zugreifen? 🎜🎜Antwort: Hierfür ist die Verwendung des Plug-ins Kostenloses Mybatis-Plugin
erforderlich. 🎜🎜🎜🎜Das Plugin ist installiert Danach werden links neben dem Schnittstellennamen und dem Methodennamen der UserMapper-Schnittstelle zwei weitere grüne Pfeile angezeigt. Durch Klicken auf die Pfeile können wir zum Mapper-Tag oder zur insertUser-Anweisung springen, die der Datei UserMapper.xml entspricht. 🎜🎜🎜🎜Außerdem in UserMapper Auf der linken Seite der insertUser-Anweisung in der .xml-Datei befindet sich außerdem ein grüner Pfeil. Wenn wir auf den Pfeil klicken, können wir auch zur insertUser-Methode der UserMapper-Schnittstelle springen. 🎜🎜🎜🎜Mit diesem Plug- In können wir frei zwischen Mapper und XML wechseln, frei spielen und müssen nicht mehr wie zuvor suchen. 🎜Translation
frei im Dokument navigieren können. 🎜🎜🎜🎜InstalliertÜbersetzung
-Plugin gibt es in anderen Einstellungen ein zusätzliches Übersetzungsmenü. 🎜🎜Klicken Sie auf dieses Menü: 🎜🎜🎜🎜🎜Im Fenster rechts können Sie die Übersetzungssoftware auswählen. 🎜🎜Wählen Sie das englische Dokument aus, das übersetzt werden muss: 🎜🎜🎜🎜🎜 Wählen Sie im Popup-Fenster mit der rechten Maustaste die Option „Übersetzung“ und das folgende Fenster wird angezeigt: 🎜
Ein englischer Absatz wurde plötzlich ins Chinesische übersetzt, es war so cool.
Wenn Sie ein Freund sind, der sich mit Java-Entwicklung beschäftigt, müssen Sie Alibabas „Java Development Manual“ gelesen haben.
Dieses Handbuch fasst die Probleme zusammen, auf die wir in unserem täglichen Entwicklungsprozess stoßen können. Von Programmierprotokollen, Ausnahmeprotokollen, Unit-Tests, Sicherheitsprotokollen, MySQL-Datenbank und Projektstruktur standardisieren diese sechs Aspekte den Entwicklungsprozess und stellen sicher, dass wir effizienten und eleganten Code schreiben können.
Aber diese normativen Dinge können kaum die erwarteten Ergebnisse erzielen, indem sie sich nur auf das Bewusstsein der Menschen verlassen.
Um dieses Problem zu lösen, hat Alibaba das Plug-in Alibaba Java Coding Guidelines
eingeführt, das nicht standardmäßigen Code direkt erkennen kann. Alibaba Java Coding Guidelines
插件,能够通过该插件,直接查出不合规范的代码。
安装了该插件之后,按下快捷键:Ctrl+Alt+Shift+J
,可以可对整个项目或单个文件进行编码规约扫描。
扫描后会将不规范的代码按从高到低。
目前有三个等级显示在下方:
点击左边其中一个不规范的代码行,右边窗口会立刻显示不规范的详细代码,便于我们快速定位问题。
nice。
很多时候,我们需要给某个对象赋值,如果参数比较多的话,需要手写大量的setter
或者getter
代码。
有没有办法一键搞定呢?
答:有,使用GenerateAllSetter
插件。
安装完插件之后,在创建的对象上,按快捷键下:alt + enter
。
在弹出的窗口中选择:Generate all setter with default value。
就会自动生成如下代码:
简直太方便了。
我们平时在阅读源码时,为了梳理清楚内部逻辑,经常需要画一些时序图
。
如果我们直接画,会浪费很多时间,而且画的图不一定正确。
这时可以使用:SequenceDiagram
插件。
选择具体某个方法,右键选择:sequence diagram选项:
之后,会出现时序图:
从此以后,能够成为画图高手了,完美。
在代码格式方面,有许多地方,需要我们注意,比如:无用导入、没写注释、语法错误、方法太长等等。
有没有办法,可以在idea中,一次性检测出上面的这些问题呢?
答:使用CheckStyle-IDEA
插件。
CheckStyle-IDEA
是一个检测代码格式是否满足规范的工具,其中用得比较多的是Google
规范和Sun
Das Plugin ist installiert Drücken Sie anschließend die Tastenkombination: Strg+Alt+Umschalt+J
, um das gesamte Projekt oder eine einzelne Datei nach Codierungskonventionen zu durchsuchen.
Nach dem Scannen ist es Nicht standardmäßige Codes werden von hoch nach niedrig geordnet.
Im Folgenden werden derzeit drei Stufen angezeigt:nett.
Setter schreiben. code> oder <code>getter
code. 🎜🎜Gibt es eine Möglichkeit, dies mit einem Klick zu tun? 🎜🎜Antwort: Ja, verwenden Sie das Plug-in GenerateAllSetter
. 🎜🎜🎜🎜Nach der Installation des Plugs -in, drücken Sie auf dem erstellten Objekt die Tastenkombination: alt + enter
. 🎜🎜Wählen Sie im Popup-Fenster: Alle Setter mit Standardwert generieren. 🎜🎜🎜🎜 wird automatisch generiert Der folgende Code: 🎜🎜🎜🎜 Einfach so praktisch. 🎜Sequenzdiagramme
zeichnen, um die interne Logik zu klären . 🎜🎜Wenn wir direkt zeichnen, verschwendet das viel Zeit und das gezeichnete Bild ist möglicherweise nicht korrekt. 🎜🎜Sie können das Plug-in SequenceDiagram
verwenden. 🎜🎜🎜🎜Wählen Sie ein bestimmtes aus Methode, rechtsklicken und auswählen: Sequenzdiagramm-Option: 🎜🎜🎜🎜Danach erscheint das Zeitdiagramm: 🎜🎜🎜🎜Ab jetzt kann ich Zeichenmeister werden, perfekt. 🎜CheckStyle-IDEA
. 🎜🎜CheckStyle-IDEA
ist ein Tool zur Erkennung, ob das Codeformat den Spezifikationen entspricht. Die am häufigsten verwendeten sind die Google
-Spezifikation und der Sun
Spezifikation. 🎜🎜🎜🎜🎜Nach der Installation des Plug-Ins erscheint die CheckStyle-Option unter der Idee: 🎜🎜🎜🎜🎜Klicken Sie auf die grüne Schaltfläche links, um den Code zu scannen. In der Mitte wird der Grund für die Nichteinhaltung der Code-Vorgaben angezeigt. 🎜🎜Doppelklicken Sie auf den Code, um direkt zum jeweiligen Code zu springen: 🎜🎜🎜🎜JRebel und XRebel
. Wie im Bild gezeigt: JRebel and XRebel
插件。
如图:
安装完成之后,这里会有两个绿色的按钮,并且在右边多了一个选项Select Rebel Agents:
其中一个绿色的按钮,表示热部署启动项目,另外一个表示用debug默认热部署启动项目。
Select Rebel Agents选项中包含三个值:
说实话,idea现有的代码提示功能,已经很强大了。
但如果你使用过Codota
插件,它会让你写代码的速度更上一层楼。
安装完插件之后,我们在写代码时,它会给你一些提示:
这些提示是基于ai统计出来的,非常有参考价值。
很多时候,我需要把json
中的参数,转换成实体对象
中的参数。或者把实体对象
中的参数,转换成json
中的参数。
以前我们都是手动一个变量,一个变量的拷贝的。
但现在有个好消息是,idea的GsonFormat
插件可以帮我们完成这件事。
安装完插件之后,先创建一个空类:
按下快捷键:alt + s
,会弹出下面这个窗口:
然后在该窗口中,录入json数据。
点击确定按钮,就会自动生成这些代码:
简直帅呆了。
我们平时写代码的时候,括号是让我们非常头疼的地方,特别是代码逻辑很多,层层嵌套的情况。
一眼很难看出,代码是从哪个括号开始,到哪个反括号结束的。
有没有办法解决这个问题呢?
答:使用Rainbow Brackets
插件。
安装完插件之后,括号和反括号,在代码中会自动按照不同颜色做区分:
非常显目,非常直观。
有些时候,我们阅读的代码很多,比如某个类中包含的方法和成员变量很多。
从上往下,一点点往下翻,会浪费很多时间。那么有没有办法,能够快速翻到想看的代码呢?
答:有,可以使用CodeGlance
Nachdem die Installation abgeschlossen ist, gibt es hier zwei grüne Schaltflächen und rechts eine zusätzliche Option „Rebel Agents auswählen“:
Eine der grünen Schaltflächen zeigt ein Startprojekt für die Hot-Bereitstellung an, und die andere zeigt ein Startprojekt für die Hot-Bereitstellung mit Debug-Standard an.
Codota
-Plug-in verwendet haben, wird Ihre Code-Schreibgeschwindigkeit noch höher. 🎜🎜🎜🎜Nach der Installation des Plugs -in, es gibt Ihnen einige Tipps, wenn wir Code schreiben: 🎜🎜🎜Diese Tipps basieren auf KI-Statistiken und sind als Referenz sehr wertvoll. 🎜json
in Parameter in Entity Object
konvertieren. Oder konvertieren Sie die Parameter in Entity Object
in Parameter in json
. 🎜🎜Früher haben wir manuell eine Variable und eine Kopie der Variablen erstellt. 🎜🎜Aber jetzt ist die gute Nachricht, dass das GsonFormat
-Plug-in dieser Idee uns dabei helfen kann, dies zu erreichen. 🎜🎜🎜🎜Nach der Installation des Plugs -in, erstellen Sie zunächst eine leere Klasse: 🎜🎜🎜🎜Drücken Sie die Tastenkombination: alt + s
. Das folgende Fenster wird angezeigt: 🎜🎜🎜🎜Geben Sie dann die JSON-Daten in dieses Fenster ein. 🎜🎜Klicken Sie auf die Schaltfläche „OK“ und diese Codes werden automatisch generiert: 🎜🎜🎜Es ist so schön. 🎜Rainbow Brackets
. 🎜🎜🎜Nach der Installation des Plug- in werden Klammern und Anti-Klammern im Code automatisch durch unterschiedliche Farben unterschieden: 🎜🎜sehr auffällig und intuitiv. 🎜CodeGlance
verwenden. 🎜🎜🎜🎜🎜Nach der Installation des Plug-Ins erscheint auf der rechten Seite des Codes das folgende Fenster: 🎜🎜🎜🎜🎜Es handelt sich um eine Miniaturansicht des Codes, durch die wir Codeblöcke sehr schnell wechseln können. 🎜Wenn dieser Artikel für Sie hilfreich oder inspirierend ist, scannen Sie bitte den QR-Code und senden Sie ihn, um ihm zu folgen. Ihre Unterstützung bedeutet, dass ich es kann Weiter schreiben. Die größte Motivation.
Bitte klicken Sie auf drei Links: „Gefällt mir“, „Retweet“ und „Ansehen“.
Folgen Sie dem öffentlichen Konto: [Su San spricht über Technologie], antworten Sie im öffentlichen Konto: Interviews, Code-Artefakte, Entwicklungshandbücher und Zeitmanagement haben große Vorteile für Fans. Antworten Sie auch: Treten Sie der Gruppe bei, Sie können mit vielen Senioren kommunizieren große BVT-Unternehmen studieren.
(Teilen von Lernvideos: Grundlegendes Programmiervideo)
Das obige ist der detaillierte Inhalt von12 Ideen-Plug-ins zur Verbesserung Ihrer Codierungseffizienz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!