2014-12-13 37 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