Passer de Sublime Text à Atom pour développer en Python

Posté le 17/10/2015 dans Python

Pelican
"Sublime Text, c'est vraiment pas mal mais bon, c'est pas libre."
"Eclipse, c'est lourd, trop lourd."
"Vim, j'ai pas le temps de m'y investir."
"Emacs, j'y comprends rien."
"Pycharm, ce n'est qu'à moitié gratuit."
"Atom, y paraît que c'est buggé et lent."

Bon, je vois que tu es un difficile concernant le choix de ton éditeur de code, et tu as bien raison ! Je t'arrêtes tout de suite en ce qui concerne Atom. Pour les autres, je ne vais pas rentrer dans le troll!

"C'était" buggé et lent, mais ça ne l'est plus depuis la sortie de la version stable 1.0 cet été. La version actuelle (1.0.19) marche plutôt bien et est enfin devenue une alternative viable à Sublime Text.

Comme ST, tu vas pouvoir bénificier:

  • des curseurs multiples.
  • de la palette de commandes via ctrl+shift+p.
  • de la recherche de fichiers via ctrl+p.
  • d'une intégration Git très poussée.
  • d'une vue permettant de parcourir tes fichiers.
  • d'onglets, de panels.
  • de la coloration syntaxique, de la complétion.
  • d'une tonnes de plugins.

Il n'y a évidemment pas encore autant de plugins que pour ST, mais ça vient comme tu peux le voir ici.

Convaincu ? Prêt pour l'installation ? C'est parti.

Installe-le tout d'abord via les paquets proposés sur le site officiel.

Avant de l'exécuter, on va installer une série de plugins qui va te permettre de développer dans de bonnes conditions. Ces plugins vont être:

  • minimap, qui est un aperçu du code sous forme de minimap à la manière de ST.
  • autocomplete-paths, qui permet d'activer la complétion des chemins des dossiers et fichiers de ton système.
  • autocomplete-python, qui est le plugin le plus fiable pour la complétion Python, basé sur jedi. Pour activer la complétion des librairies présentes dans ton virtualenv, il suffit de lancer atom depuis ton virtualenv.
  • linter, qui permet de visualiser les erreurs de syntaxe de nombreux langages.
  • linter-flake8 comme linter python. On aurait pu en utiliser un autre, comme linter-pylint, mais je le trouve trop verbeux.
  • emmet pour le développement HTML et CSS.
  • git-plus, qui permet d'utiliser toutes les commandes git depuis Atom.
  • merge-conflicts, qui est un bon helper lors des git merge.
  • travis-ci-status, pour afficher le status de travis dans la barre de status d'Atom.
  • monokai, pour obtenir un thème proche de ST.
  • pigments, pour afficher les couleurs dans les fichiers CSS, LESS et autres.
  • color-picker, pour choisir une couleur HTML via ctrl+alt+c.
  • highlight-selected, qui, lors du double-clique sur un mot, met en surbrillance tous les mots correspondants, comme ST.
  • atom-beautify, qui permet d'indenter automatiquement le code de nombreux langages pour améliorer la lisibilité.
  • language-restructuredtext, qui active la coloration syntaxique des fichiers .rst.

Il en existe d'autres qui pourrait t'intéresser, comme vim-mode, terminal-plus, ou encore project-manager, à toi de faire ton marché!

Atom propose un outil en ligne de commande, apm, qui permet d'installer des plugins sans passer par le menu Settings d'Atom. On installe donc les plugins:

apm install minimap
apm install autocomplete-paths
pip install jedi
apm install autocomplete-python
apm install linter
pip install flake8
apm install linter-flake8
apm install emmet
apm install git-plus
apm install merge-conflicts
apm install travis-ci-status
apm install monokai
apm install pigments
apm install color-picker
apm install highlight-selected
apm install atom-beautify
apm install language-restructuredtext

Tu peux maintenant lancer Atom via la commande:

atom

On commence par définir la tabulation comme étant 4 espaces pour être compatible pep8 dans Edit->Preferences->Settings:

Tab Length
4

Puis on active le thème Monokai installé précédemment via Edit->Preferences->Theme:

Syntax Theme
Monokai

Et c'est fini! Tout est prêt pour commencer le développement de tes applications Python et Django.

Tu peux alors créer tes propres snippets en éditant le fichier snippets.cson du répertoire ~/.atom de cette manière par exemple:

'.source.js':
  'console.log':
    'prefix': 'log'
    'body': 'console.log(${1:"crash"});$2'

Utilise alt+shift+s pour rechercher tes snippets.

Enfin tu vas également pouvoir sauvegarder ta configuration sur Github de cette manière par exemple.