Apa yang Baru di GoLand 2018.3

Halo, Habr! Versi baru GoLand 2018.3 dirilis minggu lalu.




Dalam pembaruan ini Anda akan menemukan banyak peningkatan untuk debugging dan pengujian. Ini adalah aplikasi debug pada platform Google App Engine, kerangka kerja Testify, analisis dump memori dan Mozilla rr.


Ada refactoring Change Signature baru, inspeksi kode dan pelengkapan otomatis untuk fungsi.


Selain itu, kami menambahkan dukungan untuk bagan, perbaikan Rename dan Inline , perbaikan dengan templat Go ( teks / html ) dan sistem kontrol versi untuk plugin Git, Docker dan Kubernetes, dan banyak lagi.


Ubah refactoring Tanda Tangan


Ubah tanda tangan Refactoring mengubah tanda tangan fungsi dan metode. Ini membantu untuk menetapkan nama baru atau memindahkan, mengganti nama, menambah atau menghapus parameter.


Jika Anda mengubah tanda tangan metode, GoLand akan menawarkan untuk memperbarui implementasinya.


Sebelum Anda menerapkan refactoring, lihat apa yang terjadi di panel pratinjau.


Daftar semua file dan objek yang menerapkan refactoring ditampilkan di panel. Jika Anda membutuhkan detail lebih lanjut, dari panel Anda dapat pergi ke simbol apa pun yang bisa berubah dalam proyek. Jika hasilnya tidak memenuhi harapan, perubahan bisa dibatalkan.




Ganti nama dan Refactoring Inline


Ganti nama sekarang memperingatkan potensi konflik sebagai akibat dari penggantian nama. Kami telah menambahkan dialog yang melaporkan masalah dan menawarkan untuk membuat pilihan: abaikan konflik, pertimbangkan atau batalkan refactoring.




Hasil menerapkan refactoring Inline sekarang langsung terlihat: GoLand menyoroti kode yang diubah.




Debugging Aplikasi Google App Engine


Di versi baru, debugger memungkinkan Anda menjalankan dan men-debug aplikasi pada platform Google App Engine secara lokal.


Kami juga menambahkan templat proyek baru - App Engine . Ini berisi app.yaml dengan pengaturan konfigurasi dasar dan file main.go dengan penangan permintaan.




Dukungan analisis dump memori


Terkadang alat debugging standar tidak memberikan gambaran lengkap tentang apa yang terjadi dengan program pada titik-titik tertentu dalam pelaksanaannya. Dalam hal ini, kesedihan memori akan membantu.


Untuk mulai menganalisis dump memori di GoLand, pilih Open Core Dump di menu Run .


Untuk secara otomatis membuat crash dumps, masukkan GOTRACEBACK=crash di bidang Lingkungan pada konfigurasi Run .


Anda hanya dapat membuat dump memori di Linux, tetapi Anda dapat menganalisisnya di macOS dan Windows.




Bersaksi Dukungan


GoLand 2018.3 mendukung kerangka kerja Testify . Jalankan suite tes dan metode langsung dari editor, seperti fungsi tes normal.


Di jendela Kegagalan Perbandingan , bandingkan nilai aktual dan yang diharapkan jika tes gagal.




Pemeriksaan Kode


Dua inspeksi kode baru telah muncul : Unhandled Error dan Unreachable code.


Kesalahan Tidak Tertangani memperingatkan tentang fungsi dan metode yang mengembalikan kesalahan, tetapi tidak ada pemeriksaan untuk menangani kesalahan ini.




Kode yang tidak terjangkau mengidentifikasi potongan-potongan kode yang tidak akan pernah dieksekusi.




Selain itu, inspeksi Fungsi Panggilan, yang memeriksa apakah ekspresi harus dikonversi ke fungsi atau panggilan metode , kini dapat memperbaiki kesalahan secara otomatis menggunakan Ekspresi Panggilan Selesai .




Penyelesaian otomatis


GoLand 2018.3 memperkenalkan jenis baru penyelesaian otomatis untuk berbagai fungsi. Bayangkan Anda baru mengenal dunia golang dan Anda harus membagi garis. Anda tahu bahwa harus ada fungsi untuk ini, dan kemungkinan besar itu disebut " split ". Fungsi ini harus mengambil string sebagai argumen pertama, tetapi Anda tidak tahu nama pasti fungsi dan paketnya. Jenis pelengkapan otomatis yang baru memudahkan untuk menemukan fitur tersebut.


Panggil Penyelesaian dasar dua kali (Ctrl + Spasi + Spasi) untuk melihat semua opsi penyelesaian yang tersedia.




Tindakan niat


Tambahkan argumen string format menghasilkan specifier format untuk ekspresi yang diberikan, memasukkan specifier ke string format, dan meneruskan ekspresi sebagai argumen specifier.




Hasilkan Konstruktor menciptakan fungsi khusus untuk menginisialisasi struktur.




Hasilkan getter / setter sekarang memungkinkan Anda untuk mengedit parameter dari fungsi yang dihasilkan.




Hasilkan Konstruktor , Hasilkan pengambil / penyetel , dan Hasilkan pengambil dan penyetel sekarang tersedia melalui menu Hasilkan .


Debugger


Dialog antara Evaluate Expression dan panel Watchers sekarang memiliki penyelesaian otomatis, inspeksi dan koreksi kesalahan otomatis.




Templat Go ( html / templat )


Templat go ( html / templat ) berfungsi dengan pelengkapan kode dan Ganti nama refactoring, sekarang Anda dapat beralih dari karakter apa pun ke tempat penggunaannya, dan pemformatan telah meningkat.




Mozilla rr


Kami telah menambahkan dukungan rr dari Mozilla ke debugger Linux. Rekam dan putar ulang program hanya dengan dua tombol. Untuk mulai men-debug, Anda perlu menginstal Mozilla rr .


Jika tidak, semuanya berfungsi sama seperti di debugger standar, kecuali untuk tombol Rewind khusus untuk Mozilla rr. Ini memulai program kembali ke breakpoint sebelumnya.




Bagan


Kami telah menambahkan dukungan grafik untuk visualisasi:


  • ketergantungan dalam proyek modul Go;
  • hubungan antara modul yang diimpor dan diekspor dalam proyek JavaScript dan TypeScript;
  • hubungan antara tabel dalam database dan SQL.



Cari dan navigasi


Dialog Find in Path dan Replace in Path sekarang berfungsi dengan potongan kode multi-baris.




Kotak pencarian, Cari Di Mana Saja , lebih cepat dan menggabungkan Ke jenis , Pergi ke file , Pergi ke simbol , dan Temukan tindakan . Gunakan TAB untuk beralih antar tab.




Perbaikan Editor Kode


Ikon baru di editor tidak hanya akan memberi tahu Anda metode mana yang telah didefinisikan ulang, tetapi juga akan membantu Anda beralih dari satu metode seperti itu ke yang lain dengan satu klik.




Complete Current Statement secara otomatis memasukkan koma dalam literal gabungan (struktur, kamus, dll.) Dan menempatkan kursor pada posisi pernyataan berikutnya.




Di GoLand 2018.3, Anda dapat menetapkan sekumpulan file yang tidak dapat diterapkan oleh kode Reformat , Optimalkan impor , dan Atur ulang tindakan .




IDE mendukung komentar TODO multi-line untuk file di Go, JavaScript, TypeScript, CSS, dan SCSS.




Sistem kontrol versi


Integrasi dengan Git sekarang menampilkan perubahan permintaan pemeriksaan untuk repositori di jendela baru - Permintaan Tarik GitHub , dan juga mendukung submitran Git.




Ketersediaan


Kami telah menambahkan tema kontras tinggi baru, dan meningkatkan dukungan untuk pembaca layar.




Docker


Plugin docker mendukung argumen CLI dalam menjalankan konfigurasi. Argumen berikut dapat digunakan di bidang Build baru dari konfigurasi startup Dockerfiles : cache-from, cpu-shares, cpuset-cpus, force-rm, label, memory, memory-swap, shm-size, no-cache, pull, quiet, rm.




Plugin Kubernetes


Penyelesaian kode, Ganti nama refactoring, inspeksi kode, dan perbaikan cepat berfungsi di templat Helm.




Perubahan lainnya


  • Tindakan Lampirkan sekarang di menu Open Project , yang memungkinkan Anda untuk menambahkan direktori saat Anda membuka proyek baru.
  • Sekarang Anda dapat membuka proyek dengan menyeretnya ke jendela selamat datang.
  • Activity Monitor menunjukkan berapa banyak sumber daya prosesor yang dikonsumsi berbagai subsistem dan plugin: Bantuan | Monitor Aktivitas.
  • Menemukan dan memperbarui plugin di IDE menjadi lebih mudah. Halaman plugins mendukung pencarian berdasarkan tag dan mengurutkan hasil dengan mengunduh, nama, peringkat, direkomendasikan atau diperbarui.
  • Proyek pengindeksan jauh lebih cepat.

Itu saja! Seperti biasa, kami akan senang mendengar pendapat Anda: menulis kepada kami di sini di komentar, di Twitter atau di bug tracker :)


Anda dapat mengunduh pembaruan di halaman unduhan atau melalui Aplikasi Toolbox .


Untuk berjaga-jaga, saya mengingatkan Anda bahwa jika Anda sudah menggunakan IntelliJ IDEA Ultimate, maka semua fitur GoLand tersedia di sana: cukup instal plugin ini.


Terima kasih atas perhatian anda!

Source: https://habr.com/ru/post/id431668/


All Articles