cleanCode Logs
Comment, uncomment or delete your debug logs (console.log, print, var_dump…) in one command, in the current file or the whole project, without ever breaking your code.
🇫🇷 Version française plus bas
Features
- Toggle logs – comments every active log of the file; if there is none, uncomments them. A round trip gives back exactly the same text.
- Delete all logs – removes the whole lines (no empty lines left behind). Asks for confirmation first, and the result is a single undo step.
- Clean the whole project – the same deletion on every supported file of the workspace, after a confirmation listing the files.
node_modules, dist, build, out, vendor, virtual environments, files over 1 MB and symbolic links (or anything they point to outside the project) are skipped; files with unsaved changes are edited but left unsaved.
- Status bar button – click
Logs in the status bar (shown only for supported files) to pick an action.
- Multi-line aware – handles calls spread over several lines, nested parentheses, strings containing
), template literals and /* … */ comments in the arguments.
- Safe by design – a log is left untouched (and you are told so) when changing it would alter your program:
- it is the body of an
if / else / for / while without braces;
- it is the only statement of a Python block (the block would become empty);
- other code sits on the same line (
console.log(a); run();).
- Private – works locally on your files only. No telemetry, no network access.
| Language |
Detected calls |
| JavaScript, TypeScript (and React variants) |
console.log, console.warn, console.error, console.info, console.debug |
| Python |
print |
| PHP |
var_dump, print_r |
Usage
Open the Command Palette (Cmd/Ctrl+Shift+P) and run:
| Command |
Shortcut |
cleanCode: Toggle Comments on Debug Logs |
Alt+Shift+T (Cmd+Alt+T on macOS) |
cleanCode: Delete All Debug Logs |
none by default – bind your own in Keyboard Shortcuts |
cleanCode: Delete All Debug Logs in Project |
none by default |
You can also click Logs in the status bar.
Settings
| Setting |
Default |
Description |
cleanCode.confirmBeforeDelete |
true |
Ask for confirmation before deleting all debug logs of a file. The project-wide deletion always asks. |
cleanCode.showStatusBarItem |
true |
Show the Logs button in the status bar for supported files. |
Known limitations
- Only logs that start their line are detected.
cond && console.log(x), () => console.log(x) and JSX {console.log(x)} are ignored on purpose.
- The whole current file is processed (no selection support yet).
- The project-wide deletion only reads UTF-8 files.
- A regex literal containing quotes or parentheses inside a log call may confuse the detection; in that case the log is simply skipped.
Release notes
See the Changelog tab of the extension page.
🇫🇷 Français
Commentez, décommentez ou supprimez vos logs de debug (console.log, print, var_dump…) en une commande, dans le fichier courant ou tout le projet, sans jamais casser votre code.
Fonctionnalités
- Basculer les logs – commente tous les logs actifs du fichier ; s'il n'y en a aucun, les décommente. Un aller-retour redonne exactement le même texte.
- Supprimer tous les logs – retire les lignes entières (sans laisser de lignes vides). Une confirmation est demandée, et l'opération s'annule en un seul « Annuler ».
- Nettoyer tout le projet – la même suppression sur tous les fichiers pris en charge du dossier, après une confirmation qui liste les fichiers.
node_modules, dist, build, out, vendor, les environnements virtuels, les fichiers de plus de 1 Mo et les liens symboliques (ou ce vers quoi ils pointent hors du projet) sont ignorés ; les fichiers qui ont des modifications non enregistrées sont modifiés mais pas enregistrés.
- Bouton dans la barre d'état – cliquez sur
Logs (affiché seulement pour les fichiers pris en charge) pour choisir une action.
- Multi-lignes – gère les appels sur plusieurs lignes, les parenthèses imbriquées, les chaînes contenant
), les template literals et les commentaires /* … */ dans les arguments.
- Sûr par conception – un log n'est pas modifié (et vous en êtes informé) quand le toucher changerait votre programme :
- c'est le corps d'un
if / else / for / while sans accolades ;
- c'est la seule instruction d'un bloc Python (le bloc deviendrait vide) ;
- d'autre code se trouve sur la même ligne (
console.log(a); run();).
- Privé – travaille en local sur vos fichiers uniquement. Aucune télémétrie, aucun accès réseau.
Utilisation
Ouvrez la palette de commandes (Cmd/Ctrl+Shift+P) puis lancez :
- cleanCode: Commenter / décommenter les logs de debug – raccourci
Alt+Shift+T (Cmd+Alt+T sur macOS) ;
- cleanCode: Supprimer tous les logs de debug – pas de raccourci par défaut, à vous d'en définir un dans Raccourcis clavier ;
- cleanCode: Supprimer tous les logs de debug du projet – pas de raccourci par défaut.
Vous pouvez aussi cliquer sur Logs dans la barre d'état.
Réglages :
cleanCode.confirmBeforeDelete (par défaut true) demande une confirmation avant la suppression dans un fichier. La suppression dans tout le projet la demande toujours.
cleanCode.showStatusBarItem (par défaut true) affiche le bouton Logs dans la barre d'état.
Limites connues
- Seuls les logs qui commencent leur ligne sont détectés :
cond && console.log(x), () => console.log(x) et le JSX {console.log(x)} sont ignorés volontairement.
- Tout le fichier courant est traité (pas encore de prise en charge de la sélection).
- La suppression dans tout le projet ne lit que les fichiers en UTF-8.
| |