Skip to content

Instantly share code, notes, and snippets.

@k33g
Created August 13, 2012 09:52
Show Gist options
  • Save k33g/3338858 to your computer and use it in GitHub Desktop.
Save k33g/3338858 to your computer and use it in GitHub Desktop.
Faire fonctionner Coffeescript dans SublimeText2 sous Windows 7

##Description du problème :

En essayant d'exécuter des scripts coffeescript via SublimeText2 (Ctrl+B) sous Windows 7, j'obtiens une message d'erreur : Decode error - output not utf-8 (aucun problème sous Linux ou OSX). En voulant régler le problème d'encodage en ajoutant "encoding": "cp1252" dans le fichier de build CoffeeScript.sublime-build, je m'aperçois que node.exe n'est pas reconnu. Problème de path ? Bizarre, dans la console windows, je peux indifféremment lancer coffee ou node sans problème.

PS : j'ai installé le package Coffeescript pour SublimeText2.

##Résolution "bricolage"

Ce n'est pas super propre mais cela fonctionne (inspiré de http://kwilson.me.uk/blog/getting-sublime-text-2-to-compile-coffeescript-on-windows-7/). Selon le type d'installation de Node et Coffeescript, les chemins peuvent changer.

###coffe2.cmd

Dans <DISQUE>:\Users\<VOUS>\AppData\Roaming\npm, créer un fichier coffee2.cmd (normalement il y a déjà un coffee.cmd) avec le code suivant :

@echo off
"C:/Program Files (x86)/nodejs/node.exe" "<DISQUE>:/Users/<VOUS>/AppData/Roaming/npm/node_modules/coffee-script/bin/coffee" %*

Où c'est la lettre de votre disque dur, et c'est votre user windows. Le chemin vers node.exe est à adapter si besoin

###CoffeeScript.sublime-build

Ensuite allez ouvrir le fichier CoffeeScript.sublime-build qui se trouve normalement ici <DISQUE>:\Users\<VOUS>\AppData\Roaming\Sublime Text 2\Packages\CoffeeScript et remplacez le code par ceci :

{
	"cmd": ["coffee2.cmd","$file"]
,	"path": "D://Users//pcharrie//AppData//Roaming//npm//"
,	"selector": "source.coffee"
,	"encoding": "cp1252"
,	"working_dir": "$project_path"
}

Maintenant, en édition de script coffee, si vous faites Ctrl+B, SublimeText2 exécutera le code dans sa console.

Tant que vous y êtes, créez au même endroit un fichier CompileCoffeeScript.sublime-build avec le code suivant :

{
	"cmd": ["coffee2.cmd", "-c", "$file"]
,	"path": "D://Users//pcharrie//AppData//Roaming//npm//"
,	"selector": "source.coffee"
,	"encoding": "cp1252"
,	"working_dir": "$project_path"
}

Vous verrez apparaître (une fois sauvegardé) un nouvel item de menu dans Tools/Build System qui vous permettra de transpiler votre code Coffeescript en Javascript : vous sélectionnez CompileCoffeeScript puis Ctrl+B.

Chez moi cela fonctionne, j'espère que cela aidera certains d'entre vous. Si vous avez une meilleure solution je suis preneur.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment