Sublime Text: Een Lichtgewicht Alternatief voor IDE's

Sublime text: een lichtgewicht alternatief voor ide's

Ik heb besloten om weer te beginnen met bloggen en dieper in te gaan op de geheimen van CakePHP. Veel is er veranderd sinds mijn laatste post over CakePHP. Er is een volledig nieuwe versie 2.0 verschenen, evenals latere versies 2.1 en 2.2. In de tussentijd heb ik verschillende websites/applicaties gemaakt, waaronder enkele die draaien op CakePHP 2.x, en een website geüpdatet van CakePHP 1.3 naar 2.0. Momenteel ben ik bezig met het herschrijven van deze site naar CakePHP versie 2.2.3. Helaas hebben de scripts om automatisch een applicatie van versie 1.3 naar 2.0 te converteren, in mijn geval niet gewerkt.

Waarom een nieuwe editor?

Ik heb lange tijd met Netbeans gewerkt. Echter, de omgeving wordt steeds trager en minder responsief, met verschillende problemen die een herstart vereisen. Daarom besloot ik iets nieuws uit te proberen. Ik was op zoek naar een lichte omgeving die CakePHP ondersteunt. Redelijk snel stuitte ik op een recente post op mijn favoriete CakePHP blog, getiteld 'IDE’s zijn verleden tijd, en ST is er om de dag te redden'. Mijn eerste gedachte was: ik open mijn geïnstalleerde Notepad++ en vraag me af wat me nog ontbreekt voor volledige geluk: FTP-synchronisatie, projectoverzicht en code-aanvulling.

Eerste indrukken van sublime text

Het bleek dat Sublime Text (ST) mijn verwachtingen ruimschoots overtrof. De applicatie start direct, in tegenstelling tot Netbeans waar je soms lang moet wachten. ST heeft een elegante en minimalistische interface. Het blijkt dat het alles te bevatten wat ik nodig heb. Een van de beste functies is 'Goto anything'. Het werkt veel beter dan je zou verwachten! In enkele seconden kun je naar een specifiek bestand op een specifieke plek navigeren – of het nu een functie of een regel is. Ik heb nog niet zoiets in een IDE of teksteditor gezien. Echt fantastisch!

Projectstructuur en package control

Mijn eerste actie is het aanmaken van een nieuw project in de code-directory van mijn site. In essentie wordt het hele scherm gevuld met code, en het enige wat zichtbaar is buiten de code is een zijbalk met een boomstructuur van het projectoverzicht. De eerste stap naar het configureren van ST naar mijn wensen was het installeren van Sublime Package Control. Dit is een plugin om andere plugins te beheren – nieuwe installeren, updaten en verwijderen. Het is handig dat de plugin automatisch geïnstalleerde plugins bijwerkt. Alles wordt beheerd via het menu Preferences -> Package Control.

Belangrijke plugins

De tweede plugin die ik installeerde was Sublime SFTP. Deze doet wat er van hem verwacht wordt: na configuratie uploadt ST automatisch de gewijzigde bestanden naar de aangegeven locatie. De configuratie gebeurt uiteraard via een tekstbestand in JSON-formaat. Ik vind dit concept geweldig; alles is gemakkelijk toegankelijk, niets valt buiten de aandacht. Andere aanbevolen plugins zijn: Search CakePHP API (om de CakePHP API te doorzoeken), Search CakePHP Book (voor het zoeken in de Cook Book), SideBarEnhancements (om nieuwe bestanden en mappen te maken) en BrowserRefresh (om automatisch een bestand op te slaan, de actieve tab in de browser te vernieuwen en de browser naar de voorgrond te brengen).

Snippets en toekomstige uitbreidingen

Er is een enorme lijst met plugins voor Sublime Text beschikbaar. Ik ben van plan om binnenkort nog een paar nieuwe plugins uit te proberen, maar ik wil niet overdrijven. De soepelheid waarmee ST draait, is zijn grootste voordeel, en dat wil ik niet verliezen. Ik raad ook aan om een video-tutorial over ST en de documentatie te bekijken. Een belangrijk punt dat ik heb gemist zijn de zogenaamde Snippets. Ik heb er nog niet veel mee kunnen experimenteren, maar het is een zeer nuttige functionaliteit die veel tijd kan besparen tijdens het ontwikkelen van projecten – binnenkort volgt zeker een post hierover.

De tijd die ik had ingepland om de functionaliteit van de site te verbeteren, werd besteed aan het experimenteren met Sublime Text, maar het was zeker geen verloren tijd.