1 points par GN⁺ 2025-11-17 | 1 commentaires | Partager sur WhatsApp
  • Un ensemble de réglages qui configure Emacs comme un IDE grand public afin que même les débutants puissent l’utiliser immédiatement
  • Reproduit dans Emacs des fonctions clés comme le thème VSCode, l’explorateur, les onglets, le multi-cursor et l’autocomplétion
  • Prend en charge par défaut l’interface graphique et l’utilisation de la souris, avec une configuration possible via l’interface custom
  • Offre un environnement d’édition complet pour les développeurs Lisp (Sly/Geiser) comme pour les non-programmeurs
  • Réduit la barrière d’entrée d’Emacs en offrant un point de départ facile à adopter pour les nouveaux utilisateurs

Aperçu d’IDEmacs

  • IDEmacs est un ensemble de configuration qui permet d’utiliser Emacs comme un IDE graphique tel que Visual Studio Code ou Sublime Text
    • Il conserve la puissance d’Emacs tout en offrant une interface familière aux débutants
  • Il vise principalement trois groupes
    • Les programmeurs venant d’un autre IDE ou les utilisateurs qui apprennent à coder pour la première fois
    • Les débutants en Common Lisp et en Scheme (avec Sly/Geiser et des fonctions d’édition structurelle)
    • Les non-programmeurs qui souhaitent éditer des documents Org, Markdown et LaTeX
  • Son objectif est d’abaisser la barrière d’entrée en fournissant un environnement prêt à l’emploi aux utilisateurs pour qui l’expérience Emacs par défaut est déroutante

Principales caractéristiques

  • Prise en charge de l’interface graphique et de la souris
    • Contrairement à la plupart des starter kits, il ne masque pas les éléments de l’interface graphique
    • La configuration est possible via l’interface graphique custom (sans avoir à modifier directement l’Elisp)
  • Raccourcis clavier de style IDE
    • Basé sur le mode CUA, il reproduit largement les raccourcis utilisés dans VSCode et d’autres outils similaires
    • Contrairement à Spacemacs ou Doom qui utilisent le mode Evil, l’interaction est centrée sur l’interface graphique
  • Une configuration au niveau d’une distribution Emacs complète
    • Un environnement rapide et sans configuration nécessaire
    • Composé d’un code Elisp abondamment commenté, qui peut aussi servir de ressource d’apprentissage
  • Le niveau visé n’est pas une imitation parfaite, mais une expérience « suffisamment proche »

Configuration VSCode (en cours)

  • La seule configuration IDE actuellement proposée
  • Éléments inclus
    • Thème VSCode Dark Plus
    • Explorateur de fichiers latéral Treemacs
    • Barre d’onglets Centaur Tabs
    • Affichage du chemin de fichier breadcrumb
    • Mise en surbrillance automatique des symboles avec idle-highlight-mode
    • Implémente la plupart des raccourcis VSCode des catégories “General”, “Basic Editing”, “Rich Languages Editing” et “Multi-cursor”
  • Principaux paquets
    • Édition : whole-line-or-region, expand-region, multiple-cursors, smartparens
    • Gestion de versions : vc, magit, diff-hl, blamer
    • Autocomplétion : Vertico, orderless, Consult, marginalia, company
    • Développement Lisp : sly, geiser, adjust-parens
    • Divers : eat (terminal), org-superstar, pdf-tools, undo-tree, helpful, rainbow-mode
    • L’organisation du code est gérée avec use-package

Configuration des raccourcis clavier

  • Mappe les raccourcis de VSCode vers des commandes Emacs
    • Exemples :
      • C-S-p → palette de commandes (execute-extended-command)
      • C-p → ouvrir un fichier (consult-locate)
      • C-S-n → nouvelle fenêtre (make-frame)
      • C-w → fermer la fenêtre (idemacs-kill-buffer-noprompt)
      • C-, → paramètres utilisateur (customize)
  • Définit des commandes correspondantes pour des catégories détaillées comme l’édition de base, le multi-cursor, la navigation, la gestion des fichiers et le contrôle de l’affichage
  • Certains raccourcis se comportent différemment de VSCode et sont marqués comme TODO

Participation et contribution

  • Demande aux utilisateurs de fournir un retour après avoir utilisé IDEmacs
    • Observation de débutants, partage d’avis via Jabber/XMPP ou le gestionnaire d’issues
  • Les développeurs sont encouragés à contribuer à l’amélioration du code et à l’extension des fonctionnalités

Projets liés

  • Mousemacs (GitHub : seamus-brady/mousemacs)
    • Une distribution qui fait fonctionner Emacs comme Sublime Text ou VSCode
    • Créée pour l’apprentissage de Lisp, avec une interface pensée pour la souris
    • Conserve toutes les fonctionnalités d’Emacs avec un thème simple

Installation et lancement

  • Dépendances requises
    • Emacs 29 ou plus, git, police DejaVu Sans Mono
  • Dépendances optionnelles
    • grep, locate ou plocate
  • Procédure d’installation
    1. Cloner le dépôt
      git clone https://codeberg.org/IDEmacs/IDEmacs
      
    2. Lancer Emacs avec une connexion Internet
      emacs --init-directory=/path/to/IDEmacs/vscode
      
    • Les paquets Emacs nécessaires sont téléchargés automatiquement au lancement

Divers

  • Aucun autre style d’IDE n’est actuellement proposé en dehors de la configuration VSCode
  • La possibilité d’une nouvelle implémentation d’interface graphique est évoquée si les ressources le permettent à l’avenir
  • Aucune information supplémentaire dans le texte source

1 commentaires

 
GN⁺ 2025-11-17
Avis Hacker News
  • Les gens qui pensent que VSCode est simple ont besoin d’un petit retour à la réalité
    Au premier lancement, on se sent submergé par les pop-ups, la barre latérale, les infobulles, etc.
    J’utilise aussi Emacs, mais je ne prétends pas qu’Emacs soit intuitif
    Cela dit, VSCode n’est pas non plus un outil magiquement facile, c’est simplement l’option grand public

    • L’UX de VSCode est assez familière
      Arborescence de fichiers, éditeur, terminal, autocomplétion par onglets, installation d’extensions : c’est à peu près tout le périmètre d’interaction de la plupart des utilisateurs
      Si ce n’est pas fourni par défaut ou facile à ajouter via une extension, la plupart des gens ne l’utilisent pas
    • Les outils professionnels (IDE, DAW, éditeurs vidéo, etc.) ont intrinsèquement une certaine complexité
      Mais la complexité de VSCode n’est pas du tout comparable à celle de vim ou d’Emacs
      Un petit tutoriel ou 30 minutes d’essai suffisent pour s’y habituer
      À l’inverse, pour neovim, il m’a carrément fallu un livre entier
    • J’utilise Emacs tous les jours, mais VSCode me paraît agressif et brutal
      J’ai récemment essayé RustRover, et il était difficile d’obtenir la configuration que je voulais uniquement en cliquant
      Cela m’a rappelé que la « facilité » d’un IDE peut être plus illusoire qu’on ne le pense
    • Après avoir utilisé Emacs pendant un an avant d’abandonner, je pense que l’interopérabilité est bien plus importante
      Beaucoup d’outils prennent en charge des interfaces communes comme le sélecteur de fichiers standard ou les raccourcis CUA
      C’est pour cela que j’utilise aujourd’hui des alternatives comme Zim-wiki à la place d’Emacs, et j’en suis plus satisfait
    • Concernant l’idée que les pop-ups et la barre latérale de VSCode sont pesants, quelqu’un ayant déjà pratiqué des IDE lourds comme Eclipse peut au contraire trouver cela familier
      En revanche, si l’on a surtout travaillé avec tmux, vi, nano ou emacs, cela peut dérouter
  • Emacs n’est pas un simple IDE, c’est un outil porteur de philosophie et de liberté
    Il existe beaucoup de projets axés sur des usages centrés sur la programmation, mais dans VSCode on peut déjà reproduire 75 % de l’expérience avec des raccourcis Emacs
    L’essentiel d’Emacs, c’est son approche qui consiste à vous donner une « boîte de pièces » pour que vous assembliez vous-même votre environnement
    C’est un peu comme « une arme élégante pour un âge plus civilisé »

    • Cela dit, il est difficile de considérer Emacs Lisp comme un langage fonctionnel
      La plupart des structures de données sont mutables, et il y a beaucoup de fonctions impératives comme setq
  • Je me demande si les dispositions de fenêtres fixes fonctionnent vraiment bien dans Emacs
    La dernière fois que j’ai essayé, le panneau Treemacs affichait parfois un buffer de code au lieu de l’explorateur de fichiers

  • Configurer Emacs comme IDE est devenu bien plus simple récemment
    Grâce à eglot intégré, il faut beaucoup moins de code elisp qu’avant, et une configuration Python tient en une seule ligne
    Du coup, ce genre de projet ressemble davantage à une porte d’entrée pour débutants qu’à quelque chose destiné à des utilisateurs existants comme moi

    • Quand j’utilisais Emacs à l’université il y a 15 ans, c’était déjà assez fluide
      REPL OCaml, émulateur 68000, intégration gdb : tout cela fonctionnait sans grosse configuration
      Je suis ensuite passé à vim à cause d’environnements sur serveurs distants, mais en retentant Emacs récemment, j’ai trouvé la gestion des paquets bien plus raffinée
      En revanche, l’outillage DevOps/SRE reste encore insuffisant
  • J’aime les projets de bundles de paquets comme Spacemacs ou Doom
    Je ne les utilise pas directement, mais ils me permettent de découvrir de nouveaux paquets et me donnent une excuse pour remettre les mains dans ma configuration

    • J’ai moi aussi parcouru les paquets listés sur la page idemacs, et le nom « minimap » m’a particulièrement marqué
      C’est simple, parfaitement adapté à son objectif, et ça m’a fait sourire
  • J’aimerais qu’il existe un projet de refonte moderne de l’UI d’Emacs
    Je veux garder le cœur tel quel, mais avec une interface visuellement plus lisible et moins fatigante pour les yeux
    J’aimais aussi la fonction des anciens éditeurs Lisp où, quand on appuyait sur Ctrl, une aide sur les raccourcis s’affichait

    • Je suis plutôt d’avis inverse
      L’UI me va, et le problème plus urgent est la structure mono-thread et les gels fréquents
      Il faudrait améliorer le fait qu’on doive appuyer sur C-g au moins une fois par jour
    • Ce n’est pas exactement la même chose, mais on peut jeter un œil à Lem, basé sur Common Lisp
      Il fonctionne sur curses/SDL2 et reprend le style d’Emacs
    • Je pense que tu parles de which-key
      C’était autrefois un paquet externe, mais il a récemment été intégré au cœur d’Emacs
      Lien vers le commit correspondant
    • Je voudrais conserver autant que possible l’UI actuelle
      Le fait qu’elle fonctionne avec le même aspect en environnement graphique comme en terminal est un énorme avantage
      J’apprécie particulièrement que Treemacs ait la même apparence partout
  • C’est dommage que OniVim v2 n’ait pas réussi
    C’était un IDE natif qui prenait entièrement en charge le système de plugins de VSCode
    Lien vers les archives d’OniVim v2

    • OniVim avait séparé les fonctions cœur de vim dans une bibliothèque distincte appelée libvim
      Cela aurait aussi pu être utile à d’autres développeurs de frontends GUI
      Neovim communique via RPC, mais les performances restent largement suffisantes
      Le plugin Neovim pour VSCode offre lui aussi une expérience vim complète grâce à cette architecture
    • Cela dit, le public visé était ambigu
      Les utilisateurs de Vim allaient probablement se plaindre de la latence de saisie liée à Electron et de l’EULA, tandis que les utilisateurs de VSCode ne s’intéressent pas à Vim
  • J’utilise Emacs depuis plus de 25 ans, et la première chose que je fais sur une nouvelle installation est de désactiver les éléments GUI
    Je n’utilise ni menus ni barre d’outils

    • Les utilisateurs de VSCode travaillent surtout à la souris, alors que la force d’Emacs est de pouvoir modifier sa machine Lisp à volonté
    • Cela fait aussi plus de 15 ans que j’utilise Emacs exclusivement au clavier
      Mais mon directeur de thèse utilisait Emacs de base à la souris pour faire du LaTeX, et c’était une expérience assez rafraîchissante
  • Je vais continuer à utiliser Doom Emacs, mais ce genre d’initiative est bienvenu
    Emacs dispose de nombreux plugins d’UI innovants comme Vertico, mais l’expérience par défaut reste insuffisante
    Si ce type de projet peut rendre Emacs plus accessible à davantage de monde, c’est une bonne chose

  • J’utilise Emacs depuis plus de 15 ans, et mon seul vrai souhait est un mode client-serveur permettant l’édition distante comme dans VSCode
    J’aimerais une solution qui fonctionne bien même avec une forte latence
    Sinon, je songe à la développer moi-même
    Cela dit, l’intégration Python de VSCode est plutôt bonne

    • Il y a deux approches
      1. Exécuter Emacs en local et éditer les fichiers distants avec Tramp
      2. Exécuter Emacs en mode terminal (-nw) sur le serveur distant