ace*_*ace 4 javascript eclipse intellij-idea
今天,当我尝试使用intellij IDEA 10在JavaScript中进行简单的重命名重构时,我感到非常震惊.无论属性属于该类,它都将重命名为Class属性!例如,Baz.attr1重命名为Baz.attribute1,它也重命名Box.attr1为Box.attribute1.Refactor Preview在这里没有帮助,因为有数百个地方在不同情况下使用相同的属性名称,例如this.attr1引用类型.
Eclipse甚至没有JavaScript重命名重构.
除了重命名之外,我希望重构一组函数并将它们移动到Object Literal符号,例如
function foo() {
}
function bar() {
}
Run Code Online (Sandbox Code Playgroud)
重构:
var MyCompany.Baz = {
foo: function() {
},
bar: function() {
}
}
Run Code Online (Sandbox Code Playgroud)
它应该重构所有文件中对那些函数调用的所有引用,包括HTML和JSP文件,如foo();更改为MyCompany.Baz.foo();
IDE中没有这样的东西.
是否有高质量的插件可用于Eclipse(更喜欢)或Intellij IDEA的JavaScript,它可以进行我正在讨论的各种重构?
我相信你想要的那种重命名重构在动态语言中是不可能的.
比方说,你有你的课Baz,并Box与attr1属性.
如果我们写下这样的话:
var b;
if (someCondition) {
b = createBox();
} else {
b = createBaz();
}
b.attr1 = "value";
Run Code Online (Sandbox Code Playgroud)
重构程序应该做什么?
鉴于变量的类型仅在执行相应代码时才知道,并且在每次调用该代码时此类型可能不同,计算机无法确定属性"attr1"的调用应链接到哪个定义至.
| 归档时间: |
|
| 查看次数: |
1215 次 |
| 最近记录: |