Muhammad Amirul Ihsan
Muhammad Amirul Ihsan Fullstack Developer, Content Creator, suka berbagi pengalaman / pengetahuan lewat tulisan maupun video di kawankoding.com

Extension VSCode Untuk Laravel

Kamis, 1 Juni 2023
Extension VSCode Untuk Laravel

Hai kawan semua, pada tulisan ini saya mau berbagi extension yang saya gunakan di VSCode untuk ngoding Laravel saat ini. Hampir semua ekstensi ini gratis, ada yang berbayar tapi juga bisa tetap berfungsi walaupun pakai versi gratisnya.

Dengan ekstensi VSCode ini saya merasa sangat terbantu sekali saat ngoding Laravel menggunakan VSCode, jadi berikut ini Extension VSCode untuk Laravel pilihan saya.

PHP Intelephense

Pertama kali dan yang wajib diinstal adalah e yang ekstensi memahami bahasa pemrograman dari Laravel dulu, yaitu PHP. PHP Intelephense ini sebuah PHP language server dengan performa tinggi untuk produktivitas development PHP.

Fitur yang tersedia dari ekstensi ini antara lain adaalah Code Completion (Intellisense), Go to Definition, Find All References, Go to Definition, Symbol Search, Document Formatting dll.

Laravel Intellisense

Extension Laravel Intellisenses ini wajib diinstal setelah PHP Intelephense, dimana ekstensi ini akan memberikan bantuan autocomplete untuk nama nama kolom dari tabel database. Autocomplete nama kolomnya berjalan untuk Eloquent, Resource, Factory enak banget mengurangi pekerjaan mengingat nama nama kolom tabel.

Selain itu ekstensi ini juga memberikan autocomplet untuk View, Config, Route, Translation, sangat membantu dalam penulisan kode.

Laravel Extra Intellisense

Ekstensi ini sama seperti ekstensi sebelumnya, hanya saja ini akan melengkapi untuk autocomplete seperti Route Names, Views dan Variabel, Validation Rules, Env, Route Middleware, View Sections & Stacks. Sangat berguna mengurangi mengingat validation rules, nama route dll.

Laravel Snippets

Membantu dalam autocomplete dari Laravel Facades, sangat membantu sekali dalam penulisan kode Laravel yang tentunya banyak menggunakan Facades. Beberapa prefix yang didukung antara lain Arr::, Auth::, Cache::, Config::, DB::, Hash::, Mail::, selengkapnya bisa dibaca pada halaman ekstensinya.

Laravel Model Snippets

Tentu saja kita akan sering bekerja dengan model di Laravel, ekstensi ini akan sangat membantu dalam mendefinisikan properti seperti $fillable. $dates, $guarded, $timestamps. Untuk menulis relationship juga akan sangat terbantu dengan ekstensi ini.

Laravel Blade

Ada beberapa pilihan ekstensi untuk autocomplete syntax Laravel Blade, tapi ini yang menurut saya paling oke dan natural. Karena untuk trigger autocomplete menggunakan @ sesuai dengan penulisan syntax Laravel Blade. Ekstensi lain yang lama saya gunakan dulunya menggunakan b: untuk trigger autocomplete.

Konfigurasi tambahan untuk yang ingin menggunakan emmet di dalam file blade .

"emmet.includeLanguages": {
  "blade": "html"
},

Laravel Blade Formatter

Dalam penulisan template atau html seringkali kita secara tidak sadar membiarkan format codenya berantakan, tidak rapi, kurang enak dipandang. Ekstensi ini membantu kita untuk memformat file berekstensi .blade.php supaya bisa rapi.

Untuk memformat dokumen bisa gunakan ctrl + shift + p lalu cari Blade : Format Document . Untuk memformat file ketika disimpan / save bisa tambahkan konfigurasi ini.

"editor.formatOnSave": true,
"[blade]": {
        "editor.defaultFormatter": "shufo.vscode-blade-formatter"
    },

Laravel Create View

Setelah menjadikan PHPStorm + Laravel Idea sebagai teman ngoding, saya menemukan satu workflow yang cukup efisien dan cepat dalam pembuatan file blade. Nah waktu iseng iseng cari ekstensi serupa di VSCode ternyata ada dan berfungsi mirip dengan yang ada di Laravel Idea. Kalian wajib juga instal ini sih.

Membuat File Views dengan Command Pallete

Untuk membuat file views bisa menggunakan ctrl+shift+p cari Laravel Create View kemudian ketik nama viewnya, contoh : students.show .

Membuat File Dari Controller

image-20230601110441547

Tulis nama view pada return view(), jika belum punya filenya, block saja nama di dalam view() kemudian nanti muncul ikon lampu, klik dan buat file viewnya.

Laravel goto View

Ekstensi ini berguna untuk mempercepat akses menuju file view dari controller, route ataupun view lainnya. Penggunaanya juga mudah cukup dengan cmd + click di macOS atau ctrl + click di Windows / Linux.

Laravel goto Controller

Mirip dengan ekstensi sebelumnya, hanya saja ekstensi yang satu ini digunakan untuk mempercepat akses ke Controller.

Laravel goto Components

Masih sama dengan dua ekstensi sebelumnya, hanya saja ini berguna ketika kita banyak bekerja dengan Blade Components, membantu sekali ketika kita ingin melihat atau mengubah isi dari sebuah file Blade Component.

Mungkin cukup itu saja beberapa Extension VSCode untuk Laravel yang sangat berguna dan saya rekomendasikan untuk para programmer yang ngoding Laravel. Kalian ada rekomendasi lainnya ?