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
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.