Eclipse>WST>JSDT Javascript Refactoring Renaming v

2019-01-24 17:42发布

问题:

In Eclipse (I am running 3.8.0 @ Linux (Mint 14 (Ubuntu (Debian))) at the moment), renaming variables using Refactor is an option that seems randomly available. For some code it's there, and for other code it's not.

I tried to see a pattern why some var declarations are up for renaming and others are not, but I haven't found it yet.

Why does refactor->rename not work for some code? How can I make this work?

You can see by the highlighted references that Eclipse is very aware of what should be refactored, so I don't understand what the problem is.

No problem:

Problem:

回答1:

You can always use Ctrl + 2 + R (Press R after appearing a small dropdown) to refactor the variable... [ Got it by chance ].

Update

working on Eclipse Neon... can't say about other older version. because it is the latest stable version at the time I am writing the answer.

Update 3-May-2017

one drawback is that it replaces all occurrences of that variable in the file. special care is required.



回答2:

I noticed that renaming is not available, when the project is not a JS project or if I open it with the non-default JS editor. (Spket JS Editor in my case.)

So try this:

  • Make sure in your .project file jsNature is set.

E.g. (In my case I have JS code inside a Java project):

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
  • Right click file -> Open with -> JavaScript Editor

Works for my using Eclipse Kepler.



回答3:

I can rename the local variable under Aptana Studio 3.0 (Eclipse based) with the JSDT "JavaScript Editor" and in the screenshot shown JS function: http://imgur.com/246oTY5