Android Studio l’IDE, qu’il vous faut
Android Studio est un environnement de développement (ou IDE) conçu pour programmer des applications mobiles Android. Il est basé sur IntelliJ IDEA de JetBrains et utilise le moteur de production Gradle. Il peut être téléchargé sous les systèmes d’exploitation Windows, macOS et Linux. Il a été mis à disposition par Google durant la Google I/O de 2013.
Comme le logiciel est basé sur IntelliJ, on peut utiliser la documentation de référence de ce dernier. On y retrouve la plupart des raccourcis claviers les plus utiles. Afin de vous éviter la lecture du document qui bien que complète est rébarbatif, je vous propose de vous faire un résumé de tout ça !
Préférences et gestion des fenêtres
Ouvrir les préférences de l’IDE :
Il est possible de rapidement cacher tous les onglets ouverts pour conserver uniquement l’éditeur de code. On se retrouve ainsi dans un « mode fullscreen ».
Pour switcher facilement entre les différents fichiers ouverts, on peut utiliser le raccourci classique des navigateurs internets :
Passer d’un onglet à un autre :
Il est possible de rapidement changer de vues, voici les plus utiles selon moi :
- La vue projet, elle contient l’arborescence de l’application : Cmd ou Alt + 1
- La vue logcat, permet de débugger son application au besoin: Cmd/Alt + 6
- La vue structure, résume l’ensemble des fonctions ou attributs d’une classe: Cmd/Alt + 7
- La vue VCS, gestion de git: Cmd/Alt + 9
Enfin, l’éditeur peut être sincder verticalement en deux afin de pouvoir observer plusieurs classes en même temps par exemple.
Pour ce faire, il suffit de faire un clic droit sur l’onglet à diviser, puis cliquer sur le bouton « split vertically ». Ce qui nous donne :
Naviguer rapidement dans le code
Ouvrir une classe :
Un fichier :
Ou encore un symbole :
À la manière de sublime text, Android studio permet d’effectuer une recherche partielle, c’est-à-dire que vous allez pouvoir rentrer quelques lettres du nom d’une classe et l’IDE sera quand même capable de vous retrouver la classe associée. Par exemple, si vous aviez une classe nommée ItemDetailFragment, vous allez pouvoir simplement écrire IDF et cela suffira afin de retrouver votre classe.
Il est également possible de se rendre directement à une ligne donnée, pour ce faire, il vous suffit de rajouter lors de la recherche :n, avec n le numéro de ligne désirée. Pour se rendre à la ligne 22 de la classe précédente on pourrait écrire: IDF:22.
Enfin, lorsque vous êtes dans le mode d’ouverture d’un symbole, vous pouvez aller directement à une fonction, il vous suffit de taper le nom de la classe + point + début du nom de la fonction, par exemple : IDF.init
Ouvrir les fichiers modifiés récemment :
Se déplacer entre les différentes méthodes et les classes internes :
Afficher une popup de la structure du fichier courant :
Aller à une classe ou méthode parente :
Suivre une implementation:
Accéder directement à un numéro de ligne dans le fichier courant :
Jouer avec le code
Ajouter les méthodes non implémentées :
Ou à surcharger :
Réindenter le code :
Dupliquer la ligne courante :
Mettre en surbrillance la sélection dans tout le fichier :
Entourer la sélection avec une expression (try&catch, if…) :
Réduire ou étendre une portion de code (shift permet d’étendre à tout le fichier) :
Agrandir/réduire la sélection. Permets d’abord de sélectionner une variable, puis de s’étendre à une ligne, jusqu’à une méthode !
Avoir une définition rapide d’une classe ou méthode :
Vous pouvez avoir en un coup d’oeil, les différents chemins possibles de déclaration et d’invocation d’une méthode:
Il est possible d’extraire un morceau de code directement dans une nouvelle méthode. Une popup apparaitra vous aurez alors le choix de décider de la visibilité de la méthode et des paramètres.
Refactor le nom d’une variable, d’une méthode ou encore d’une classe. Le tout en conservant le contexte de l’application. C’est plus qu’un simple recherche et remplacer.
Enfin, une dernière chose alléchante, c’est le multi-curseur. Pour l’activer, il faut faire : Alt + Shift + Clic gauche souris pour créer un nouveau curseur. Vous n’avez alors plus qu’à taper votre texte et une fois finie de cliquer sur echap, pour revenir à du mono curseur.
Et si on générait du code ?
Il est possible de créer une classe très rapidement avec Android Studio, ce dernier nous permet en effet de générer la plupart des méthodes importantes (constructeur, getter & setter, toString…), en se basant uniquement sur le contexte.
Les lives templates sont des snippets de code qu’on peut appeler grâce à une abréviation ou le fameux raccourci que je vais vous présenter. L’avantage c’est qu’on peut définir ses propres templates, vous pouvez jeter un oeil sur ce tutoriel si ça vous intéresse.
L’IDE propose également de la complétion Postfix. Vous pouvez simplement taper le nom d’une abréviation, puis presser tabulation, pour que le template s’applique. Par exemple, pour un tableau vous pourriez faire ceci :
int[] test = new int[] { 1,2,3 }; test.fori // Après int[] test = new int[] { 1,2,3 }; for (int i = 0; i < test.length; i++) { }
Voici quelques raccourcis intéressants:
- .for (pour une boucle foreach)
- .format (entoure une chaine avec la fonction String.format())
- .cast (type cast)
Actions, du build au remplacement !
Lancer un build :
Builder et lancer l’application :
Rechercher une chaîne de caractères dans le fichier courant :
Dans le projet :
Rechercher et remplacer dans le dossier courant :
Dans le projet entier :
Il est possible d’ouvrir un menu contenant une liste de toutes les actions possibles dans Android Studio, on peut effectuer la recherche par le nom de l’action. Plutôt utile, si on ne connaît pas le raccourci de la fonction désirée.
Raccourcis pour le débogage
Ajouter ou retirer un breakpoint sur la ligne courante :
Évaluer l’expression courante. Cette fonction permet d’inspecter le contenu d’une variable, mais elle permet encore bien plus que cela. Elle peut gérer n’importe quelle expression java valide. On peut ainsi très bien changer l’état d’un objet à la volée :
Android Studio, possède un principe de contexte, accessible depuis le menu Tools > Tasks & Contexts. Grâce à ce dernier, vous allez pouvoir enregistrer un « espace de travail ». Prenons un exemple concret, vous travaillez sur un bug qui dépend de 4, 5 classes, malheureusement vous avez un nouveau ticket qui arrive et qui est prioritaire. Vous allez pouvoir sauvegarder votre contexte actuel, lui donner un nom et plus tard le recharger rapidement.
Sauvegarde du contexte:
Chargement du contexte:
Nettoyer les contextes:
Éditer ou ajouter ses propres raccourcis
Il est possible d’ajouter ou d’éditer des raccourcis clavier. Il suffit d’ouvrir les préférences (cf « Préférences et gestion des fenêtres » ou sinon File > Settings), sélectionner l’onglet Keymap. Chercher l’action que vous souhaitez éditer. Ensuite, clique droit, vous allez alors le choix entre plusieurs actions :
- Créer un nouveau raccourci clavier, il suffit de taper le raccourci voulu et appuyez sur ok
- Ajouter un raccourci à la souris
- Saisir une abréviation pour l’action choisie
- Supprimer simplement le raccourci, cela peut être pratique si un raccourci existant vous gêne et que vous préferiez utiliser le vôtre
Voilà pour le « petit » tour du propriétaire, si certains raccourcis claviers sont erronés ou vous paraissent manquants n’hésitez pas !