code:st3

SublimeText : Le codage Efficace

SublimeText est actuellement l'un des éditeurs les plus prisés du moment. Et pour cause, SublimeText gère une multitude de formats, dispose d'une tonne de fonctionnalités, tout ça en étant simple d'utilisation. Malgré le fait que SublimeText est de base un excellent éditeur, il existe une multitude d'astuces, de shortcuts, et de plugins pour encore le rendre encore plus performant, c'est ce que nous allons voir dans ce post.

Pour fonctionner, la majorité de ces paquets auront besoin de PHP (5.6.* minimum), il est donc indispensable de l'avoir !

Pour les composants plus spécifiques aux plugins, nous verrons cela dans leur section.

En règle général, si X fait une action, MAJ + X fera l'action opposée. Par exemple, Tab indente la ligne, alors que MAJ + Tab “désindentera” la ligne.

Edition
Ctrl + C Copier
Ctrl + V Coller
Ctrl + X Couper
Ctrl + ⇧ + K Supprimer la ligne
Ctrl + ↩ Inserer la ligne d'après
Ctrl + ⇧ + ↩ Inserer la ligne d'avant
Ctrl + ⇧ + ↑ Déplacer la ligne en haut
Ctrl + ⇧ + ↓ Déplacer la ligne en bas
Ctrl + L Select la ligne (Répeter pour sélectionner les lignes suivantes)
Ctrl + D Select le mot (Repeter pour choisir d'autres occurences afin de faire de l'edition multiple)
Ctrl + M Sélectionne le code courant jusqu'à la prochaine accolade, étend la sélection si l'on répète la commande
Ctrl + ⇧ + M select all contents of the current brackets (curly brackets, square brackets, parentheses)
Ctrl + KK Supprimer du curseur jusqu'à la fin de la ligne
Ctrl + K + ⌫ Supprimer du curseur jusqu'au début de la ligne
Indenter la ligne courante ou sélectionnées
Ctrl + ] Indenter la ligne courante ou sélectionnées
Ctrl + [ Désindenter
⇧ + ⇆ Désindenter
Ctrl + ⇧ + D Dupliquer les lignes sélectionnées
Ctrl + J Joindre la ligne d'en dessous à la fin de la ligne courante
Ctrl + / Comment/décommenter la ligne
Ctrl + ⇧ + / Comment/décommenter la sélection
Ctrl + Y Répeter le dernier raccourcis clavier
Ctrl + Space Sélectionner la prochaine suggestion d'autocomplete
Navigation
Ctrl + P Ouverture rapide des fichiers
Ctrl + R Ouverture rapide des fonctions/classes
General
Ctrl + ⇧ + P La commande magique
Ctrl + KB Activer/désactiver la bar latérale
Chercher/Remplacer
Ctrl + F Chercher
Ctrl + H Remplacer
Ctrl + ⇧ + F Chercher dans les fichiers
Tabs
Ctrl + ⇧ + t Ouvrir le dernier onglet
Ctrl + PgDn Onglet suivant
Ctrl + PgUp Onglet précédent
Ctrl + ⇆ Navigation dans les onglets précédents selon l'historique
Fenêtrage
Alt + ⇧ + 2 Partager en 2 colonnes
Alt + ⇧ + 1 Revenir en une seule colonne
Alt + ⇧ + 5 Grille (4 Groupes)
Ctrl + [1,2,3,4] Se déplacer dans les grilles
Favoris
Ctrl + F2 toggle bookmark
F2 Favoris suivant
⇧ + F2 Favoris Précédent
Ctrl + ⇧ + F2 Effacer les favoris
Texte manipulation
Ctrl + KU Passer en majuscule
Ctrl + KL Passer en minuscule
Alignment
Ctrl + Alt + A Aligne les lignes selon un motif
Color Highlighter
CTRL + ⇧ + C Ouvre la palette de couleur
Emmet
CTRL + Alt + ↩ Active l'autocomplétion Emmet
Gist
CTRL + KO Lister ses Gists
CTRL + KP Faire un Gist Private
CTRL + KI Faire un Gist Public
CTRL + KS Update un Gist
SFTP
CTRL + Alt + RB Parcourir les serveurs
CTRL + Alt + UI Différence entre le fichier distant et local
Code Formatter
CTRL + Alt + F Refactor le code

De base, comme toute application, sublime texte dispose d'une seule fenêtre principale, puis nous pouvons faire différents découpages :

La configuration de base de SublimeText est déjà excellente, mais il y a certaines options qui mériteraient d'être activées par défaut, mais qui ne le sont pas.

Les modifications que nous allons faire (Et même celles pour les plugins) n'affectent par la configuration par défaut, ce qui nous permet de toujours avoir de vue les options par défaut si nécéssaire.

L'écriture des fichiers de configuration se fait en JSON, et est donc facilement compréhensible.

Voici mon fichier de configuration Sublime Text :

{
    "always_show_minimap_viewport": true,
    "bold_folder_labels": true,
    "indent_guide_options":
    [
	    "draw_normal",
	    "draw_active"
    ],
    "ignored_packages":
    [
      "Vintage"
    ],
    "line_padding_bottom": 3,
    "line_padding_top": 3,
    "overlay_scroll_bars": "enabled",
    "save_on_focus_lost": true,
    "highlight_line": true,
    "default_line_ending": "unix",
    "shift_tab_unindent": true,
    "show_encoding": true,
    "translate_tabs_to_spaces": true,
    "highlight_modified_tabs": true,
    "file_exclude_patterns":
    [
        ".DS_Store",
        "*.lib",
        "*.log"
    ],
    "folder_exclude_patterns":
    [
        ".git",
        ".bundle",
        ".sass-cache",
        ".svn",
        ".hg"
    ],
}

Nous allons décrire chaque ligne :

  • always_show_minimap_viewport : Converse une vue sur la minimap d'où l'on se situe dans le fichier, utile selon moi
  • bold_folder_labels : Permet de mettre en gras les dossiers dans la sidebar lors d'un projet
  • indent_guide_options : Permet une indentation plus aisée, en affichant une grille d'indentation, indispensable
  • ignored_packages : Désactive des packages (Il est impératif de désactiver le package Vintage pour ne pas se retrouver avec un mode vi)
  • line_padding_bottom et line_padding_bottom : Permet une mise en forme plus aisée de SublimeText, nos yeux nous disent merci. La valeur 4 est également agréable, mais le padding est trop important
  • overlay_scroll_bars : Désactive l'affichage automatique des bars de scroll (Qui ne sont pas utiles)
  • save_on_focus_lost : L'option la plus utile de SublimeText, elle permet de sauvegarder automatiquement les onglets lorsque SublimeText n'est plus la fenêtre active, indispensable
  • highlight_line : Surligne la ligne où l'on se trouve, assez pratique pour ne pas être perdu
  • default_line_ending : Afin de suivre le standard, nous devons passer à un Line Ending format UNIX
  • shift_tab_unindent : Autre option assez pratique, elle nous permet de se situer n'importe où dans la ligne pour défaire l'indentation, et non plus seulement au début de la ligne
  • show_encoding : Affiche l'encodage actuel du fichier, pratique pour vérifier si l'on est en UTF-8
  • translate_tabs_to_spaces : Convertit les tabs en espace. Peut être utile afin de s'assurer que notre tabsize sera identique de partout
  • file_exclude_patterns et folder_exclude_patterns : Permet d'exclure des fichiers de la sidebar. Un grand nombre d'éléments sont ignorés par défaut, mais cependant, il en manque certains

Pour correspondre parfaitement au PSR, je vous indique à aller voir le post de ce monsieur, ainsi que les liens officiels des PSR :

De base, je trouve le thème de SublimeText tout simplement affreux, c'est pour cela que j'ai sélectionné 2 thèmes que je juge superbes.

Material Theme est un thème se basant sur le Material Design, règles développées par Google et très à la vogue en ce moment. Le Material Theme se décompose en plusieurs teintes :

  • Normal qui est le thème de base
  • Darker le thème plus foncé
  • Lighter le thème plus clair

Le dépot Github inclut également des colorations syntaxiques additionnelles :

  • OceanicNext
  • OceanicNext Darker

Voici le thème :

Comme vous pouvez le voir, le thème Material Theme ainsi que Material Theme Darker sont agréables et reposant, contrairement au thème Material Theme Lighter qui est tout simplement un suicide visuel.

Voici les différents paramètres pour les différents thèmes :

  • Sublime Material Lighter

"theme": "Material-Theme-Lighter.sublime-theme",
"color_scheme": "Packages/Material Theme/schemes/Material-Theme-Lighter.tmTheme",

  • Sublime Material

"theme": "Material-Theme.sublime-theme",
"color_scheme": "Packages/Material Theme/schemes/Material-Theme.tmTheme",

  • Sublime Material Darker

"theme": "Material-Theme-Darker.sublime-theme",
"color_scheme": "Packages/Material Theme/schemes/Material-Theme-Darker.tmTheme",

En plus du thème “basique”, Material Theme dispose d'une Appbar : Material Theme Appabar, celle-ci completera votre thème avec une couleur originale pour la liste des fichiers.

Voici un aperçu des couleurs : A FAIRE

https://github.com/equinusocio/material-theme-appbar
https://github.com/jamiewilson/predawn

https://gist.github.com/PixiBixi/e401f57cb05f070d0a96d1859302225a (Predawn Theme Settings) https://gist.github.com/PixiBixi/1cefb66eccd1612a85c4d0e6d1d04ffc (Material Design Settings)

Package Control est un peu comme l'apt-get pour SublimeText, il en convient donc qu'il s'agit actuellement d'un plugin indispensable pour un usage convenable de SublimeText

Attention, même si Package Control s'avère très pratique, il est avéré que la plupart des versions ne sont plus mises à jour, il en conviendra donc d'installer la plupart du temps les plugins via leur dépot Git, ou bien toute autre source officielle

  • code/st3.txt
  • Dernière modification: 2020/04/06 13:35
  • (modification externe)