How to avoid repeated matching items in Eclipse 'Open Resource'? - eclipse

The project I'm working in uses Maven and its typical standar directory layout.
When I look for a resource with Eclipse 'Open Resource' I get these matches:
Where I get repeated matches.
There are only 2 XML files in filesystem.
The one under src/ and the one under target/.
For example, the path to the src/ file is:
maindev/common/utils/persistence/src/main/resources/com/ericsson/m2m/common/utils/persistence/impl/mybatis/custom/xml/
But 'Open Resource' indicates 3 matches for the same file with relative paths:
maindev/common/utils/persistence/src/...
common/utils/persistence/src/...
persistence/src/...
Is there a way in Eclipse to avoid those repeated matches?
Moreover, is there a way in Eclipse to indicate not to return resources for target/ directories?
NOTE: I tried Wojtek O. suggestion, but still getting matches:

You see multiple files because they logically are contained withing difference Eclipse projects. You could try to close some of those projects but that may as well result in compilation errors. If you wish to hide some files from the Open Resource... dialog you need to mark the folder containg those files as derived by right clicking on it in the Project Explorer and selecting Derived checkbox under Attributes section.

This is a really old thread, but in the newer Eclipse versions (Photon+) there's a filter option for resource search.
On the Open Resource dialog (Ctrl+Shift+R), click the drop-down on top "Enter resource name prefix..." and select "Filter Duplicated Resources".
If you're just looking for Java classes you can also use Open Type dialog (CTRL-Shift-T).

Related

How to search a keyword in Eclipse type search

How can I do a keyword search in Eclipse Types.
When doing a search using the eclipse, the system is doing the search in all the java files I have in my workspace but does not do a search in the classes I have in the JARs I have in my workspace.
Following is the search term:
Cannot initialize the modules because I can't guess which module to mount
to '/' at edu.mit.simile.butterfly.Butterfly.wireModules(Butterfly.java:821)
I tried doing this, but of no use. For better understanding attaching the images:
I can't figure out from which jar file type, this string is coming. As we can do a global search on the .java files. Is there a way, we can do keywood search for the jar types(jar file content .class) as well in Eclipse.
Or that is not even possible as suggested by #nitind.
It's not clear what you mean by "a keyword search in Eclipse Types". If I had to guess, I think you mean that you're looking for a type that has a particular word in the name.
You can do this by first doing the "Open Type" operation from the menu bar or from a keyboard shortcut. For example, if you want to find all of the types that have "Basket" in the name of the type, then enter "Basket" in the search field in the "Open Type" dialog.
Currently there is no Eclipse plugin/configuration/setup that can perform this operation.
Although it is possible to search a jar by writing a simple utility like this:
URL url = FindResourceMain.class.getResource("/" + filePath);
We can also use, utility tools like Total Commander to perform a global search in jar/zip.

Is it possible to set open resource (ctrl-shift-R) to search full path by default in Eclipse IDE?

When using editor like atom or sublime, when trying to open resource by hot key (e.g. ctrl-P in atom), the default behavior is to search in full path. For example, when I press ctrl-P and type controller/base_controller, I will see controller/base_controller.php in the search result.
However, in Eclipse, when I press ctrl-shift_R and type controller/base_controller I will get nothing. I will need to type base_controller (if the file name is not repeating much) or *controller/base_controller to have controller/base_controller.php in the search result.
When most OS prohibit using slash ('/') in file name, I would expect Eclipse should at least know it is a full path search when I input slash. Anyway, is there a way I can set the "open resource" search to be full path search by default in Eclipse IDE?
In Eclipse a full path starts with /.
So in your example, you have to type /controller/base_controller to match base_controller.php in the project controller.
Alternatively, you can select the project or folder and use the File Search (Ctrl+H) leaving the Containing text field empty, with a file pattern and choosing the selected project or folder as scope.

How to exclude .class files from file search in Eclipse?

I want eclipse to ignore all .class files when I search for a keyword in files. I don't want a particular directory to be excluded, instead I want to exclude all files of type .class
when you open the File Search in Eclipse, there is a text box for filename patterns. You can enter the patterns you DO want to include, like *.java, *.xml, etc. (each pattern separated by a comma) , and it will only search in files of that type.
EDIT:
To exclude a file type, place an exclamation mark in front of the pattern, like
!*.class, !*.svn
I managed to exclude files of a specific extension in eclipse using resource filters:
Right-click on the project in project explorer -> select properties
Expand the Resource heading on the left of the properties window and select Resource filters
Select the Add Filter button
In my scenario, I was ignoring tar.gz archives:
So in this example *.class could have been inputted rather than *.tar.gz to ignore all files with the class extension.
You can create a Working Set pointing it to your java source dir,
and select it on Open Resource (Ctrl+Shift R normally)
Open Resource window Image
menu Image
The working set will be remembered when you open it again.

Eclipse searching files in specific package

I am attempting to strip out my Log.i Log.d etc code in eclipse. I have used them liberally. I can find them by control+h and using the File Search tab. Once I can filter the results to a certain package I plan on doing a replace with a blank string.
I check the Regular Expression checkbox.
In the Containing text: field I use Log\..*;
This gets every single Log line of code in the workspace (At least I think workspace, because there is currently 1 project in the workspace)
How can I get this search to only search within a certain package (ie com.example.so.is.super.cool)
I assume this is in the File name patterns field and I have attempted:
.*super.*
*super*
super
Please let me know if there is a pattern I can enter in File name patterns that narrows the search down for me.
Here's how:
Select the package in Package Explorer
On the Search > File Search panel: Specify regular expression, set Scope to "Selected resources"
Press Search

Lines of Code count for Flex in Eclipse

How to get the SLOC count for the Flex code in Eclipse?
Is there a plug-in similar to "Metrics" for finding information about the Flex porject?
This is the easiest way to count lines of code of any particular language and does not require a plugin.
Steps:
Click on the root folder of your project
Right-click and select Search (or Cntl+H)
In the box "Containing Text" type \n and make sure to select the "Regular Expression" checkbox
In the "File name patterns" input, type the file extensions of the files you want to include in your count, or click on "Choose" if you are feeling lazy.
Click "Search"
BAM! Instant line count for your entire project!
These instructions may differ slightly depending on your version of Eclipse, but you should be able to figure it out.
Good luck!
From this question:
http://metrics.sourceforge.net can do lines. I'm not sure about words
however.