Eclipse > WST > JSDT:JavaScript重构重命名变量有时无法正常工作

5
在Eclipse中(我目前在Linux(Mint 14(Ubuntu(Debian))上运行3.8.0版本),使用Refactor重命名变量似乎是一种随机可用的选项。对于某些代码,它存在,而对于其他代码,它不存在。
我试图看出为什么有些变量声明可以重命名,而其他的则不能,但我还没有找到规律。
为什么重构->重命名不能用于某些代码?我该如何让这个工具正常工作?
正如高亮的引用所示,Eclipse非常清楚应该进行重构的内容,所以我不明白问题出在哪里。
无问题: enter image description here 问题: enter image description here
3个回答

3
您可以始终使用 Ctrl + 2 + R(出现小下拉框后按R)重构变量...【偶然发现】。 更新 正在使用Eclipse Neon...无法确定其他旧版本,因为这是我撰写答案时的最新稳定版本。 更新于2017年5月3日 其中一个缺点是它会替换文件中该变量的所有实例。需要特别注意。

1
我注意到,当项目不是JS项目或者我使用非默认的JS编辑器(在我的情况下是Spket JS编辑器)打开时,重命名功能不可用。

请尝试以下步骤:

  • 确保在您的.project文件中设置了jsNature。

例如:(在我的情况下,我在Java项目中有JS代码):

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
  • 右键文件 -> 用JavaScript编辑器打开

在Eclipse Kepler中可以使用此方法。


有时Eclipse会告诉我“无法执行重构,因为其输入变量不存在”。-->只需单击“确定”,然后按CTRL+Z(撤消),直到所有变量的实例都被重命名。 - Jack Miller

0
我可以用 JSDT“JavaScript 编辑器”在 Aptana Studio 3.0(基于 Eclipse)中重命名本地变量,在屏幕截图中显示的 JS 函数:http://imgur.com/246oTY5

这并没有真正解决楼主的问题。你可能能够做到这一点,但他想知道为什么他不能。你知道你的系统和他的有什么不同吗? - user1864610
感谢您的努力,但就像_Mike W_所说的那样,这并没有给我任何提示。我想知道是否在运行Aptana作为独立软件或作为Eclipse插件时会有所不同? - Redsandro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接