この種のコードを自動完成できるIDEはありますか?すべてのIDEでjavascriptコードが完了
私はここにjavascriptのクラスの発電機を持っている:
(function() {
var core = {
bind : function(method, scope) {
if (!(method instanceof Function))
throw new TypeError("Function needed as method.");
if (typeof (scope) != "object")
throw new TypeError("Object needed as scope.");
return function() {
return method.apply(scope, arguments);
};
},
require : function(source) {
if (typeof (source) != "object" || !source)
throw new TypeError("Object needed as source.");
for (var property in source)
if (source.hasOwnProperty(property) && !this.prototype.hasOwnProperty(property))
this.prototype[property] = source[property];
},
override : function(source) {
if (typeof (source) != "object" || !source)
throw new TypeError("Object needed as source.");
for (var property in source)
if (source.hasOwnProperty(property))
this.prototype[property] = source[property];
},
extend : function(source) {
var superClass = this;
var newClass = source.hasOwnProperty("constructor") ? source.constructor : function() {
superClass.apply(this, arguments);
};
newClass.superClass = superClass;
var superClone = function() {
};
superClone.prototype = superClass.prototype;
newClass.prototype = new superClone();
newClass.prototype.constructor = newClass;
if (source)
newClass.override(source);
return newClass;
}
};
core.require.call(Function, core);
Function.create = function (source){
var newClass = source.hasOwnProperty("constructor") ? source.constructor : function() {};
newClass.override(source);
return newClass;
};
})();
私はこれらの例のクラスのために(コメントで書いた)コード補完が必要になります。
//Function.prototype: bind, require, override, extend
//Function.create
var A = Function.create({ //offer Function.[create]
test: function(){
console.log("a");
}
});
//A is a Function instance
//A.prototype: test
var B = A.extend({ //offer A.[extend]
test: function(){
console.log("b");
},
test2: function(){
console.log("b2");
}
});
//B is a Function instance
//B.prototype inherits from A.prototype
//B.prototype.test overrides A.prototype.test
var F = Function.create({ //offer Function.[create]
getA: function(){
return new A();
},
getB: function(){
return new B();
}
});
//F is a Function instance
//F.prototype getA, getB returns A and B instances
var f = new F(); //offer [F]
//f inherits from F.prototype
var a = f.getA(); //offer f.[getA]
//a inherits from A.prototype
var b = f.getB(); //offer f.[getB]
//b inhertis from B.prototype
a.test(); //offer a.[test]
b.test(); //offer b.[test]
b.test2(); //offer b.[test2]
だから私はIDEは何とか知らせなければなりません、これらの関数はFunction.prototypeに存在し、これらの関数はFunctionインスタンスを作成しており、それらのインスタンスのプロトタイプに書き込んでいます。これはjsdocのように私のコードを手動で索引付けするだけで可能ですが、継承などを説明するには不十分です。だから私は少なくともjsの継承を処理することができるIDEが必要であり、このためにこのインデックスを自動的に作成するプラグインを書くことができます。 (プラグインでも継承を処理できるかもしれませんが、私はそのインデックス作成がどのように正確に動作するかわかりません...)
どのようなIDEが可能ですか?
あなたはIDEの自動補完するために何をしたいですか?例を示してください.. – Baz1nga
Function.create、ParentClass.extend、およびインスタンスの戻り値... Ofcのようなjavadocは私には受け入れられます。最高ののは、これらの特別な機能を解釈するためのコード補完プラグインを無効にすることができる場合です。 – inf3rno
JetBrainsのIntelliJは、市場で最高のIDEです。私はあなたの要件を理解しているかどうかはわかりませんが、JavaScriptを使って美しい仕事をしています。 – duffymo