Tehnologija Vodič

Najbolje VSCode ekstenzije za Laravel

laravel ekstenzije

Visual Studio Code je danas jedan od najpopularnijih editora za programere, ali kada radite na ozbiljnim projektima, posebno u Laravelu, osnovne funkcije često nisu dovoljne. Ako ste do sada koristili PHPStorm, prelazak na VSCode može izgledati kao korak unazad, jer mnoge stvari koje su u PHPStorm-u podrazumevane, u VSCode-u morate dodati ručno.

Dobra vest je da to možete uraditi vrlo lako, uz pomoć nekoliko dobro odabranih ekstenzija.

U nastavku su najkorisnije VSCode ekstenzije za Laravel koje će vam olakšati svakodnevni rad, ubrzati pisanje koda i učiniti da se osećate kao da koristite pravi IDE.

Official Laravel Extension

Prva stvar koju treba da instalirate je zvanična Laravel ekstenzija. Ona donosi sve ono što je potrebno da Blade fajlovi izgledaju uredno i pregledno. Ako radite u Laravelu bez ove ekstenzije, Blade direktive kao što su @if, @foreach, @section ili @csrf izgledaju kao običan tekst. Kada je instalirate, sve postaje čitljivije jer dobijate sintaksno obeležavanje, što znači da se važni delovi koda ističu bojama.

Osim toga, ova ekstenzija dodaje i auto-kompletiranje. To znači da dok pišete rute, view fajlove ili konfiguracione ključeve, VSCode će vam predlagati ispravne vrednosti na osnovu strukture vašeg projekta.

Na primer:

// Dok kucate:

route('

// IntelliSense prikazuje predloge:

dashboard, profile.edit, users.index

Isto važi i za view fajlove. Ne morate da pamtite svaki naziv, dovoljno je da počnete da kucate i editor će ponuditi prave opcije.

Još jedna korisna stvar je brza navigacija. Klikom na naziv rute ili view fajla možete odmah otvoriti odgovarajući fajl, bez ručnog pretraživanja. Ekstenzija podržava i rad sa Blade komponentama, pa možete brzo otići i na definiciju komponente iz šablona.

Takođe, ova ekstenzija razume strukturu Laravel projekta i zna gde se nalaze konfiguracije, pa vam omogućava da jednim klikom otvorite tačne fajlove kada radite sa config() funkcijom.

U praksi, ova ekstenzija vam štedi mnogo vremena, posebno kada radite na projektu koji ima puno ruta, view-ova i konfiguracionih fajlova.

PHP Intelephense

Bez Intelephense-a, VSCode je samo napredni tekstualni editor. Sa njim se pretvara u vrlo ozbiljan alat koji prepoznaje strukturu vašeg koda i pomaže vam dok ga pišete. Kao što znate, Laravel aplikacije se oslanjaju na mnogo klasa i metoda, a Intelephense prati sve te veze i daje vam tačne predloge.

Na primer, kada otkucate:

$user = Auth::user();

$user->

// IntelliSense prikazuje:

name, email, save(), delete()

Ako niste sigurni šta neka metoda radi, dovoljno je da pređete mišem i pojaviće se mali prozor sa informacijama: potpis funkcije, tip povratne vrednosti i parametri.

Takođe, možete brzo otići na definiciju metode, pronaći gde se koristi ili čak preimenovati metodu i Intelephense će ažurirati sve reference u projektu. Podržava i pregled svih referenci, što znači da jednim klikom vidite na kojim mestima se neka funkcija koristi.

Još jedna prednost je to što prati standarde i upozorava na deprecated (zastarele) funkcije, greške u tipovima i nedoslednosti u namespace-u. To pomaže u održavanju koda čistim i kompatibilnim sa novim verzijama PHP-a. Intelephense koristi indeksiranje projektnog koda kako bi predlozi bili brzi i precizni, a dodatna podešavanja omogućavaju vam da isključite nepotrebne analize za bolje performanse.

Pored toga, stalno prati da li u kodu ima sintaksnih grešaka i upozorava vas dok pišete, što smanjuje šansu da propustite neki sitan, ali važan detalj.

Laravel Pint

Svaki tim, a i svaki programer koji drži do kvaliteta koda, zna koliko je važno da kod bude uredan i ujednačen. Laravel Pint je zvanični alat za formatiranje koda prema Laravel standardima. Umesto da ručno sređujete razmake i uvlačenja, Pint sve radi za vas.

Ova ekstenzija omogućava da Pint pokrenete direktno iz VSCode-a, bez otvaranja terminala. Možete formatirati jedan fajl ili ceo projekat jednim klikom ili komandom.

Primer pre i posle Pint formatiranja:

Pre:

public function index( )   {return view('home');}

Posle:

public function index()

{

    return view('home');

}

Još bolje, možete uključiti opciju da se kod automatski formatira svaki put kada sačuvate fajl, pa ne morate uopšte razmišljati o tome.

Pint koristi PSR-12 standarde kao osnovu, što znači da je kod uvek u skladu sa najboljim praksama. Ako želite prilagođena pravila, možete ih definisati u pint.json fajlu. Pint se može povezati i sa Git hook-ovima, pa se kod formatira automatski pre svakog commit-a, čime se osigurava da u repozitorijum uvek ide konzistentan kod.

Ovo je važno zato što štedi vreme i čini kod preglednim, posebno ako radite u timu. Kada svi koriste ista pravila formatiranja, code review postaje lakši i brži, jer se fokusirate na logiku, a ne na sitnice u stilu pisanja.

PHP by DEVSENSE

Ako želite iskustvo slično PHPStorm-u, ova ekstenzija će vam biti omiljena. Donosi stvari koje uobičajeno ne očekujete u besplatnom editoru, poput integrisanog debugovanja i napredne analize koda.

Recimo da želite da pratite kako vaš kod radi, liniju po liniju. Sa ovom ekstenzijom i Xdebug-om možete postaviti breakpoint-e i videti vrednosti promenljivih dok se skripta izvršava. To je ogromna prednost kada tražite kompleksne greške.

Osim toga, nudi i automatsko generisanje dokumentacionih komentara. Dovoljno je da iznad funkcije otkucate /** i ona će popuniti osnovne informacije.

Primer automatskog DocBlock-a:

/**

 * @param \Illuminate\Http\Request $request

 * @return \Illuminate\Http\Response

 */

public function store(Request $request)

{

    // ...

}

Ova ekstenzija donosi i Code Lens funkcionalnost, koja vam iznad svake metode prikazuje koliko puta se koristi u projektu. Tu su i predlozi za optimizaciju koda, poput uklanjanja suvišnih use linija ili skraćivanja izraza. Ako želite da debugujete složene API-je, radite testove ili tražite način da kod učinite čitljivijim, ovo je ekstenzija koja najviše podseća na ono što nudi PHPStorm.

Laravel Extra IntelliSense

Jedna od stvari koje najviše usporavaju rad u Laravelu je stalno otvaranje dodatnih fajlova da biste proverili kako se zove neka ruta ili koji je tačan naziv Blade fajla. Ova ekstenzija rešava taj problem jer dodaje pametno auto-kompletiranje za Laravel specifične funkcije.

Na primer:

route('

// IntelliSense predlaže:

dashboard, profile.edit, users.index

Isto važi i za view fajlove:

view('dashboard') // editor nudi sve dostupne view fajlove

Za konfiguracije:

config('mail.')

// pojaviće se opcije:

mail.mailers.smtp.host

Ekstenzija takođe prepoznaje prevode u resources/lang fajlovima i daje predloge za __('') funkciju. Pored toga, može prikazati i koji parametri su potrebni za određene rute, što je korisno kada radite sa dinamičkim URL-ovima.

Laravel Blade Snippets & Laravel Snippets

Ako često radite u Blade fajlovima, znate koliko može biti zamorno stalno kucati iste direktive iznova i iznova. Ova ekstenzija rešava taj problem dodavanjem gotovih snippeta.

Primer:

// Otkucate:

b:for

// Rezultat:

@foreach ($items as $item)

    //

@endforeach

Snippeti postoje za sve najčešće direktive, poput @if, @auth, @guest, @section i druge. Postoje i prečice za formu, CSRF token i druge elemente koje stalno koristite. Snippeti rade i u kombinaciji sa inline Blade kodom u PHP fajlovima, što znači da ubrzavaju i složenije zadatke.

Laravel Artisan

Artisan komande su nešto što stalno koristite kada radite u Laravelu , bilo da pravite migraciju, generišete kontroler ili čistite keš. Umesto da stalno otvarate terminal, ova ekstenzija omogućava da sve to uradite direktno iz VSCode-a.

Primer:
Umesto da u terminalu kucate:

php artisan make:model Product -m

možete otvoriti Command Palette u VSCode-u i pokrenuti komandu jednim klikom. Izlaz se prikazuje u panelu editora, bez prebacivanja prozora.

Ova ekstenzija podržava i komande poput migrate, db:seed, route:list i mnoge druge. Output je pregledan i integrisan u editor, pa imate osećaj da sve radite na jednom mestu.

Zaključak

Sve ekstenzije koje smo vam predstavili u ovom tekstu zajedno pretvaraju VSCode u ozbiljno razvojno okruženje za Laravel. Ako do sada niste koristili ove alate, naša je topla preporuka da ih isporobate. Bićete brži, praviti manje grešaka i pisaćete čistiji i uredniji kod, a to je dobar i siguran put za svakog uspešnog programera.

Ostavi komentar

Vaša adresa neće biti objavljena