##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.