PhpStorm 2021.1: Pratinjau File PHP dan HTML, 20+ Inspeksi Baru, dan Pasangkan Pemrograman dengan Code With Me





Kami senang mempersembahkan rilis besar pertama PhpStorm tahun ini! Di bawah potongan adalah analisis mendetail dari semua perubahan dan fitur baru.



PHP



  • Pratinjau file PHP dan HTML langsung di editor menggunakan browser bawaan dan penerjemah PHP lokal.

  • 20 PHP.

  • , PHP, — Settings / Preferences.

  • PHP composer.json.

  • SQL, RegExp . . .

  • SQL- CMS.

  • .



IDE



  • Split .

  • JSONPath JSON-.

  • JSON Lines.

  • Preferences | Editor | Font.



Docker



  • Dockerfile.

  • Dockerfile.



Version Control



  • - GitHub — IDE .



Code With Me



  • JetBrains PhpStorm . Code With Me , - .





Anda dapat mengunduh PhpStorm 2021.1 di situs web atau di Aplikasi Toolbox .



Ini secara singkat, dan sekarang lebih banyak tentang segalanya.



PHP



Pemilihan versi PHP melalui statusbar



Pada rilis sebelumnya, kami menambahkan indikator versi PHP di bilah status. Pada 2021.1, versi dapat diubah terlepas dari yang ditentukan di composer.json



. Ini akan memungkinkan, misalnya, untuk memeriksa kompatibilitas kode dengan versi PHP yang lebih baru dengan cepat.









Temukan pengaturan PHP dengan mudah



Sebagian besar pengaturan terkait PHP sekarang tersedia di Pengaturan / Preferensi | PHP .









Lihat file PHP dan HTML di editor



Saat Anda mengarahkan kursor ke sembarang tempat di editor, jendela pop-up dengan ikon browser muncul di sudut kanan atas. Dengan mengklik ikon tersebut, file saat ini akan terbuka di browser yang dipilih.



Sekarang ada juga ikon PhpStorm di sini. Saat Anda mengkliknya, file akan terbuka untuk pratinjau langsung di editor.



Pratinjau berfungsi pada file HTML dan PHP, serta semua file CSS dan JavaScript terkait.







Buka file dan mulai mengetik - tab pratinjau akan langsung menampilkan semua perubahan.



PhpStorm menggunakan juru bahasa PHP lokal yang dapat ditentukan untuk proyek di Pengaturan / Preferensi | PHP... Docker dan interpreter non-lokal lainnya belum didukung.



Jika tidak ada ikon di editor, Anda perlu memastikan bahwa di Preferensi | Alat | Browser Web , setidaknya satu browser dipilih dan kotak centang Untuk file HTML dicentang .



Anda juga dapat membuka tab pratinjau dengan menekan Alt + F2.





Menggunakan prefiks tabel dalam kueri SQL



Banyak CMS dan kerangka kerja memungkinkan tabel awalan. Ini dapat berguna saat menggunakan database yang sama untuk beberapa aplikasi.



Sebelumnya, integrasi dengan alat database hilang karena nama tabel dibuat secara dinamis.



Sekarang Anda dapat menentukan awalan di file .phpstorm.meta.php . Anda dapat membaca lebih lanjut tentang metafile dan cara menentukan prefiks tabel di halaman bantuan .



Katakanlah kita memiliki request berikut di aplikasi Drupal:











Seperti yang Anda lihat, PhpStorm tidak dapat menentukan nama tabel atau nama kolom. Ini karena kami telah menetapkan prefiks tabel di konfigurasi Drupal.



Untuk memperbaikinya, tambahkan file .phpstorm.meta.php



dengan konten berikut ke proyek :



namespace PHPSTORM_META {
 override(
  //       SQL-
   sql_injection_subst(),
   map([
     '{' => "PS2021_", //  `{`   SQL    
     '}' => '',       //   `}`    
   ]));
}
      
      







Sekarang PhpStorm akan dapat mengikat kueri SQL ke sumber data dan memberi Anda fitur seperti penyelesaian otomatis, transisi ke tampilan data, dan banyak lagi.







Ngomong-ngomong, jika permintaan dibentuk melalui penggabungan, ini juga akan berfungsi:



<?php
const DB_PREFIX = "mydatabase_";
$sql = "SELECT * FROM " . DB_PREFIX . 'table_name';
      
      







Inspeksi dan perbaikan cepat



Dalam rilis ini, kami telah menambahkan lebih dari 20 pemeriksaan berbeda dan perbaikan cepat untuk membantu mencegah kesalahan pada tahap awal pengembangan. Anda dapat melihat daftar lengkap inspeksi dan mengkonfigurasinya di Pengaturan / Preferensi | Editor | Inspeksi .



Saat terjadi masalah, arahkan kursor ke atasnya, tekan Alt + Enter dan pilih perbaikan cepat yang disarankan.



Dan sekarang lebih banyak tentang beberapa inspeksi baru.



Menyederhanakan blok `if` dengan badan yang sama



Beberapa blok if



dan else



mungkin berlebihan. Misalnya, Anda dapat mengubahnya, akibatnya tubuh mereka sepenuhnya atau sebagian sama.



PhpStorm akan mendeteksi blok tambahan tersebut dan menawarkan untuk menghapusnya:











Selain itu, jika hanya sebagian dari tubuh yang diulang, PhpStorm akan menawarkan untuk mengekstraknya saja:







Pembalikan `jika`



Jika Anda menekan Alt + Enter untuk sembarang if



, Anda akan diminta untuk perintah "Invert` if` statement" . Ini membalikkan kondisi dan membuat penyesuaian yang diperlukan untuk mempertahankan logika.



Jika Anda ingin menggunakan pengembalian awal , pemeriksaan ini akan sangat berguna saat melakukan pemfaktoran ulang kode Anda.



Misalnya :







Dalam loop, ini juga berfungsi:





Mengganti `isset` dengan ??



Kode isset($a) ? $a : $b;



tersebut identik $a ?? $b



, jadi PhpStorm akan menyorotnya dan menyarankan perbaikan cepat untuk penggantian.







, —  , .



Code | Run Inspection by Name... , `isset` can be replaced with coalesce. .



`isset` `!== null`



Penggunaan isset()



hanya masuk akal untuk array dan variabel. Dalam semua kasus lain, lebih baik memeriksa operand null



.



PhpStorm akan menyorot tempat-tempat tersebut dan memungkinkan Anda untuk mengganti dengan Alt + Enter isset()



dengan null



.







Variabel dalam `foreach` menimpa variabel yang sudah dideklarasikan



Variabel untuk kunci dan nilai dalam pengulangan foreach



dapat bertentangan dengan nama variabel atau parameter lain.



Masalahnya adalah PHP tidak memiliki ruang lingkup terpisah untuk mereka. Artinya, nilainya akan diganti - mungkin bertentangan dengan ekspektasi.



PhpStorm akan menyoroti tempat-tempat seperti itu karena mereka berpotensi menjadi sumber bug.



















true



false



, .



PhpStorm , Alt + Enter.









Operator ===



akan selalu kembali false



jika operan tidak berjenis sama.







PhpStorm sekarang menyoroti tempat-tempat seperti itu karena dapat menjadi sumber bug. Pada saat yang sama, PhpStorm akan mempertimbangkan semua jenis deduksi dan membantu Anda menemukan masalah dalam kasus yang tidak terlalu jelas.







Tautan tidak aman http: //



Penggunaan protokol http://



dalam baris sekarang disorot. IDE menawarkan perbaikan cepat untuk penggantian cepat http://



ke https://



(dengan Alt-Enter). Anda juga dapat menggunakannya untuk menambahkan URL ke daftar tautan yang diabaikan.







Kombinasi nama yang mencurigakan



PhpStorm menyoroti beberapa kesalahan umum dalam penamaan parameter atau nilai kembalian, seperti $needle



dan $haystack



atau $x



dan $y



.



Biasanya error seperti itu merupakan gejala bug atau, paling tidak, sangat membingungkan.







Mengganti `define` dengan` const`



PhpStorm mendeteksi kasus di mana deklarasi konstan via define



dapat diganti dengan sintaks yang lebih mudah dibaca const



. Dengan Alt + Enter, Anda dapat membuat pengganti.







Mengonfigurasi inspeksi pra-komit



Sekarang Anda dapat memilih profil inspeksi yang akan digunakan untuk menganalisis kode Anda sebelum menggunakan Git.



Klik ikon roda gigi, centang kotak Analisis kode , klik Konfigurasi dan pilih profil yang diinginkan.







Anda dapat membuat profil Anda sendiri di Pengaturan / Preferensi | Editor | Inspeksi .



Lain



Ruang lingkup buatan untuk refactoring



Siklus foreach



, for



, while



dan blok catch



di PHP tidak terisolasi lingkup. Ini agak merepotkan ketika Anda mengganti nama variabel, karena itu juga mengganti nama variabel di luar blok yang diinginkan.



Di PhpStorm 2021.1, kami menambahkan cakupan buatan untuk semua blok tersebut. Sekarang, saat memanggil Rename refactoring (Shift + F6), mengganti nama akan lebih intuitif.









Meningkatkan injeksi lidah otomatis



Versi PhpStorm sebelumnya hanya dapat menentukan bahasa untuk argumen. Misalnya, jika Anda meneruskan string ke suatu fungsi preg_*



, itu disorot sebagai ekspresi reguler.



Tetapi jika Anda menggunakan variabel, maka nilainya tidak disorot dengan cara apa pun.



PhpStorm 2021.1 menganalisis penggunaan variabel dan dapat secara otomatis mengimplementasikan sintaks yang diinginkan.









Menggunakan ekstensi dari blok `sarankan` di composer.json



Basis kode dapat berisi kelas-kelas dari ekstensi PHP. Sejauh ini PhpStorm telah memeriksa apakah ekstensi ini ditambahkan ke bagian require



dalam file composer.json



.



PhpStorm 2021.1 memperhitungkan spesifikasi ekstensi tidak hanya di bagian `memerlukan`, tetapi juga di bagian` saran`.



Lebih penting lagi, PhpStorm sekarang memperingatkan jika ekstensi telah ditambahkan ke suggest



dalam composer.json



, tetapi digunakan tanpa pemeriksaan tipe extension_loaded()



atau function_exists()



.



Perbaikan cepat khusus akan memungkinkan Anda menambahkan ekstensi ke require/require-dev.











Perbaikan penting



Kami telah memperbaiki lebih dari 2400 tiket yang dibuka oleh pengguna kami dan tim JetBrains di pelacak PhpStorm. Beberapa yang paling menarik adalah:

  • WSL 2 Docker (WI-53396).

  • Quality tools docker-compose exec- (WI-55840).

  • PHP (5000 ) (WI-31569).

  • (WI-58306).





Code With Me



Code With Me adalah pengembangan kolaboratif baru dan alat pemrograman pasangan JetBrains. Kami awalnya memperkenalkannya di PhpStorm 2020.3. Alat ini telah banyak ditingkatkan dalam rilis ini.







Pertama, menjadi mungkin untuk mengatur hak akses secara fleksibel untuk kaki tangan.



Kedua, sekarang para tamu bahkan tidak perlu menginstal IDE - cukup jalankan perintah konsol, dan klien gratis akan diunduh secara otomatis.



Ketiga, panggilan suara dan video built-in, serta messenger telah ditambahkan.



Tim Perusahaan dan tim keamanan lainnya sekarang dapat menjalankan server Kode Dengan Saya di jaringan pribadi.



Baca lebih lanjut tentang Kode Dengan Saya di situs web JetBrains .



IDE



Memperluas Tab dalam Mode Split



Anda dapat membuka banyak tab secara bersamaan dalam mode Split hanya dengan menyeret tab ke sudut layar yang diinginkan.



Anda sekarang juga dapat mengklik dua kali pada tab untuk meluaskannya sepenuhnya. Anda juga dapat mengembalikan tab ke keadaan sebelumnya dengan mengklik dua kali.









Dukungan JSONPath



Sekarang Anda dapat menggunakan kueri JSONPath untuk mencari dokumen JSON yang besar dengan cepat. Fitur tersebut tersedia di bagian Sunting | Temukan | Evaluasi JSONPath .









Dukungan JSON Lines



PhpStorm sekarang mendukung format JSON Lines untuk bekerja dengan data dan log terstruktur. IDE mengenali file .jsonl , .jslines , .ldjson, dan .ndjson .









Pengaturan tipografi



Anda dapat memvariasikan font utama dan font fallback. Pilihan baru tersedia di Pengaturan Tipografi di Pengaturan / Preferensi | Editor | Font .







Buruh pelabuhan



Penyelesaian nama image di Dockerfile



Mulailah mengetik nama gambar dan PhpStorm akan menawarkan Anda daftar gambar yang tersedia di Docker Hub:







Lipat dalam Dockerfiles multistage



Saat menggunakan beberapa bagian dalam Dockerfile, FROM



Anda dapat menciutkan salah satunya dan mereka akan dipisahkan oleh sebuah baris agar lebih mudah dibaca.







Batalkan pengoperasian Docker



Anda dapat dengan mudah menghentikan eksekusi Dockerfile yang sedang berjalan dari jendela Services . Pilih Stop Deploy dari menu konteks untuk item yang diluncurkan.





Perbaikan untuk permintaan pull GitHub



Untuk membuat rekvest pool, cukup klik "+" di jendela Pull Requests atau buka Git | GitHub | Buat Permintaan Tarik .



Dalam dialog yang diperbarui, Anda dapat:

  • Pilih cabang dasar dan kepala dari daftar cabang yang tersedia.

  • Lihat file yang diubah di tab File.

  • Edit nama dan deskripsi pull request, tetapkan reviewer dan performer, tambahkan tag.

  • Buat draf permintaan tarik.









PhpStorm 2021.1 juga mendukung template permintaan pull. Tambahkan file pull_requst_template.md



ke proyek dan tentukan teks template di dalamnya - dan setiap kali Anda membuat permintaan tarik baru, deskripsi ini akan diisi secara otomatis.



Dukungan template untuk Git commit



PhpStorm sekarang menghormati template yang ditentukan dalam parameter commit.template



konfigurasi Git Anda saat membuat pesan komit .



Klien HTTP



Dukungan SSL



Sekarang Anda dapat menentukan pengaturan SSL di klien HTTP. Klik tombol Tambahkan file lingkungan dan pilih Pribadi . File akan dibuat di mana Anda dapat menentukan pengaturan SSL: clientCertificate



, hasCertificatePassphrase



, clientCertificateKey



, verifyHostCertificate



.









Peningkatan untuk OpenAPI / Swagger



PhpStorm memiliki dukungan untuk spesifikasi OpenAPI dan UI Swagger bawaan.



Sekarang Swagger UI mendukung spesifikasi dengan file eksternal yang terhubung melalui $ref



.







Alat DB





PhpStorm menyertakan kemampuan DataGrip bawaan : antarmuka perizinan , Templat kontekstual Template Langsung, navigasi yang disederhanakan, dan banyak lagi. Baca selengkapnya tentang fitur-fitur ini di ikhtisar rilis DataGrip 2021.1 dari rekan kami.



Web





Dan seperti biasa, PhpStorm menyertakan semua pembaruan dari WebStorm 2021.1 : pelengkapan otomatis yang lebih cerdas untuk JavaScript dan TypeScript, dukungan Stylelint yang diperluas, dan banyak lagi.






Dan berikut adalah video (dalam bahasa Inggris), di mana kami mendemonstrasikan fitur-fitur utama dari rilis ini:





Itu saja untuk saat ini. Kami akan dengan senang hati menerima umpan balik Anda - pertanyaan, keinginan, laporan bug, dan hanya pemikiran. Tinggalkan di kolom komentar di bawah.



All Articles