ubuntu 16.04.2, symfony2, chromium et sublime text

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.

ubuntu 16.04.2, symfony2, chromium et sublime text

Messagede le Manchot Masqué » Mer 05 Juil 2017, 00:38

Bon, ce qui va suivre concerne clairement les développeurs PHP.
Symfony2 est un framework PHP bien connu, et sublime text un éditeur malheureusement non libre et payant, mais qui fait son boulot parmi d'autres (chacun ses goûts).
Le but est le suivant : ouvrir directement les fichiers en erreur quand on est sous chromium et qu'on a un plantage dans la console SF2. Pour cela, on va "apprendre" au navigateur à gérer un nouveau protocole de type "subl://URL".

Cet article est honteusement pompé sur https://stackoverflow.com/questions/146 ... for-ubuntu, mais j'ai quand même du adapter les choses un tantinet :

Phase 1 : on créé /usr/share/applications/sublime-handler.desktop
Code: Select All Code
[Desktop Entry]
Name=Sublime Text 2 URL Handler
GenericName=Text Editor
Comment=Handle URL Scheme subl://
Exec=/usr/local/bin/sublime-handler %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/subl;
Icon=sublime-text-2
Categories=TextEditor;Development;Utility;
Name[en_US]=Sublime Text 2 URL Handler


Phase 2 : on met à jour la base
Code: Select All Code
update-desktop-database


Phase 3 : on créé /usr/local/bin/sublime-handler
Code: Select All Code
!/usr/bin/env bash

request=${1:23}               # Delete the first 23 characters
request=${request//%2F//}     # Replace %2F with /
request=${request/&line=/:}   # Replace &line= with :
request=${request/&column=/:} # Replace &column= with :
subl $request       # Launch Sublime Text


EN N'OUBLIANT PAS DE FAIRE LE
Code: Select All Code
$ chmod +x /usr/local/bin/sublime-handler


On peut ensuite tester en console pour voir si ça marche avec une commande du type :

Code: Select All Code
xdg-open "subl://open?url=file:///home/toto/$mon_projet_sf/src/AppBundle/Controller/DefaultController.php&line=18"


En fait, chromium n'apprend pas réellement à gérer le protocole "subl://" : il appelle simplement xdg-open pour le prendre en charge, et les fichiers que nous avons créés ci-dessus servent à implémenter ce protocole inconnu pour xdg-open.

Au final, le développeur arrive directement sur le fichier en erreur, avec un gain de temps fort appréciable, ce qui est le but recherché...

Dernier détail, mais de taille : ne pas oublier de rajouter la ligne 'ide' dans le fichier app/config/config.yml :
Code: Select All Code
framework:
    ide: 'sublime'
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
 
Messages: 314
Inscription: Lun 26 Mai 2008, 21:05
Localisation: Guebwiller
Distribution: Debian, Ubuntu
Niveau: Moitié plein !

Retourner vers Sur un logiciel

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron