PhpStorm 2019.2: PHP 7.4 Typed Properties, Duplicate Finder, EditorConfig, Shell Scripts, dan Lainnya



Halo semuanya! Kami senang mempersembahkan kepada Anda rilis besar kedua PhpStorm tahun ini!


Tinjauan umum tentang rilis ini dapat ditemukan di halaman " Apa yang baru ". Dan di bawah potongan, analisis terperinci dari semua perubahan nyata dan fitur baru. (Perhatian - banyak gambar!)


Anda dapat mengunduh versi baru di situs web atau menggunakan Aplikasi Toolbox . Seperti biasa, uji coba 30 hari tersedia. Versi lengkap dapat digunakan oleh pemegang langganan aktif untuk paket PhpStorm atau Semua Produk, serta siswa gratis dan pengembang proyek sumber terbuka.



PHP 7.4: properti yang diketik


PHP 7.4 menjanjikan rilis paling keren dan paling kaya fitur sejak PHP 7.0! Lihatlah semua RFC yang diterima di dalamnya .


Fitur yang paling dinanti tentu saja adalah properti yang diketik , dan PhpStorm 2019.2 sudah sepenuhnya mendukungnya! Termasuk backlight, output dan resolusi jenis, serta semua jenis pemeriksaan.


Jika Anda mencoba meletakkan sesuatu di properti, PhpStorm akan segera memperingatkan Anda tentang hal itu.



Tetapi untuk mempersiapkan migrasi ke PHP 7.4, yang akan dirilis pada akhir November, PhpStorm memiliki perbaikan cepat. Untuk mendeklarasikan tipe, Anda dapat menekan Alt+Enter pada properti tanpa tipe dan pilih Tambahkan tipe yang dideklarasikan untuk bidang tersebut . PhpStorm akan menentukan jenis properti berdasarkan informasi dalam PHPDoc, nilai default, atau pernyataan tipe argumen jika properti disuntikkan melalui konstruktor.



?? = operator (penugasan penggabungan nol)


Operator penugasan null pendek yang baru cukup berguna untuk ekspresi yang besar.


Dalam PhpStorm, tentu saja, sintaksnya didukung, tetapi masih ada perbaikan cepat Alt+Enter untuk menggantikan ?? jika memungkinkan:



Operator dekompresi (...) dalam array


PHP mendukung pembongkaran argumen menggunakan operator โ€ฆ sejak versi 5.6. Dalam rilis PHP mendatang, operator dapat digunakan dalam array:



PhpStorm akan menganalisis penggunaan operator untuk kebenaran dan memastikan bahwa Anda membongkar hanya array atau objek Traversable dan jangan mencoba untuk keliru melakukan sesuatu yang tidak didukung oleh penerjemah PHP:



Dalam rilis berikutnya dari PhpStorm 2019.3, kami berencana untuk mengimplementasikan dukungan penuh dan perbaikan cepat untuk semua fitur baru PHP 7.4, termasuk fungsi panah, pembatas dalam literal angka, dll.

Injeksi otomatis ekspresi reguler dalam PHP


Dalam versi PhpStorm sebelumnya, ekspresi reguler dalam kode PHP tidak disorot secara default dan ditampilkan seperti string biasa. Tentu saja, Anda dapat menerapkan bahasa RegExp secara manual, tetapi Anda tidak akan melakukan ini di seluruh proyek.


PhpStorm 2019.2 menambahkan dukungan penuh untuk pelanggan tetap di PHP! Ini berarti di mana fungsi preg_*, digunakan dalam kode preg_*, templat akan disorot dan diperiksa validitasnya.



Selain itu, sekarang Anda dapat menguji ekspresi reguler langsung di IDE! Arahkan kursor ke atas templat, tekan Alt+Enter dan panggil Periksa RegExp .



Menyorot kode duplikat dengan cepat


Menemukan duplikat di PhpStorm telah ada selama beberapa waktu, dalam Kode menu โ†’ Cari Duplikat. Jika Anda belum mencobanya, coba - dan kagetlah berapa banyak pengulangan dalam proyek!


Dalam rilis ini, analisis duplikasi telah mencapai tingkat yang baru dan bekerja dengan cepat di editor. Jika Anda berulang kali menyalin atau tidak sengaja menulis karya yang sama, maka Anda akan segera mengetahuinya.


Anda dapat pergi ke duplikat lain atau melihat semua yang ada di daftar di jendela terpisah:



Omong-omong, ini adalah kandidat yang baik untuk ekstrak Refactoring.

Pemeriksaan baru disebut fragmen kode duplikat dan diaktifkan secara default. Ambang sensitivitas dapat diatur dalam Preferensi | Editor | Inspeksi | Umum | Fragmen kode duplikat -> PHP . Dan dalam Preferensi | Editor | Duplikat, Anda dapat mengatur elemen mana yang diabaikan saat mencari duplikat, misalnya, Anda bisa mengabaikan nama variabel, metode, atau properti yang berbeda, serta nilai konstan.


Dukungan format PHPT


Apakah Anda ingin berkontribusi ke PHP itu sendiri dan bergabung dengan PHP Internal? Cara terbaik adalah memulai dengan dokumentasi dan tes! Untungnya, Anda tidak perlu tahu C. Untuk ini, tes untuk PHP ditulis dalam file .phpt khusus. Sebenarnya, ini adalah file teks, dibagi menjadi beberapa bagian, beberapa di antaranya mungkin berisi kode PHP.


Jadi, di PhpStorm 2019.2 ada juga dukungan untuk file phpt! Bagian disorot, PHP dan INI diimplementasikan secara otomatis jika diperlukan, transisi ke file eksternal di bagian yang sesuai bekerja.



Informasi lebih lanjut tentang tes menulis untuk PHP ada di sini: Tutorial PHP TestFest , PHP Internals Book dan qa.php.net .


Menjalankan Komposer melalui penerjemah PHP apa pun


Sebelumnya, untuk menjalankan Komposer, Anda selalu membutuhkan penerjemah PHP lokal. Masalahnya adalah mungkin tidak ada sama sekali atau lingkungan mungkin tidak sesuai dengan produksi. Sekarang di PhpStorm 2019.2 Anda dapat menjalankan Composer melalui interpreter yang dikonfigurasi dalam IDE. Misalnya, melalui Docker, Susunan Docker, Vagrant atau, katakanlah, server jarak jauh melalui SSH.


Untuk mencoba fitur ini, pilih Juru Bahasa Remote di Preferensi | Bahasa & Kerangka Kerja | Php | Komposer



Pilih penerjemah yang ada atau tambahkan yang baru!


Perbaikan cepat


Kami memecah daftar menjadi beberapa baris dan sebaliknya


Menurut PSR-2 , sebuah garis yang panjangnya lebih dari 80 karakter harus dibagi menjadi beberapa baris, yang masing-masing lebih pendek dari 80 karakter. Oleh karena itu, jika Anda memiliki array besar atau argumen / parameter fungsi tidak sesuai pada layar, maka Anda dapat menekan Alt+Enter pada mereka dan pilih Split nilai yang dipisahkan koma menjadi beberapa baris:



Jika tiba-tiba, sebagai akibat dari refactoring, daftar menjadi lebih pendek dan cocok pada satu baris, maka tindakan sebaliknya juga tersedia: Gabungkan nilai yang dipisahkan koma menjadi satu baris .


Omong-omong, di sini Anda mungkin perlu menyesuaikan pengaturan gaya kode dengan cepat. Agar tidak mencari opsi yang diperlukan untuk waktu yang lama, pilih kode ini, tekan Alt+Enter dan panggil Sesuaikan pengaturan gaya kode . PhpStorm akan menawarkan untuk mengubah hanya opsi-opsi yang relevan untuk baris yang dipilih:



Alihkan konstruk


Kami telah mengimplementasikan kemampuan untuk dengan cepat menambahkan cabang ke peralihan desain. Tekan Alt+Enter pada ekspresi case tanpa isi dan panggil cabang Copy 'switch' .


Jangan lupa mengedit cabang yang disalin, jika PhpStorm akan menyorot bagian yang berulang:



PhpStorm 2019.2 juga akan memperingatkan jika tidak ada cabang default di switch , dan Anda juga dapat menambahkannya menggunakan perbaikan cepat.


Manipulasi string


PhpStorm akan membantu operasi string rutin. Apa pun yang harus Anda lakukan dengan string - membaginya menjadi beberapa bagian, mengubah tanda kutip, mengubah rangkai menjadi sprintf atau interpolasi, atau apa pun - tekan Alt+Enter pada string dan pilih tindakan yang diinginkan dari daftar.


Dalam rilis ini, kami menambahkan beberapa chip baru ke daftar ini.


Misalkan Anda memiliki ekspresi panjang di sprintf , dan Anda perlu menambahkan parameter lain alih-alih substring. Pilih itu, tekan Alt+Enter , pilih Ekstrak bagian string yang dipilih sebagai argumen fungsi format , dan PhpStorm akan meletakkan parameter di tempat yang tepat:



Anda juga dapat memisahkan substring dengan penggabungan:



Pratinjau untuk Pencarian Struktural


Pencarian struktural, atau SSR untuk jangka pendek, adalah alat yang ampuh yang memungkinkan Anda untuk mencari potongan-potongan kode tidak hanya sebagai teks, tetapi sebagai pohon sintaksis kecil, sambil menunjukkan jenis simpul atau filter lainnya. Cobalah: Edit -> Temukan -> Cari Secara Struktural ...


Masalah dengan pencarian struktural adalah bahwa mendeskripsikan pola pencarian dapat menjadi tugas nontrivial. Di PhpStorm 2019.2, untungnya, Anda sekarang dapat melihat penyorotan waktu-nyata dalam editor. Tidak perlu menjalankan pencarian lagi dan lagi untuk men-debug template.


Bayangkan, misalnya, bahwa Anda ingin menemukan semua panggilan ke metode tertentu dari kelas, tetapi hanya mereka yang objek dari kelas tertentu lain dilewatkan sebagai parameter. Akan sulit untuk menemukan ini dengan pencarian reguler, tetapi dengan SSR - sekaligus!



Klien HTTP


Dukungan format CURL


Hampir semua alat pengembangan dan dokumentasi web sekarang menyediakan kemampuan untuk menyalin kueri sebagai string CURL.


Sekarang baris ini dapat digunakan di PhpStorm. Buat file dengan ekstensi .http atau file awal permintaan HTTP dengan menggunakan pintasan keyboard Cmd+Shift+N (Ctrl+Shift+Alt+Insert) , lalu masukkan string kueri cURL. Ini akan secara otomatis dikonversi ke kueri penuh, dan kemudian Anda dapat dengan mudah bereksperimen dengan header dan parameter kueri lainnya.



Klien HTTP menyimpan cookie


Katakanlah Anda menguji layanan dan membuat permintaan untuk mengotentikasi, dan kemudian dalam permintaan berikutnya panggil titik akhir pribadi. Sebelumnya, cookie dengan informasi sesi dari permintaan pertama akan hilang. Dan pada 2019.2 semua cookie disimpan dan dikirim dalam permintaan berikutnya.



Jika Anda tidak ingin cookie disimpan, gunakan tag @no-cookie-jar untuk permintaan tertentu.


Kontrol versi


Cara baru untuk berkomitmen tanpa dialog


Misalkan Anda mengubah beberapa file dalam folder yang berbeda dari suatu proyek. Untuk mengkomitnya, Anda pergi ke tab Perubahan Lokal pada jendela Kontrol Versi , pilih file yang diperlukan dan panggil dialog komit. Pada titik ini, semuanya diblokir oleh jendela sembul, dan Anda tidak dapat melihat proyek.


Di PhpStorm 2019.2, Anda dapat melakukan langsung dari tab Perubahan Lokal .

Sekarang, dengan mengerjakan komit, Anda dapat melihat seluruh proyek, sejarah dan, secara umum, melakukan apa saja di IDE.



Fitur ini dinonaktifkan secara default. Untuk mencobanya, centang "Komit dari Perubahan Lokal tanpa menampilkan dialog" di Preferensi | Kontrol Versi | Dialog Komit.


Pengingat File Terkait


Saat Anda membuat komit, PhpStorm 2019.2 dapat meminta Anda untuk menambahkan file yang sering diubah bersama dengan yang sudah Anda pilih untuk komit.



Pekerjaan yang ditingkatkan dengan .gitignore


PhpStorm mendukung .gitignore keluar dari kotak dan menyoroti file yang diabaikan dalam tampilan Proyek .


Menjadi sedikit lebih mudah untuk ditambahkan ke .gitignore . Ini dapat dilakukan di jendela Kontrol Versi dengan memanggil Tambah ke .gitignore dari menu konteks pada file yang belum ditambahkan ke sistem kontrol versi.



File .gitignore sekarang memiliki penyelesaian jalur, dan dengan Cmd+click file tersebut akan disorot dalam tampilan Project .



Anda bisa menyembunyikan kolom penulis, data, atau hash di log.



Membandingkan kondisi saat ini dengan cabang apa pun


Untuk melakukan ini, cukup panggil perintah Tampilkan Diff dengan Working Tree dari popup Git Branches , yang ditunjukkan dengan mengklik nama cabang saat ini di sudut kanan bawah.



Riwayat direktori dari Project View


Anda dapat memilih beberapa folder di Project View dan melihat histori perubahan untuk mereka menggunakan Git | Tampilkan Riwayat dari dari menu konteks.



Docker


Kami memindahkan Docker ke jendela Layanan baru. Tujuan dari jendela ini adalah untuk mengumpulkan semua koneksi dan menjalankan proses di satu tempat. Sejauh ini, secara default, PhpStorm menyertakan Docker dan koneksi basis data di sana. Anda juga dapat menambahkan konfigurasi Run / Debug ke jendela Layanan . Ini tersedia di Konfigurasi yang tersedia di bagian Layanan di Run | Edit Konfigurasi ...


Semua layanan ditampilkan sebagai simpul, tetapi masing-masing dapat dibuat tab terpisah dengan memanggil Tampilkan di tab Baru atau hanya menyeret node dengan judul jendela Layanan .



Lihat Docker Container File System


Anda dapat menavigasi isi kontainer pada tab File .



Editor


Pengisian kode selesai


Jika Anda tiba-tiba menulis funtcion atau fnction alih-alih function , itu tidak menakutkan, karena add-on itu akan tetap bekerja, karena ia mengenali jenis kesalahan ketik ini.



Ini berfungsi dalam semua bahasa dan untuk semua karakter - kata kunci, kelas, fungsi, properti, metode, dll.


Konfigurasi Perilaku 'Pindahkan Karet ke Kata Selanjutnya'


Anda dapat memilih di mana kursor akan ditempatkan ketika bergerak melalui kata-kata .. Lihat bagian Gerakan Karet di Preferensi | Editor | Jenderal


<


Bergerak melampaui tanda kurung dan tanda kutip saat menekan Tab


Chip lama sekarang diaktifkan secara default. Saat Anda mengetik dan menekan Tab, alih-alih menambahkan karakter tab, kursor Anda akan bergerak melampaui tanda kutip dan tanda kurung. Untuk menonaktifkan fitur ini, hapus centang pada melompat di luar braket / kutipan penutup dengan Tab saat mengetik kotak centang di Preferensi | Editor | Umum | Tombol pintar



Kode yang disorot dibungkus dengan tanda kutip atau tanda kurung secara otomatis


Fitur super berguna lainnya sekarang diaktifkan secara default. Ketika Anda mengklik tanda kutip (atau braket) untuk memilih sepotong kode, tanda kutip (atau tanda kurung) akan secara otomatis ditambahkan pada awal dan akhir pemilihan.



Jika Anda tidak menyukai perilaku ini, Anda dapat mematikannya dengan memeriksa pilihan Surround saat mengetikkan kutipan atau tanda kurung di Preferensi | Editor | Umum | Tombol pintar


Layout default baru pada macOS


Kami mengubah tata letak default pada macOS dari Mac OS X ke macOS 10.5+. Kami juga mengganti nama tata letak: Mac OS X 10.5 sekarang disebut Default untuk macOS, dan Mac OS X lama sekarang IntelliJ IDEA Classic.


Penyorotan sintaksis untuk lebih dari 20 bahasa


Jika proyek Anda memiliki file dalam bahasa pemrograman selain PHP dan JavaScript, maka PhpStorm 2019.2 Anda akan terkejut dengan penyorotan sintaks untuk Python, Ruby, Go dan sejumlah besar bahasa lainnya. Ini berfungsi di luar kotak dan tidak memerlukan pengaturan tambahan.


Dengan ini, kami ingin meningkatkan pengalaman menggunakan PhpStorm untuk pengguna yang terkadang perlu melihat kode dalam bahasa lain. PhpStorm terutama masih merupakan lingkungan pengembangan PHP dan web , jadi kami tidak berencana untuk memperluas dukungan bahasa lain di luar ruang lingkup penyorotan.



Penyorotan sintaksis untuk bahasa tambahan didasarkan pada tata bahasa TextMate. Lihat daftar lengkap bahasa yang didukung di luar kotak di Preferensi | Editor | Bundel TextMate .


Skrip shell


Dalam PhpStorm 2019.2, kami menerapkan dukungan luas untuk skrip shell, termasuk penambahan path, Ubah nama refactoring, pembuatan kode ( Cmd+N/Alt+Insert) dan banyak template hidup ( Cmd+J/Ctrl+J) .



Juga menerapkan integrasi dengan beberapa alat eksternal.


Untuk mencari kemungkinan masalah dalam skrip, PhpStorm akan menyarankan untuk menginstal Shellcheck , yang menemukan banyak masalah dan menyediakan perbaikan cepat untuknya .


Juga di PhpStorm 2019.2 terintegrasi dengan alat mvdan / sh untuk memformat skrip shell. Ketika Anda memanggil Kode Reformat untuk pertama kalinya, IDE akan meminta Anda untuk menginstalnya dan kemudian memformatnya dengan benar.


Dan akhirnya, ada integrasi dengan situs web Explainshell . Anda dapat memilih perintah apa saja, tekan Alt+Enter dan pilih Explain shell . IDE akan mengarahkan ulang ke Explainshell , di mana Anda dapat melihat apa arti set yang dipilih. Ketika Anda mengarahkan kursor ke perintah langsung di IDE, bantuan juga ditampilkan.



EditorConfig


Dengan menambahkan file .editorconfig , Anda membuat pengembangan di tim lebih menyenangkan, karena opsi gaya tertentu akan bekerja sama untuk semua orang terlepas dari editor yang digunakan.


Sebelumnya, di PhpStorm, diperlukan untuk menginstal plugin EditorConfig, tetapi pada 2019.2 tersedia di luar kotak dan tidak ada langkah tambahan yang diperlukan.


Anda dapat mengatur pengaturan berbeda untuk subfolder yang berbeda dalam proyek. Cukup buat file .editorconfig di folder yang diperlukan - mungkin ada banyak di antaranya dalam proyek ini.


Anda juga dapat mengatur Opsi PhpStorm ! Dalam file .editconfig!

Selain opsi standar untuk EditorConfig, Anda dapat mengonfigurasi hampir semua opsi gaya khusus untuk PhpStorm. Sebelumnya, mereka hanya bisa dikonfigurasi dari UI. Opsi tersebut ditunjukkan oleh awalan ij_ berbeda dari yang standar.



Jika Anda membuat file .editorconfig baru dari Project View , maka PhpStorm akan meminta Anda untuk memilih opsi mana yang akan disertakan dalam file yang dibuat. Mereka akan ditambahkan komentar, dan yang diperlukan dapat dihapus komentar dan diubah.



Penampilan


Informasi lebih lanjut di Project View


Anda dapat mengaktifkan tampilan ukuran file dan tanggal modifikasi di Project View menggunakan View -> In-place Descriptions .



Jenis baru tooltip inspeksi


Tooltip sekarang tidak hanya menjelaskan masalah, tetapi juga menawarkan perbaikan pertama dari daftar. Untuk menerapkannya secara instan, bahkan tanpa petunjuk atau klik, tekan Alt+Shift+Enter . Untuk melihat semua perbaikan yang tersedia, tekan Alt+Enter .



UI yang diperbarui pada Windows


Tampilan tanpa bingkai segar di Windows 10:




PhpStorm, seperti biasa, mencakup semua pembaruan dari WebStorm dan dari DataGrip. Daftar lengkap perubahan dapat ditemukan dalam catatan rilis yang sangat besar.


Dan akhirnya, sebuah video pendek (dalam bahasa Inggris) dengan demonstrasi fitur utama dari rilis:



Itu saja untuk sekali. Terima kasih sudah membaca sampai akhir! Pertanyaan, keinginan, laporan bug dan hanya pemikiran yang diungkapkan dalam komentar! Kami akan dengan senang hati menjawab.


Tim PhpStorm JetBrains Anda

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


All Articles