2014-12-13 47 views
0

是否有基於Web的代碼完整的API/IDE咖啡腳本?CoffeeScript代碼 - 完整的Web IDE

王牌編輯器和CodeMirror具有良好的語法高亮和基於掉毛語法的支持,我想什麼添加到我的應用程序(Node-WebKit-REPL)是代碼的完整支持

+0

雖然我投了你的問題被關閉,我認爲你可以嘗試Jetbrains Webstorm。 – drinchev 2014-12-14 11:28:17

+0

爲什麼關閉,這對於基於Web的代碼編輯器來說是一個非常重要的功能?是的,我有和使用WebStorm,但這裏的重點是有一個基於Web的編輯器完整的代碼(理想的是一個像Ace或CodeMirror的FOSS) – 2014-12-14 16:48:59

+0

嗯,這是一個重要的功能,但無論如何根據文檔參考([正確的點4](http://stackoverflow.com/help/on-topic)]這個主題是沒有StackOverflow。您可能會問一些其他stackexchange網站。 – drinchev 2014-12-14 20:50:36

回答

1

不幸的是既不CodeMirror也不王牌有autocompleters專門爲coffeescript,但他們都有一個API來添加完成者。

這裏有一個簡單的例子來說明如何在實際應用中,你將需要某種形式的解析器之前獲得表達的王牌

var lang = require("ace/lib/lang") 
 
var languageTools = require("ace/ext/language_tools") 
 
editor = ace.edit("editor") 
 
editor.setOptions({ 
 
    enableBasicAutocompletion: true, 
 
    enableLiveAutocompletion: true, // this does not work very well atm 
 
    mode: "ace/mode/coffee" 
 
}) 
 
var evalCompleter = { 
 
    getCompletions: function(editor, session, pos, prefix, callback) {   
 
    var completions = []; 
 
    var props = Object.keys(window); 
 
    props.forEach(function(key){  
 
     completions.push({ 
 
     value: key,   
 
     meta: 'window', 
 
     type: 'eval', 
 
     score: 1000 
 
     }); 
 
    }) 
 
    callback(null, completions) 
 
    }, 
 
    getDocTooltip: function(item) { 
 
    if (item.type == 'eval' && !item.docHTML) { 
 
     var o = window[item.value] 
 
     var type = typeof o 
 
     item.docHTML = "<b>" + type + "</b><br>" 
 
     + lang.escapeHTML(o + ""); 
 
    } 
 
    } 
 
} 
 
editor.completers = [evalCompleter, languageTools.keyWordCompleter, 
 
    languageTools.snippetCompleter, languageTools.textCompleter 
 
];

當然

做到這一點。以評估

http://sevin7676.github.io/Ace.Tern/demo.html也是有用的。

+0

thx,這看起來很好是的,我會試一試 – 2014-12-16 23:30:32

+0

這裏的參考是跟蹤這個https://github.com/o2platform/nwr/issues/29的GitHub問題 – 2014-12-19 08:09:26