10 Plugins IntelliJ IDEA paling apik sing bakal nambah produktivitas sampeyan
Sumber:
Hackernoon Aku bubar takon pangembang sing nggunakake IntelliJ IDEA plugin apa sing paling disenengi kanggo IDE iki? Adhedhasar tanggapan sing diklumpukake, dhaptar 10 ekstensi sing paling populer dipikolehi.
1. WakaTime
WakaTime ngidini sampeyan ndeleng metrik, analytics, lan nglacak wektu sing digunakake kanggo program. Kanthi, sampeyan bakal ngerti persis sepira wektu sampeyan nglampahi coding minangka plugin kanthi otomatis nglacak nalika sampeyan miwiti lan mandheg ngetik, kanthi metrik rinci kanggo proyek, file, cabang, komitmen / PR, fitur, lan liya-liyane.
2.Stepsize
Plugin iki mbantu ngrampungake masalah sing ana gandhengane karo utang teknis, pangopènan, lan refactoring kode. Stepsize ngidini sampeyan:
- nggawe tetenger ing kode;
- trek utang technical langsung saka editor;
- nggawe TODO;
- prioritas masalah teknis sajrone perencanaan sprint;
- Kolaborasi karo kanca-kanca sajrone pangopènan kode lan refactoring.
3. Promotor Kunci X
Key Promoter X mbantu sampeyan sinau makna trabasan lan tombol ing IntelliJ IDEA. Nalika sampeyan nglayang mouse liwat tombol ing IDE, Key Promoter X nuduhake trabasan keyboard sing bisa digunakake tinimbang ngeklik mouse.
4. ZIO kanggo IntelliJ
ZIO bakal menehi saran, refactorings lan dandan liyane kanggo ekosistem Scala ZIO. Plugin ngluwihi perpustakaan ZIO kanthi fungsi kayata:
- refactorings lan saran;
- dhukungan kanggo zio macro (contone, @accessible);
- dibangun ing test run.
5. Protobuf
Plugin
Protobuf Language kanggo IDE berbasis IntelliJ nyedhiyakake dhukungan kanggo basa Protobuf. Protobuf mbantu nyorot sintaks, ngimpor file saka perpustakaan lan SDK, navigasi, lempitan kode, analisis semantik, lan dokumentasi cepet.
6. SonarLint
SonarLint ngidini sampeyan ndandani masalah kode sadurunge kedadeyan. Minangka pamriksa ejaan, SonarLint nyorot kesalahan lan kerentanan keamanan nalika sampeyan nulis kode, kanthi instruksi sing jelas babagan carane ndandani, supaya sampeyan bisa ndandani sadurunge kode kasebut ditindakake. SonarLint ing VS Code ndhukung analisis kode ing Jawa, JavaScript, TypeScript, Python, HTML lan PHP.
7. ESLint
ESLint ndhukung nampilake bebaya eslint minangka inspeksi IntelliJ, mbantu nindakake koreksi cepet kanggo sawetara aturan, ndhukung aturan eslint khusus, lan anotasi konfigurasi lan completion eslint.
8. Luwih ayu
Ekstensi
Prettier mbantu kode sampeyan katon luwih apik lan luwih konsisten. Iki njamin gaya sing konsisten kanthi nganalisa kode sampeyan lan nulis maneh miturut aturan lan dawa garis maksimal.
9. Kukuh
Quokka.js minangka alat produktivitas pangembang kanggo prototipe cepet JavaScript/TypeScript. Ing IDE, nganyari metrik wektu eksekusi ing jejere kode nalika sampeyan ngetik. Iki nyepetake prototipe, latihan, lan uji coba JavaScript/TypeScript.
10. AceJump
AceJump ngidini sampeyan mindhah kursor kanthi cepet menyang posisi sing katon ing editor. Cukup pencet "CRTL +;", ketik karakter, banjur ketik karakter sing cocog kanggo Ace Jump. Yen ora ana pertandhingan sing ditemokake ing layar, AceJump bakal pindhah menyang pertandhingan sabanjure sing bisa ditemokake.
Nangani pengecualian ing Java Streams nggunakake antarmuka fungsional
Sumber:
Dev.to Aku bubar nggoleki sawetara kode lan nemoni kaya iki:
subject.getIdentities().forEach(i -> {
try {
caseService.updateDocument(i.getCase());
} catch (Exception e) {
log.error(e);
}
});
Wiwit aku penggemar gedhe saka lambda expression lan katresnan brevity, kode ndhuwur misale jek sing sethitik ringkes lan dicokot bingung kanggo kula. Kanggo mbusak, sampeyan kudu nggunakake antarmuka fungsional. Apa sing kita butuhake kanggo iki? Kita ngerti manawa
forEach ngarepake input Konsumen. Yen kita bisa mbungkus logika nangani pengecualian ing Konsumen, banjur kita bisa nggunakake logika ing forEach. Logika utama ing njero forEach yaiku baris ing ngisor iki:
i -> caseService.updateDocument(i.getCase());
We ngerti input lan bali jinis, lan kita bisa nggawe antarmuka fungsi kang cara mbalang pangecualian.
@FunctionalInterface
public interface ThrowingFunction<Identity, UpdateResponse> {
UpdateResponse apply(Identity i) throws Exception;
}
Kita bisa nggawe kode luwih trep nggunakake generik.
@FunctionalInterface
public interface ThrowingFunction<T, R> {
R apply(T t) throws Exception;
}
Sawise antarmuka digawe, logika asli bisa diketik:
ThrowingFunction<Identity, UpdateResponse> tf = i -> caseService.updateDocument(i.getCase());
Saiki kita duwe antarmuka fungsional kanggo logika kita, kita bisa pass minangka parameter kanggo cara sing nangani istiméwa lan ngasilake Konsumen sing bisa digunakake ing forEach.
private static <T, R> Consumer<T> wrap(ThrowingFunction<T, R> f) {
return t -> {
try {
f.apply(t);
} catch (Exception e) {
throw new RuntimeException(e);
}
};
}
Iku katon sethitik aneh, nanging ateges cara bungkus njupuk ThrowingFunction minangka input lan nangani eksekusi fungsi utawa keno lan mbalang istiméwa ing Consumer. Saiki kita bisa mbungkus sembarang logika digunakake ing forEach sing bisa mbuwang pangecualian. Iku katon kaya iki:
ThrowingFunction<Identity, UpdateResponse> tf = i -> caseService.updateDocument(i.getCase()):
Consumer<Identity> p = wrap(tf);
subject.getIdentities().forEach(p);
Utawa yen sampeyan seneng siji baris:
subject.getIdentities().forEach(wrap(i -> caseService.updateDocument(i.getCase())));
Setuju yen iki luwih apik! Sampeyan bisa nindakake kaya iki kanggo nangani macem-macem antarmuka fungsional. Contone, operasi
Peta mung njupuk Fungsi minangka input . Tinimbang cara pambungkus ngasilake Konsumen, sampeyan bisa duwe cara ngasilake fungsi. Iki mung salah siji cara kanggo nangani pengecualian ing thread. Aku kudu nyebutake manawa ana
perpustakaan sing nindakake iki kanggo sampeyan. Sampeyan uga bisa nggunakake monad kanggo nangani sukses utawa gagal, nanging iku ngluwihi orane katrangan saka kirim iki.
GO TO FULL VERSION