Aller au contenu
Coding Unicorns

v0.23.5 · dernière version stable

Coding Unicorns

Un IDE léger et performant, construit en Rust.

Inspiré de VSCode, sans son poids. L'éditeur est volontairement nu : aucun langage n'est intégré en dur — la coloration syntaxique, le LSP et les outils de développement sont fournis par des extensions installables.

Windows · Linux · macOS (Apple Silicon) — mises à jour automatiques

En quelques chiffres

  • 30–80 Mode RAM visés, contre 300–500 Mo pour VSCode
  • 0langage intégré en dur : tout passe par des extensions
  • 43raccourcis clavier configurables
  • 3plateformes : Windows, Linux et macOS

Télécharger la v0.23.5

Choisissez le fichier de votre système. Une fois installé, Coding Unicorns se met à jour tout seul : il vérifie au démarrage si une nouvelle version existe et contrôle chaque téléchargement par son empreinte SHA-256.

  • Votre système Windows Installateur .msi — recommandé · 8,4 Mo Télécharger coding-unicorns-setup.msi
    Empreinte SHA-256aefc30e7ed315adc43f559bff2311d7080bf96fbf71697c82805a2012918f92b
  • Votre système Windows Version portable .exe, sans installation · 17,7 Mo Télécharger coding-unicorns-windows-x64.exe
    Empreinte SHA-256bb9fb71417edf37d77bdc1e54ff08b418dc6119956ee386d761e4aeda5ec3473
  • Votre système Linux AppImage — recommandé, x86_64 · 12,0 Mo Télécharger coding-unicorns-linux-x64.AppImage
    Empreinte SHA-25647b2931dcd53a83584e202ca4f75f8a66a3f4ef27fd4fb49a095c12a0868bf59
  • Votre système Linux Binaire x86_64 seul · 26,7 Mo Télécharger coding-unicorns-linux-x64
    Empreinte SHA-25656715830541e6a96c35c3b7cbfd62b3de05d9492221042e067e4efef37429efc
  • Votre système macOS Image disque .dmg — Apple Silicon · 10,9 Mo Télécharger coding-unicorns-macos-arm64.dmg
    Empreinte SHA-256d7d5a76fcc8276a11180e5748cac1fbd9f65a818170f50ae27776ab9cd291142
  • Votre système macOS Installateur .pkg — recommandé pour macOS 26, Apple Silicon · 9,3 Mo Télécharger coding-unicorns-macos-arm64.pkg
    Empreinte SHA-2561e0c7cfce05fe1ee955960fdad81e846cacaab47ca80afcbbde672671ee8df0e
  • Votre système macOS Binaire seul, Apple Silicon (M1 et suivants) · 18,2 Mo Télécharger coding-unicorns-macos-arm64
    Empreinte SHA-256d7b8c27f202c40bd8c27bc66bf1ed2304a048eb3cf1aab5a1f973589b4678173

macOS (recommandé) : installez depuis le Terminal, sans aucun avertissement de sécurité :

curl -fsSL https://ajustor.github.io/codingUnicorns/install-macos.sh | bash

L'app est placée dans ~/Apps (Spotlight la trouve) et la commande cu est ajoutée à votre PATH. Relancez la même commande pour réinstaller ; l'app se met ensuite à jour toute seule.

macOS, sans le Terminal : sous macOS 26 (Tahoe), utilisez l'installateur .pkg — il gère automatiquement les restrictions de sécurité. Avec le .dmg, glissez Coding Unicorns sur le Bureau ou dans n'importe quel dossier sauf Applications (macOS 26 bloque les apps non notarisées dans tout dossier nommé « Applications » ; sous macOS 15 et antérieur, Applications fonctionne normalement). L'app n'est pas notarisée par Apple : au premier lancement, faites clic droit › Ouvrir (ou Réglages Système › Confidentialité et sécurité › Ouvrir quand même). Linux : rendez l'AppImage exécutable avec chmod +x coding-unicorns-linux-x64.AppImage puis lancez-la (FUSE est nécessaire : paquet libfuse2 ou fuse). Les binaires seuls servent en ligne de commande. Windows : l'installateur .msi est recommandé ; le .exe est une version portable, sans installation.

Tout ce qu'il faut, rien de plus

  • ✏️ Éditeur

    • Undo/redo, sélection, word wrap
    • Split editor côte à côte Ctrl+\
    • Multi-curseurs Ctrl+D Ctrl+Shift+L
    • Code folding et bracket matching
    • Auto-close des parenthèses et guillemets
  • 🧭 Navigation

    • Command palette Ctrl+P Ctrl+Shift+P
    • Arbre de fichiers avec icônes et renommage inline
    • Breadcrumbs avec le symbole courant
    • Go to Definition F12, back/forward Alt+←/→
    • Recherche workspace et Find & Replace avec regex
  • 🌿 Git

    • Branche courante, ahead/behind et graphe des commits
    • Créer, renommer, fusionner et supprimer des branches
    • Stage/unstage, commit, push, pull, stash
    • Merge tool à 3 panneaux pour les conflits
    • Git blame par ligne et diff dans la gouttière
  • 💡 LSP

    • Hover, complétion, find references
    • Rename symbol, code actions, signature help
    • Formatage du document
    • Diagnostics inline : erreurs et warnings
  • 🖥️ Terminal & Debug

    • Terminal intégré : vrai PTY, multi-onglets, 256 couleurs
    • Debug DAP : breakpoints, step over/into/out
    • Call stack et variables
    • Configurations de lancement launch.toml
  • ⚙️ Configuration

    • Thèmes Dark, Light, Monokai, Solarized Dark, One Dark et couleurs perso
    • 45 raccourcis à configurer dans Settings → Keybindings
    • Auto-save optionnel
    • Mises à jour automatiques vérifiées par SHA-256

Les langages arrivent par extensions

Chaque extension est un crate Rust compilé en cdylib, décrit par un manifest.toml. Elle apporte la coloration et le hover de ses langages et désigne le serveur de langage à lancer ; l'IDE installe pour vous les dépendances de ce serveur (npm, pip, cargo, go, dotnet). 16 modules officiels : Rust, JavaScript, TypeScript, React, Python, Go, Vue, Svelte, HTML, XML, TOML, JSON, C#, PowerShell, Docker (Dockerfile, Compose et un panneau d'images) et speedster-js. La plupart fournissent aussi le débogueur de leur langage.

Parcourir les extensions officielles →

  1. Ouvrez le panneau Extensionsdepuis la barre d'activité (icône de pièce de puzzle).
  2. Parcourez le registreet cherchez un langage dans « Browse registry ».
  3. Installtélécharge une version compilée pour votre système, vérifiée par SHA-256 — aucune toolchain Rust nécessaire.

Les mises à jour apparaissent dans le même panneau (« Update to … », ou toutes d'un coup avec « Update all ») et la désinstallation peut aussi retirer les dépendances du serveur de langage. Une extension peut aussi s'installer depuis un dépôt Git, une archive ZIP, un dossier local ou un workspace Cargo. Les modules précompilés existent pour Windows x86_64, Linux x86_64 et macOS Apple Silicon.

Nouveautés de la v0.23.5

Corrections

  • PageUp / PageDown déplacent le curseur et la vue d'une page dans l'éditeur (Shift sélectionne). Ils ne faisaient rien jusqu'ici.
  • Cliquer sur une variable surligne toutes ses utilisations à l'écran, y compris celle cliquée, dans un cadre qui se distingue de la sélection. Avant, il fallait sélectionner un mot d'au moins trois lettres, et les lignes arrivant à l'écran en défilant n'étaient pas surlignées.

Historique des versions

v0.23.4 2026-10-23

Corrections

  • macOS : les raccourcis passent par Cmd au lieu de Ctrl (Cmd+S, Cmd+P, Cmd+C, Cmd+Z, Cmd+clic pour aller à une définition…), et les menus, la palette de commandes et la liste des raccourcis affichent Cmd. Ctrl+Espace (complétion), Ctrl+ (terminal) et Ctrl+Tab (onglet suivant) restent sur Ctrl, car macOS garde Cmd+Espace et Cmd+ pour lui. Dans le terminal, Cmd+C copie et n'interrompt plus la commande en cours ; Ctrl+C l'interrompt toujours.
v0.23.3 2026-10-23

Corrections

  • Tab avec plusieurs lignes sélectionnées les décale d'un niveau d'indentation au lieu de remplacer la sélection par une tabulation, et Shift+Tab retire un niveau aux lignes sélectionnées (ou à la ligne courante). Les lignes vides ne bougent pas, la sélection reste sur le texte décalé, et un seul Ctrl+Z annule le tout.
v0.23.2 2026-10-22

Corrections

  • Windows : « Restart now » dans la fenêtre de mise à jour installe la mise à jour même quand l'application n'a pas été lancée depuis un terminal. Elle cherchait PowerShell dans le PATH, et quand une entrée du PATH était cassée (guillemets en trop), rien n'était installé ; elle utilise maintenant le chemin complet de PowerShell, et installe quand même la mise à jour si le redémarrage ne peut pas être préparé.
  • La sélection à la souris tombe sous le pointeur sur toute la ligne. Les colonnes étaient mesurées un peu trop larges, et le curseur se décalait à gauche du pointeur d'environ une colonne tous les 30 caractères.
  • Après un défilement horizontal, le curseur, la sélection et les soulignements restent sur le texte au lieu d'être décalés de la distance défilée.
v0.23.1 2026-10-22

Corrections

  • F2 dans l'explorateur renomme le fichier sélectionné sur place, en partant de son nom actuel. Avant, il ouvrait « Rename Symbol », qui ne faisait rien sans serveur de langage ; ce cas affiche maintenant un message au lieu de se fermer sans rien dire.
  • Dans « Report an Issue », choisir Bug ou Idea n'envoie plus la saisie suivante dans le fichier ouvert : le champ du titre garde le focus. Plus généralement, l'éditeur ne reprend plus le clavier tant qu'une fenêtre de dialogue est ouverte par-dessus.
v0.23.0 2026-10-19

Modifications

  • cu . (ou cu <dossier>) ouvre le dossier dans une nouvelle fenêtre, sauf si une fenêtre l'a déjà ouvert : celle-ci passe alors au premier plan. Avant, il remplaçait le projet de la fenêtre en cours. Un fichier s'ouvre toujours dans la fenêtre dont le dossier le contient, sinon dans la fenêtre la plus récente.
v0.22.3 2026-10-19

Corrections

  • Dans la confirmation de suppression, Entrée supprime (Tab passe sur Cancel), au lieu d'insérer un saut de ligne dans le fichier ouvert.
v0.22.2 2026-10-19

Corrections

  • Dans l'explorateur, Ctrl+V colle une seule fois le fichier copié, au lieu de deux.
  • Dans l'explorateur, la touche Suppr propose de supprimer le fichier sélectionné, comme Delete File dans son menu contextuel.
v0.22.1 2026-10-19

Corrections

  • Avec la barre de recherche ouverte, sélectionner du texte dans l'éditeur puis faire Ctrl+C copie la sélection au lieu d'aller dans le champ de recherche.
  • Dans la recherche globale, deux fichiers portant le même nom sont listés séparément, avec leur dossier à côté du nom : en ouvrir un ne replie ou ne déplie plus l'autre.
  • Dans l'explorateur, Ctrl+C puis Ctrl+V sur un fichier le copie à côté de l'original sous le nom nom-copie.ext, au lieu de dupliquer la ligne courante de l'éditeur.
v0.22.0 2026-10-16

Ajouts

  • Pull requests : le panneau Git liste les pull requests ouvertes du dépôt GitHub origin. En ouvrir une affiche sa description, les fichiers modifiés et un diff côte à côte avec les commentaires de review sous les lignes concernées. F7 / Maj+F7 passent d'un changement à l'autre, une case marque chaque fichier comme vu (un chevron replie ou déplie un fichier dans tous les cas), et Checkout place la pull request sur une branche locale. Renseignez un token dans Settings → GitHub, ou laissez l'IDE utiliser la connexion de la CLI GitHub (gh auth login).

Corrections

  • Fetch, Pull, Push et l'ouverture d'une pull request n'échouent plus sur les remotes SSH dont la clé n'est pas lisible par le client SSH intégré (comme les clés ECDSA sous Windows) : l'IDE passe alors par le git installé, comme le terminal. Toutes les clés privées de ~/.ssh sont essayées, et le message ne parle de phrase de passe que si la clé en a réellement une.
v0.21.1 2026-10-15

Corrections

  • New File (Ctrl+N) ouvre un document vide où l'on peut écrire tout de suite, au lieu de réafficher l'écran d'accueil.
  • Ouvrir un autre dossier (Open Folder, Open Recent, ou cu . depuis un autre répertoire) ferme les fichiers du précédent, même quand le nouveau dossier n'a pas d'onglets enregistrés ou qu'un fichier a des modifications non enregistrées. Les fichiers non enregistrés restent ouverts, et un message indique combien.
  • Sur une ligne contenant un emoji ou un autre caractère hors du plan multilingue de base, le survol, la complétion, l'accès à la définition, le renommage, le formatage, les actions de code et le soulignement des diagnostics ne sont plus décalés d'une colonne : les positions sont converties dans l'unité du serveur de langage (UTF-16 par défaut, caractères quand le serveur le permet).
v0.21.0 2026-10-15

Ajouts

  • Les modules de langage peuvent se connecter à un serveur de langage ou à un débogueur qu'un autre programme fait déjà tourner, comme ceux de l'éditeur Godot (connect = "hôte:port" à la place de command dans le manifeste). Tant que le serveur ne répond pas, au survol, la pastille LSP de la barre d'état indique l'adresse attendue, et l'IDE s'y connecte dès qu'il répond.

Corrections

  • Un serveur de langage qui échoue à son tout premier démarrage est relancé, comme celui qui plante plus tard, au lieu de rester éteint jusqu'au redémarrage de l'IDE.
  • Les serveurs de langage qui ne s'arrêtent pas quand l'IDE les arrête (Restart LSP, démarrage abandonné) sont désormais tués au bout de 2 secondes au lieu de rester lancés.
v0.20.0 2026-10-14

Ajouts

  • Signaler un problème : le nouveau menu Help (et la commande de palette « Help: Report an Issue… ») ouvre un formulaire pour envoyer un bug ou une idée directement aux développeurs. La version de l'app, le système d'exploitation et, si la case reste cochée, la fin du log de lancement sont joints.

Modifications

  • Welcome Tour et Keyboard Shortcuts passent du menu View au nouveau menu Help.
v0.19.0 2026-10-14

Ajouts

  • Visite guidée : au premier lancement, une courte visite met en lumière chaque partie de la fenêtre (barre d'activité, explorateur, extensions, éditeur, palette de commandes, terminal, barre d'état) et explique le principe de l'IDE : l'éditeur est livré nu, les langages viennent des extensions. Elle se relance à tout moment avec View → Welcome Tour ou la commande de palette « Help: Welcome Tour ».
  • Fermer les onglets d'un coup : clic droit sur un onglet pour Close Others, Close to the Right, Close Saved et Close All, ou Ctrl+Shift+W pour fermer tous les onglets (aussi dans la palette). Les onglets non enregistrés restent toujours ouverts.

Corrections

  • Barre latérale : la barre de défilement de l'explorateur (et des vues Recherche, Git, Extensions et Outline) se trouvait au milieu du panneau et masquait la fin des noms de fichiers longs. Elle est maintenant contre le bord droit.
v0.18.0 2026-10-13

Ajouts

  • Explorateur et onglets : des icônes pour bien plus de fichiers : Vue, Svelte, images, PDF, archives, CSV, audio et vidéo, documents Office, fichiers de configuration, PowerShell, Java, Dockerfile et fichiers Compose, .gitignore, .env, LICENSE, package.json, Cargo.toml, Makefile, Gradle.

Corrections

  • Les gros fichiers ne figent plus l'éditeur :
    • Taper dans un fichier de 50 000 lignes prenait environ 190 ms par touche, contre environ 17 ms désormais. Le pliage, la minimap et les mots de l'autocomplétion ne relisent plus tout le fichier à chaque frappe.
    • Les fichiers de plus de 10 Mo ou 200 000 lignes s'ouvrent en mode « gros fichier » : pas de serveur de langage, de marqueurs git, de pliage ni de minimap. Un fichier de 50 Mo prend désormais environ 16 ms par touche.
    • Les lignes très longues (JSON minifié…) ne sont dessinées que sur leur partie visible : environ 10 ms par touche sur une ligne de 2 Mo, au lieu de 260 ms. Les fichiers ayant des lignes de plus de 20 000 caractères ne sont pas colorés, comme dans VS Code.
v0.17.1 2026-10-13

Modifications

  • Explorateur : les dossiers ne sont plus tous jaunes. Seuls les dossiers qui contiennent des modifications sont colorés, comme les fichiers modifiés eux-mêmes : jaune pour modifié, vert pour nouveau, rouge pour un conflit.
  • Explorateur : les fichiers ignorés par git sont affichés (grisés) par défaut. Le bouton œil les masque toujours.
  • Le journal de lancement note chaque étape du démarrage (modules, espace de travail, première image), pour savoir ce qui ralentit un lancement.
v0.17.0 2026-10-13

Ajouts

  • Bases de données : une icône dans la barre d'activité (et la commande de palette « Databases: Open storingUnicorns ») ouvre storingUnicorns, le client de bases de données des Unicorns. S'il n'est pas installé, l'IDE propose d'ouvrir sa page de téléchargement.
v0.16.1 2026-10-12

Ajouts

  • La barre d'état affiche la version de Coding Unicorns en cours d'exécution, tout à gauche.
v0.16.0 2026-10-12

Ajouts

  • Débogage Java, avec le module Java : F5 sur un fichier .java (ou une configuration de lancement java) demande au serveur de langage la classe principale du fichier ouvert, son classpath et le Java du projet, puis le débogue avec points d'arrêt, pas à pas, pile d'appels et variables. Le débogueur (java-debug) est téléchargé avec le serveur de langage, rien à installer.
  • Les modules peuvent faire démarrer leur débogueur par leur serveur de langage (transport = "lsp") : l'IDE exécute les commandes [[debugger.lsp_resolve]] du module pour compléter les arguments de lancement, puis la commande qui démarre la session et renvoie son port. Les initializationOptions du serveur acceptent les mêmes variables que ses arguments, ainsi que ${debuggerDir}.

Corrections

  • Débogueur : les points d'arrêt d'un fichier ouvert par un chemin avec des / sous Windows (un dossier ouvert avec cu C:/projet, par exemple) ne sont plus ignorés par des débogueurs comme java-debug.
v0.15.0 2026-10-12

Ajouts

  • Les modules peuvent faire télécharger leur serveur de langage au premier usage ([capabilities.lsp_download], ou download pour un serveur propre à un langage) : l'archive est récupérée en arrière-plan à l'ouverture du premier fichier concerné, puis le serveur démarre. Les arguments du serveur peuvent utiliser ${serverDir} (l'archive décompressée), ${dataDir} (un dossier de données par module et par workspace) et ${os}, et un nom de fichier contenant * désigne le fichier correspondant. Le téléchargement peut être un .zip, un .tar.gz, un fichier .gz seul ou l'exécutable lui-même. Les modules Java, Rust, TOML, XML et Markdown s'en servent : Eclipse JDT LS, rust-analyzer, taplo, lemminx et marksman n'ont plus à être installés à la main.
v0.14.1 2026-10-12

Ajouts

  • Explorateur : un bouton dans l'en-tête de l'explorateur (icône d'œil) et la commande de palette « Explorer: Show/Hide Gitignored Files » affichent les fichiers et dossiers exclus par le .gitignore (sorties de build, logs, dossiers d'outils locaux…). Ils apparaissent grisés et en italique, et leur infobulle précise qu'ils ne font pas partie des commits. Le choix est mémorisé, comme « Show gitignored files » dans les paramètres.

Corrections

  • Explorateur : « Reveal in File Manager » fonctionne désormais sous Windows (l'Explorateur s'ouvre avec le fichier sélectionné) et macOS (Finder) ; il ne marchait que sous Linux.
v0.14.0 2026-10-12

Ajouts

  • Outils du visualiseur d'images : zoom à la molette (autour du pointeur), depuis la barre d'outils ou avec +/-, ajustement à la vue (0) ou taille réelle (1), double-clic pour passer de l'un à l'autre, et glisser pour se déplacer. Les images peuvent être pivotées et retournées pour l'affichage (le fichier n'est pas modifié), affichées sur un damier, un fond sombre ou clair pour juger la transparence, et les pixels restent nets en zoom avant. La ligne d'état montre le pixel sous le pointeur avec sa couleur (clic pour copier le code hexa), et la barre d'outils les dimensions, le poids du fichier et le format.
  • Le visualiseur ouvre désormais les GIF (première image), ainsi que les BMP et ICO, qui étaient reconnus mais échouaient avec « Unable to load image ».

Corrections

  • Explorateur : les dossiers et fichiers commençant par un point (.github, .vscode, .claude, .env, .gitignore…) sont de nouveau affichés, en suivant le .gitignore comme le reste ; seuls .git et les fichiers système (.DS_Store, Thumbs.db) restent masqués.
  • Explorateur : un dossier replié puis rouvert affiche son contenu actuel, et non plus celui de sa première ouverture. Quand le système perd des événements de modification (beaucoup de changements d'un coup, par ex. npm install), l'arbre est entièrement rafraîchi au lieu de les manquer.
  • Explorateur : les noms sont triés sans tenir compte de la casse, Zeta ne passe plus avant alpha.
v0.13.0 2026-10-11

Ajouts

  • macOS : les raccourcis de mot suivent les conventions du Mac. Option+Gauche/Droite déplacent par mot (Maj pour sélectionner), Option+Retour arrière/Suppr effacent un mot, et Cmd+Gauche/Droite vont au début ou à la fin de la ligne. Dans l'éditeur, Option+flèches ne déclenchent plus la navigation arrière/avant sous macOS ; rien ne change sous Windows et Linux (Ctrl pour les mots, Alt+flèches pour naviguer).

Corrections

  • Git : fusionner depuis la liste des branches une branche en avance (fast-forward) n'efface plus les modifications non commitées. Les modifications sans rapport sont conservées, et la fusion est refusée avec un message clair si elle devait les écraser. Une fusion est aussi refusée pendant qu'une autre est en cours.
  • Changer d'onglet ne perd plus les modifications non enregistrées : un fichier modifié reste en mémoire, avec son historique d'annulation et ses curseurs, jusqu'à ce que vous y reveniez. Recliquer sur l'onglet actif ou aller à une définition dans le même fichier ne le recharge plus depuis le disque non plus. « Save All & Quit » enregistre aussi ces fichiers, et un fichier modifié sur disque entre-temps déclenche toujours la demande de conflit.
  • Fermer un onglet modifié avec son × ou un clic molette demande maintenant d'enregistrer, d'ignorer ou d'annuler, comme Ctrl+W, au lieu de le fermer directement.
  • Vue scindée : les modifications non enregistrées du volet droit sont maintenant protégées. Son onglet affiche le point de modification, fermer son onglet ou la vue scindée demande d'enregistrer, d'ignorer ou d'annuler, « Save All & Quit » l'inclut, ouvrir un autre fichier dans ce volet est refusé tant qu'il n'est pas enregistré, et il n'écrase plus une version enregistrée depuis le volet gauche (il la recharge s'il n'a pas de modifications).
  • Serveurs de langage : le survol, la complétion, le plan, le formatage et l'aide de signature ne cessent plus de fonctionner jusqu'au redémarrage quand un serveur plante ou ne répond jamais (la requête est abandonnée après 15 s ou au redémarrage du serveur), et avec plusieurs serveurs actifs, la réponse de l'un n'est plus prise pour celle d'un autre. « Aller à la définition » ne reste plus bloqué après un « introuvable ».
  • Formater un document via son serveur de langage (rustfmt, prettier, gofmt…) ne détruit plus de texte quand une modification couvre plusieurs lignes : chaque modification remplace exactement sa plage, et tout le formatage s'annule en une seule fois.
  • Renommer un symbole via le serveur de langage alors que le fichier a des modifications non enregistrées ne les perd plus et ne décale plus les modifications : le fichier ouvert est renommé dans l'éditeur (annulable, enregistré comme toute modification), les autres fichiers sur disque comme avant, et un fichier impossible à écrire est signalé.
  • Enregistrer un fichier sans nom (Ctrl+N) demande maintenant où l'enregistrer, et son onglet prend le nom du fichier. Avant, Ctrl+S, « Save » et « Save All & Quit » annonçaient un succès sans rien écrire, et quitter perdait le texte. Un enregistrement qui échoue le signale au lieu d'afficher « Saved ».
  • Renommer dans l'arborescence ne remplace plus en silence un fichier existant du même nom (changer seulement la casse reste possible), refuse les noms contenant un séparateur de chemin et signale un renommage qui échoue. Les onglets ouverts suivent le fichier ou dossier renommé : enregistrer ne recrée plus l'ancien nom (par exemple Nouveau fichier, renommer, Ctrl+S).
  • Multi-curseurs : chaque édition s'applique maintenant à tous les curseurs et les déplace tous correctement. Retour arrière, Suppr et Couper avec des sélections n'agissent plus seulement sur le curseur principal ; taper à un curseur placé avant le principal, les paires auto-fermées et les jonctions de lignes ne laissent plus de curseurs mal placés ni de texte corrompu ; un collage réparti sur les curseurs remplace leurs sélections ; et copier avec plusieurs curseurs prend chaque sélection exacte, de haut en bas.
  • Coller plusieurs lignes s'annule de nouveau en une seule fois. Chaque ligne collée ajoutait deux étapes d'annulation, si bien qu'un grand collage pouvait chasser de l'historique tout ce qui précédait.
  • La gouttière git compare maintenant le fichier à HEAD ligne à ligne : insérer une ligne ne marque plus toutes les suivantes comme modifiées, les lignes modifiées et ajoutées sont distinguées, et les lignes supprimées affichent un petit repère rouge à leur emplacement.
  • Configurations d'exécution : leurs variables env (par exemple importées de launch.json) sont maintenant transmises à la commande, les chemins substitués pour ${file}, ${workspaceFolder}… et les arguments contenant des espaces sont mis entre guillemets selon le shell du terminal (PowerShell, cmd, bash/zsh, fish), et cmd change de lecteur si besoin. Nouvelles variables ${fileBasename} (nom du fichier avec son extension) et ${fileExtname}.
  • Git : Push, Pull et Fetch ne figent plus l'éditeur quand le réseau (ou une demande d'identifiants) est lent. Ils s'exécutent en arrière-plan avec un indicateur dans le panneau Git, les boutons attendent la fin de l'opération, et une erreur est signalée même si le panneau a été fermé entre-temps.
  • Extensions : un module sans tokenizer de document ne fuit plus de mémoire à chaque frappe (sa liste d'extensions de fichier était copiée sans jamais être libérée à chaque demande).
  • Débogueur : Continuer et les commandes de pas à pas ne laissent plus la session affichée « Paused » avec les débogueurs qui ne le signalent pas (lldb-dap, CodeLLDB…). L'ancienne pile d'appels et les variables sont effacées jusqu'au prochain arrêt, et un nouveau pas à pas n'est plus envoyé à un thread en cours d'exécution.
  • Les serveurs de langage et les débogueurs qui envoient un en-tête Content-Type après Content-Length ne voient plus tous leurs messages ignorés (ils semblaient figés).
  • Extensions : désinstaller ou mettre à jour un module qui n'ajoute que des panneaux ou des commandes le décharge d'abord, ce qui libère sa bibliothèque sous Windows. Si ses fichiers ne peuvent pas être supprimés, le module reste dans la liste au lieu de disparaître à moitié supprimé.
  • Vue de merge : « Save & Resolve » n'indexe plus un fichier qu'il n'a pas réussi à écrire (l'erreur s'affiche et la vue reste ouverte). Il conserve les fins de ligne CRLF et le saut de ligne final du fichier, et fonctionne quand le dossier ouvert est un sous-dossier du dépôt.
  • Extensions : quand l'extraction d'un fichier échoue pendant une installation depuis un ZIP, le module est signalé en échec au lieu d'installer une bibliothèque tronquée. Si une mise à jour n'arrive pas à copier sa bibliothèque, l'ancienne est remise en place.
  • Panneau Git : la liste des conflits suit l'état de fusion de git. Elle se met à jour dès qu'un conflit est résolu et n'affiche plus les fichiers qui contiennent simplement <<<<<<<.
  • Extensions : les mises à jour de modules comparent correctement les versions. Une pré-version comme 1.0.0-rc.1 passe avant 1.0.0, et le préfixe v (v1.3.0) est reconnu.
  • Panneau Claude : deux fenêtres de l'éditeur qui lancent Claude en même temps n'écrasent plus mutuellement la configuration de leur serveur d'autorisations, ce qui faisait refuser les autorisations d'outils.
  • Réglages : quand il manque une section ou un champ dans le fichier de configuration, tout le reste du fichier est conservé au lieu de revenir aux valeurs par défaut. Un fichier totalement illisible est sauvegardé sous config.toml.invalid avant d'être réécrit.
  • macOS : après une mise à jour depuis l'app, le Finder affiche la nouvelle version (l'Info.plist de l'app est mis à jour) et la signature ad hoc de l'app correspond de nouveau au nouvel exécutable.
v0.12.2 2026-10-11

Ajouts

  • macOS : un installateur en une ligne dans le Terminal, désormais la méthode recommandée sur Mac : curl -fsSL https://ajustor.github.io/codingUnicorns/install-macos.sh | bash. Il télécharge la dernière version, vérifie son SHA-256, installe l'app dans ~/Apps (où Spotlight la trouve) et ajoute la commande cu à votre PATH. Installée ainsi, l'app n'affiche plus d'avertissement « app dangereuse » et n'est pas bloquée par macOS 26. Relancez la commande pour réinstaller ; l'app continue ensuite de se mettre à jour toute seule.

Modifications

  • La page de téléchargement présente d'abord l'installateur macOS par le Terminal ; le .pkg et le .dmg restent disponibles pour installer sans le Terminal.
v0.12.1 2026-10-11

Corrections

  • Avec l'enregistrement automatique désactivé, les fichiers ne sont plus enregistrés d'eux-mêmes 2 secondes après la dernière modification. Cet enregistrement sur inactivité ignorait le réglage : il ne s'exécute plus que si l'enregistrement automatique est activé, et le libellé du réglage indique qu'il couvre les deux cas (inactivité et perte de focus).
v0.12.0 2026-10-11

Ajouts

  • Éditeur : raccourcis d'édition mot par mot. Ctrl+Gauche / Ctrl+Droite sautent un mot entier (foo_bar est un seul mot, une suite de ponctuation comme :: ou -> compte comme un seul arrêt), Ctrl+Maj+Gauche / Droite sélectionnent mot par mot, et Ctrl+Retour arrière / Ctrl+Suppr effacent le mot avant / après le curseur. Ils fonctionnent avec plusieurs curseurs, et chaque suppression de mot s'annule en une seule fois.

Corrections

  • Appuyer sur Entrée dans un champ texte hors de l'éditeur (recherche, nom de branche, renommage...) n'insère plus aussi une nouvelle ligne dans le fichier ouvert.
  • Le curseur clignotant de l'éditeur est masqué quand un autre champ a le focus clavier : on voit clairement où va la saisie.
v0.11.5 2026-10-10

Corrections

  • macOS 26 (Tahoe) : ajout d'un installateur .pkg qui gère automatiquement les restrictions de sécurité. L'installateur s'exécute avec les droits administrateur, supprime l'attribut quarantine (que macOS 26 empêche de supprimer autrement), et place l'app sur le Bureau sous macOS 26 ou dans /Applications sous macOS 15 et antérieur. Le .dmg reste disponible pour ceux qui le préfèrent.
v0.11.4 2026-10-10

Corrections

  • macOS : la page de téléchargement indique maintenant clairement aux utilisateurs de macOS 26 (Tahoe) de glisser l'app sur le Bureau ou dans n'importe quel dossier pas nommé Applications — /Applications et ~/Applications sont tous deux bloqués par syspolicyd pour les apps non notarisées sous macOS 26. Sous macOS 15 et antérieur, glisser dans Applications fonctionne toujours.
v0.11.3 2026-10-10

Corrections

  • macOS 26 (Tahoe) : l'app ne reste plus bloquée silencieusement au lancement. syspolicyd sous macOS 26 bloque les apps signées ad hoc (sans Developer ID Apple) placées dans tout dossier appelé « Applications » — /Applications ou ~/Applications — en suspendant le processus dans le linker dynamique avant l'exécution de tout code Rust. Sous macOS 26, glissez l'app vers n'importe quel autre emplacement après avoir ouvert l'image disque — par exemple ~/Desktop (le bureau) ou un dossier ~/Apps que vous créez. Sous macOS 15 et antérieur, /Applications et ~/Applications fonctionnent toujours.
  • Build : ajout de la version Rust minimale (rust-version = "1.85" dans Cargo.toml) afin qu'une compilation avec un toolchain trop ancien échoue immédiatement avec un message clair au lieu d'une erreur de dépendance cryptique (edition2024 non stabilisée avant Rust 1.85).
v0.11.2 2026-10-10

Corrections

  • macOS : quand l'app ne peut pas démarrer, elle ne disparaît plus sans rien dire. Une boîte de dialogue affiche l'erreur (plantage, fenêtre impossible à ouvrir), et chaque lancement est consigné étape par étape dans ~/Library/Logs/Coding Unicorns/launch.log (visible aussi dans Console.app). Lancée depuis un terminal (cu), l'app y affiche l'erreur si elle s'arrête dans ses premières secondes.
v0.11.1 2026-10-10

Corrections

  • macOS : l'app pouvait rester bloquée au démarrage sans ouvrir sa fenêtre quand un fichier de démarrage du shell (.zshrc…) laissait un processus en arrière-plan (ssh-agent, gpg-agent, vérification de mise à jour d'un plugin…).
v0.11.0 2026-10-09

Ajouts

  • macOS : une vraie application, Coding Unicorns.app, installée depuis une image disque (coding-unicorns-macos-arm64.dmg : glissez-la dans Applications). Lancée depuis le Finder ou le Dock, elle reprend le PATH de votre shell de connexion : le terminal, les serveurs de langage et Claude trouvent vos outils (Homebrew, ~/.cargo/bin…).
  • Linux : une AppImage (coding-unicorns-linux-x64.AppImage), avec son icône et son entrée de menu, qui se met à jour sur place.
  • L'app macOS et l'AppImage ajoutent la commande cu à votre PATH au lancement (un lien dans /usr/local/bin ou ~/.local/bin, ajouté si besoin au fichier de démarrage de votre shell) : ouvrez un nouveau terminal et lancez cu ..
v0.10.10 2026-10-09

Nouveautés

  • La palette de commandes propose d'abord les dernières commandes lancées (les 5 dernières, conservées d'un démarrage à l'autre) : Entrée relance la plus récente.

Modifications

  • Les logs des modules (comme ceux des conteneurs Docker) occupent toute la hauteur de leur onglet ou panneau, au lieu d'un cadre fixe de 520 pixels.
v0.10.9 2026-10-09

Corrections

  • La page des réglages s'ouvre instantanément : lister les shells disponibles ne lance plus un processus where / which par shell (environ 100 ms chacun, davantage avec un antivirus), ce qui figeait la fenêtre à la première ouverture de la page. Les nouveaux terminaux démarrent aussi plus vite pour la même raison.
  • Le split de l'éditeur s'ouvre de nouveau. Son seul accès était Ctrl+\, que l'AZERTY et d'autres dispositions tapent avec AltGr (Ctrl+Alt) : il ne fonctionnait jamais. Un bouton de split est désormais à droite de la barre d'onglets (un bouton de fermeture dans le volet droit), et la palette propose *Split Editor: Toggle*.
  • En vue partagée, le volet actif est celui dans lequel on tape : les fichiers ouverts depuis l'explorateur y arrivent. Avant, cliquer dans un éditeur ne le changeait pas, et les fichiers s'ouvraient dans le mauvais volet.
  • Partager l'éditeur sans fichier ouvert l'indique, au lieu d'ouvrir et refermer le split aussitôt.
  • Les notifications (« Checking for updates… », « … is up to date ») et la fenêtre de mise à jour sont lisibles : après les premières images d'une fenêtre encore petite au démarrage, elles gardaient cette largeur et mettaient leur texte à la ligne tous les quelques caractères, dans une colonne étroite au milieu de l'éditeur.
v0.10.8 2026-10-09

Nouveautés

  • Update all est en haut du panneau Extensions, à côté de *Check for updates*, visible sans faire défiler.
  • Les vues des modules peuvent afficher des logs : un élément log (chasse fixe, sélectionnable, qui défile jusqu'à la fin).
  • Le module Docker (0.2.0) ajoute Containers & logs : un onglet qui liste les conteneurs avec Start, Stop, Restart, Remove et Shell, et un onglet de logs qui suit le conteneur choisi.

Corrections

  • Les mises à jour s'installent de nouveau. Après *Install*, la mise à jour ne s'appliquait que si l'on cliquait *Restart now* ou *When I quit* ; fermer la fenêtre autrement laissait l'installeur téléchargé inutilisé. Elle s'installe désormais dès que l'application se ferme (*Restart now* installe et relance tout de suite). Chaque étape est écrite dans update.log du dossier de mise à jour, et le journal de l'installeur dans install.log.
  • Les requêtes HTTPS (registre des modules, téléchargements, mises à jour) font confiance aux certificats du système. Derrière un proxy d'entreprise ou un antivirus qui inspecte le HTTPS, le registre échouait avec « invalid peer certificate: UnknownIssuer ». Les installations de serveurs de langage via npm utilisent aussi les certificats du système (Node 22.15+ / 23.8+) ; git, pip, cargo, go et dotnet le faisaient déjà.
v0.10.7 2026-10-09

Nouveautés

  • Les modules peuvent ajouter des interfaces à l'IDE : des panneaux latéraux avec leur icône dans la barre d'activité, et des pages ouvertes en onglet ([[panels]] dans manifest.toml). Le module renvoie des vues JSON (textes, boutons, champs, listes, tableaux…) que l'IDE dessine, reçoit les clics, et peut afficher des notifications, lancer une commande dans un terminal ou ouvrir une page.
  • Le module Docker ajoute un panneau Docker : liste des images locales, téléchargement, lancement dans un terminal, suppression et nettoyage, avec un tableau complet dans une page.
  • Un module peut désormais utiliser un serveur de langage différent par langage ([capabilities.lsp_servers.<langage>]) et reçoit le langage du fichier pour la coloration et le survol (fonctions *_lang_ffi). Les modules Dockerfile et Docker Compose ne font plus qu'un module Docker.
  • Les boutons Uninstall sont plus faciles à trouver : un bouton rouge dans la section *Installed*, désormais ouverte par défaut, et sur les modules installés dans le registre. Un échec de désinstallation est signalé au lieu d'être seulement journalisé.

Corrections

  • macOS : l'application redémarre sans Homebrew. Elle exigeait l'OpenSSL de Homebrew (Library not loaded: /opt/homebrew/opt/openssl@3/lib/libssl.3.dylib) et s'arrêtait au lancement sur les machines qui ne l'ont pas. OpenSSL et libgit2 sont désormais intégrés aux binaires macOS et Linux, et la publication vérifie qu'aucune de ces bibliothèques n'est liée.
  • L'entrée sélectionnée de la palette de commandes est lisible : elle s'affiche dans la couleur de contraste du thème sur un fond d'accent plein, au lieu d'un texte couleur accent sur une teinte d'accent.
  • Sous Linux et macOS, annuler le lancement d'un débogage arrête aussi la commande lancée par sa preLaunchTask, au lieu de la laisser tourner.
v0.10.6 2026-10-09

Nouveautés

  • Bouton Update all dans le panneau Extensions (*Installed*), à côté de *Check for updates* : met à jour d'un clic tous les modules qui ont une nouvelle version.
  • Nouveau module Dockerfile (Dockerfile, Containerfile, Dockerfile.*, .dockerfile) : coloration des instructions, options, variables, directives et heredocs, aide au survol de chaque instruction, et docker-langserver pour la validation, la complétion et le formatage.
  • Nouveau module Docker Compose (compose.yaml, docker-compose.yml et leurs variantes *.override.yml) : coloration YAML avec interpolation ${VAR}, ancres et blocs, aide au survol des clés Compose, et compose-language-service de Microsoft pour la validation, la complétion et le survol.
  • Les modules peuvent reconnaître des fichiers par leur nom plutôt que leur extension (file_names dans manifest.toml, jokers *). Le serveur de langage, la barre d'état et le débogueur en tiennent compte : un Dockerfile obtient son serveur de langage.

Corrections

  • Désinstaller un module dont une dépendance npm est scopée (@scope/paquet) retire bien ce paquet.
v0.10.5 2026-10-08

Nouveautés

  • Les modules de langage fournissent leur débogueur : une section [debugger] du manifest.toml indique l'adaptateur, les types de configuration qu'il sert et, au besoin, une archive d'où le télécharger. Les adaptateurs communiquent par stdio ou TCP, et les sessions enfants qu'un adaptateur demande (startDebugging) s'ouvrent automatiquement. L'IDE lui-même ne contient aucun débogueur.
  • Modules officiels mis à jour, proposés dans le panneau Extensions : C# débogue avec netcoredbg, TypeScript, JavaScript, React, Vue, Svelte et HTML avec vscode-js-debug (programmes Node, ou pages dans Chrome/Edge), PowerShell avec PowerShell Editor Services (tous trois téléchargés au premier lancement), Python avec debugpy (installé avec le module), Go avec Delve (installé avec le module) et Rust avec lldb-dap (fourni par LLVM).
  • Le texte qu'un débogueur affiche hors protocole apparaît dans la sortie Debug.
  • Nouveau module JSON (.json, .jsonc, .json5, .geojson, .webmanifest) : coloration distinguant clés et valeurs, commentaires et virgules finales, aide au survol des clés de package.json et tsconfig.json, et vscode-json-language-server pour la validation (y compris $schema) et le formatage.
  • Les modules peuvent colorer des tokens comme property, operator et class, et transmettre des initializationOptions à leur serveur de langage (lsp_init_options).

Modifications

  • L'identifiant de langage LSP d'une extension de fichier (par ex. cs → csharp) vient désormais de son module (language_ids dans manifest.toml) au lieu d'une table dans l'IDE. Mettez à jour vos modules depuis le panneau Extensions : les anciens modules C#, Python et Rust ne le déclarent pas.

Corrections

  • Le débogueur démarre enfin. F5 ne faisait rien : aucun module installé ne fournissait d'adaptateur de debug, et l'erreur était silencieuse.
  • La preLaunchTask d'une configuration de lancement (par ex. build de .vscode/tasks.json) s'exécute avant le programme, avec sa sortie dans le panneau Debug. Un build en échec arrête le lancement.
  • Les problèmes de lancement (débogueur absent, build en échec, erreur de l'adaptateur) s'affichent dans le panneau Debug au lieu d'être perdus.
  • Le panneau Debug se met à jour tout seul quand un breakpoint est atteint, sans devoir bouger la souris.
  • Une session terminée se relance avec F5 sans passer par Stop ; Stop annule aussi un build en cours.
  • Les débogueurs, et les programmes qu'ils exécutent, s'arrêtent quand l'IDE se ferme.
v0.10.4 2026-10-08

Modifications

  • Ctrl+Shift+F lance la recherche dans le workspace sur le texte sélectionné (une seule ligne, cherché littéralement en mode regex) et place le focus dans le champ de recherche.
  • Formater le document passe à Shift+Alt+F, comme dans VSCode : Ctrl+Shift+F formatait le fichier *et* ouvrait la recherche en même temps.
v0.10.3 2026-10-08

Corrections

  • Gels toutes les deux secondes pendant l'édition ou un build dans un gros dépôt : le rafraîchissement git automatique ajouté en 0.10.2 se fait maintenant en arrière-plan.
  • Gel quand la souris restait sur un mot non résolu : la recherche de survol ne lit plus les fichiers du workspace et n'est tentée qu'une fois par mot au lieu de chaque image.
  • Le terminal ne se redessine plus en continu quand il est visible, et ne dessine que les lignes à l'écran au lieu de tout son historique.
  • Les plugins (compteur de mots de la barre d'état) ne tournent que si le texte, le fichier ou le curseur change, au lieu de copier tout le fichier à chaque image.
  • La recherche dans le workspace ne plante plus sur les lignes de résultat contenant des accents.
v0.10.2 2026-10-08

Nouveautés

  • Un clic dans la marge, à gauche des marqueurs de pliage, ajoute ou retire un point d'arrêt (un point pâle le prévisualise au survol) ; aussi dans le panneau de droite en mode split.
  • La branche courante, ses compteurs ahead/behind et les fichiers modifiés se mettent à jour d'eux-mêmes après un git checkout, commit, pull… fait hors de l'IDE. Léger : seuls quelques fichiers du dossier git sont comparés, au plus toutes les 2 secondes.

Corrections

  • Les serveurs de langage, adaptateurs de debug, installations d'extensions et la CLI Claude n'ouvrent plus de fenêtre de console sous Windows (par exemple avec l'extension C#).
  • « Restart now » après une mise à jour MSI ouvre toujours une nouvelle fenêtre, sur le bon dossier.
  • Un workspace relatif enregistré par une ancienne version (cu .) est ignoré au lieu d'ouvrir le mauvais dossier (comme le dossier d'installation, avec cu.cmd).
v0.10.1 2026-10-08

Corrections

  • cu rend la main au terminal tout de suite : l'IDE continue en arrière-plan, détaché du terminal (--wait le garde au premier plan sous Linux et macOS).
  • ${workspaceFolder} et ${workspaceRoot} valent le chemin absolu complet du dossier ouvert, y compris après cu ., dans les configurations de lancement et de debug.
v0.10.0 2026-10-08

Nouveautés

  • Gestion des branches dans le panneau Git, avec des boutons visibles en plus du clic droit :
    • créer une branche depuis HEAD (même détachée), depuis une autre branche ou depuis un commit du graphe, avec un checkout immédiat en option ;
    • renommer n'importe quelle branche, y compris la branche courante ;
    • supprimer une branche après confirmation, avec un avertissement si ses commits ne sont pas fusionnés ;
    • nom de branche vérifié pendant la saisie, Entrée pour valider, Échap pour annuler.
  • Nouvelle page de téléchargement : thème clair/sombre, fichier adapté à votre système mis en avant, empreintes SHA-256 et historique des versions.

Corrections

  • Les panneaux de la barre latérale ne s'élargissent plus à chaque image.
v0.9.0 2026-10-06

Nouveautés

  • Parcourir et installer les extensions depuis le registre en ligne, directement dans le panneau Extensions.
  • Les fichiers s'ouvrent dans la fenêtre déjà lancée au lieu d'en ouvrir une nouvelle.
  • Windows : Coding Unicorns est proposé dans « Ouvrir avec » pour les fichiers texte.

Corrections

  • Suivi du nouveau nom du dépôt des modules (coding-unicorns-modules) : les configurations existantes sont migrées automatiquement.
  • Un plugin enregistré sous un nom déjà utilisé remplace l'ancien au lieu de s'y ajouter.
v0.8.0 2026-10-06

Nouveautés

  • Éditeur : retour à la ligne automatique, indentation automatique à Entrée et désindentation sur l'accolade fermante.
  • Fichiers : détection des modifications externes, avec une protection avant d'écraser le fichier ; fins de ligne et BOM préservés, UTF-8 invalide toléré.
  • Session : onglets ouverts, curseur et défilement restaurés pour chaque workspace ; liste « Open Recent ».
  • Git : stash (save, apply, pop, drop), bouton Fetch, fusion de l'historique divergent au pull, authentification pour fetch et push.
  • Recherche : modes regex et mot entier dans la recherche workspace.
  • LSP : recherche de symboles du fichier et du workspace dans la palette, panneau Problems pour tout le workspace.
  • Terminal : sélection et copie à la souris, collage entre crochets, Ctrl+Shift+V et collage au clic droit, taille du PTY adaptée au panneau.
  • Debug : expressions surveillées, tous les scopes DAP avec dépliage à la demande.
  • Run : import de .vscode/launch.json en l'absence de launch.toml.
  • Nouvelle icône licorne, intégrée à l'exécutable Windows ; exécutable et installateur signés.

Corrections

  • Le terminal revient à l'invite quand on tape après avoir remonté l'historique.
  • La recherche dans le fichier prend le focus et parcourt chaque occurrence.
v0.7.2 2026-10-05

Corrections

  • L'application redémarre bien après une mise à jour par MSI.
v0.7.1 2026-10-05

Corrections

  • Seule la bibliothèque de la plateforme courante est chargée pour une extension.
v0.7.0 2026-10-05

Corrections

  • Éditeur : granularité de l'annulation, aller à la ligne, duplication de ligne, jointure CRLF, suppression multi-curseurs, rechercher-remplacer, surlignage de la recherche.
  • Copier, couper et coller fonctionnent dans l'éditeur et le terminal.
  • Git : commits de fusion, ajout de nouveaux dossiers, checkout d'une branche distante ou détachée.
  • Navigation : Alt+← / Alt+→ parcourent correctement l'historique.
  • LSP et debug : URI de fichiers valides, launch envoyé après l'initialisation DAP.
  • Sécurité des extensions : identifiants et archives zip ne peuvent plus sortir de leur dossier.
v0.6.0 2026-10-03

Nouveautés

  • Mises à jour automatiques distribuées par GitHub Pages, vérifiées par SHA-256.
  • Claude Code intégré : panneau de discussion à droite, permissions, compte actif, mode interactif dans un terminal.
  • Interface rafraîchie : thème clair, couleurs dérivées du thème, notifications éphémères, barre d'état aux couleurs du thème, confirmation avant suppression de fichiers.
  • Markdown : aperçu natif côte à côte.
  • Éditeur : ligne courante et guide d'indentation actif surlignés, triple-clic pour sélectionner la ligne, défilement horizontal, complétion unifiée avec surlignage des correspondances.
  • Registre central des raccourcis avec détection des conflits.

Améliorations

  • Démarrage non bloquant des serveurs LSP, statut « Loading » pendant leur travail.
  • Coloration et minimap beaucoup plus rapides sur les gros fichiers.
v0.5.0 2026-04-10

Nouveautés

  • Améliorations de l'expérience d'édition : minimap, surlignage, défilement et nouveaux alias.
v0.4.0 2026-03-20

Corrections

  • Correction de l'installateur Windows.
v0.3.0 2026-03-19

Nouveautés

  • Premier système de mise à jour de l'application.
v0.2.0 2026-03-18

Nouveautés

  • Débogage via le Debug Adapter Protocol (DAP).
v0.1.0 2026-03-15
  • Première version.