Eclipse search directories outside workspace? - eclipse

I'm trying to search folders and files outside the workspace in Eclipse 3.0.2 on Windows 7. These links helped:
http://eclipse.dzone.com/articles/5-best-eclipse-plugins-system
https://bugs.eclipse.org/bugs/show_bug.cgi?id=192767
Unfortunately I can only get Desktop Search to work, not System Search. I've tried both the nokia system search download links:
https://bugs.eclipse.org/bugs/attachment.cgi?id=106032
http://www.steinerberg.com/EmbeddedComponents/System%20Search/com.nokia.search.system_2.0.0.201102171254.jar
I put either com.nokia.search.system or com.nokia.search.system_2.0.0.201102171254.jar in c:\eclipse-php\plugins. I also tried putting com.nokia.search.system.feature in c:\eclipse-php\features but it still didn't work because the folder is empty so I get this message in eclipse's error log:
!MESSAGE Unable to find feature.xml in directory: C:\eclipse-php\features\com.nokia.search.system-feature
I take directory search for granted in tools like TextWrangler and Xcode on the Mac and am flabbergasted that the Eclipse developers don't include arbitrary file search in their IDE.
Another possibility is to somehow add the C drive to Eclipse's workspace. I mainly need this to search directories like pear. I guess a free app might be an ok solution, if there's a way to tie it into Eclipse somehow, that would be helpful.
Thanks in advance for any help you can provide,
Zack

If I understnad your question, you are trying to search folders/files outside of the eclipse workspace. My advice would be to create a new folder through new -> wizard select it as a "linked" folder and point it to the folder in your file system that you want to include in the search.
Say you want your C drive included in search. Create new folder, click on advanced which opens more otpions and select link to alternate location (linked folder) and click browse and select your c:\ drive. This will create folder in your workspace that is a pointer to the c drive and will be included in search queries.

First off, Duncan, thanks for your answer. It is the best for the purposes described in the original question.
I see this thread is a bit old but I would like to give some useful suggestions:
Additional plugins only slow down Eclipse. It already has so many plug-ins that come with it. I try to keep mine as slim as possible (a lean version of STS) and use external tools for tasks I perform outside of core development, like version control - I removed all my Git and SVN plug-ins manually.
Linked folders work best because you narrow down the search. If you try to search the entire file system you are probably better off using your OS and its built-in utilities designed specifically for that. They are faster and support all sort of searches that you would otherwise not be able to execute from Eclipse.

I haven't tried this on 3.0.2 but I came across this question after trying to setup a new Eclipse and working out which plugin I had before that allowed me to do this.
Turns out you need RSE (Remote System Explorer) which gives you Remote Search and you can use a local connection to select a folder on your local machine.

Related

XPAGES: Build path contains duplicate entry: 'org.eclipse.jdt.launching.JRE_CONTAINER'

I am trying to run an Xpage locally (in Chrome if it makes any difference) from a local NSF and am receiving the error:
Build path contains duplicate entry: 'org.eclipse.jdt.launching.JRE_CONTAINER'
I have copied all the ExtLib Features and Plugins to the correct directories as required.
Anonymous is set to Author.
I cannot find any information on how to resolve this. There was an open ticket on OpenNTF 6 years ago but no resolution.
[Update]
As Jesse Gallagher pointed out on Twitter, you can access the .classpath file without going through the ODP setup via the Navigator perspective. I would still recommend setting up source control since it gives you:
local change history in DDE (even if you don't use the ODP in git/hg)
the ability to track any changing file during development, aka- a rogue change to your .classpath file (I recommend installing Cameron Gregor's Swiper plugin)
is fairly easy to set up
as a developer, version control is the best way to cover your butt
[/Update]
I believe you quite literally have a duplicate entry in your NSF's build class path. This has to do with the Eclipse version Domino Designer is based on is being confused by its defined class path. I recommend the following:
if you don't have it set up already, set up source control for your NSF
open the (hidden) file .classpath, which can be found in the root of your On Disk Project (ODP) folder with a trusty text editor (Notepad++, etc.)
search for org.eclipse.jdt.launching.JRE_CONTAINER
if you find more than one, you will need to deconflict your class path (aka- remove one; it may be best to make a backup of the file)
if you don't have "Build Automatically" checked (in your Project menu), you may need to open Package Explorer and right-click your ODP, then perform a "Sync with NSF"
You should be able to de-conflict your build path via the Project > Build Path screen, but this is an easy way to search the whole thing in one shot.
Here's an example the .classpath file from a working app.
An example of a situation where others (using gradle, in this case) ran into a duplicate issue with org.eclipse.jdt.launching.JRE_CONTAINER.
Setting up source control with an NSF, right-click NSF, Team Development, Set Up Source Control:
Note: If you need a little more info on how to set up source control or want to know more about where to park the ODP (aka- if you haven't done this before), I recommend checking out David Leedy's Notes in 9 episode 131: Using SourceTree for Better XPages Source Control. Even if you don't use SourceTree, it's worth it to understand that the ODP should not be placed in your Notes Data directory, etc.

Using same Pydev/Eclipse environment on multiple computers

I have Eclipse + PyDev installed on my laptop and desktop, both of which are dual-boot Windows Vista 64 & Ubuntu 12.04. Right now the only 'version' I have fully fleshed out pretty much the way I want it is in Windows on the laptop. What would be the best way to duplicate (and hopefully synchronize) this across both computers and both operating systems? In this case the only one using the account(s) would be myself.
A few suggestions:
If you just want to refine your Eclipse installations with some
common configuration then allow them deviating from that point, you
could copy your workspace folder to all places you want, then switch
to those workspaces from within Eclipse. You can also export your preferences from
within Eclipse using File > Export > General > Preferences, that may work as well,
or better.
If you want to share Eclipse configuration between Ubuntu and Windows, you could install NTFS-3G in Ubuntu, then make Eclipse workspace point to your Windows partition. I'm not sure if Eclipse can deal with this well though (for example JDK path).
If you want to use same configuration for all of your devices and operating systems, and considering you won't be using more than one Eclipse instance at same time:
If you have wi-fi, you could share your Eclipse workspace in Windows then map a network drive letter in the other Windows, and mount a remote network location in your Ubuntus. You could still use second suggestion above for same device.
Alternatively, you could use rsync or similar to synchronize your different workspaces, both when you start and close Eclipse. This way, you move possible performance issues with above option from when you are using Eclipse to when you are starting or closing it.
You sync on start for getting up-to-date with latest changes from other devices, and on close because you want to push the changes you have made to other workspaces as well. In Ubuntu, you could just wrap the sync commands around Eclipse call in a shell script, and in Windows you can do the same with Hidden Start, except that it can hide shell window for you.
You could use services such as Dropbox, Skydrive or Ubuntu One to store your Eclipse workspace and let their client software do the synchronization job for you.
This is what came up to my mind. Maybe Eclipse has something built-in to deal with this other than export wizard, not sure.
What exactly to share
Remember that the workspace is where all your personal configurations reside, including the list of projects you see when using Eclipse. If some of these projects are outside workspace directory you may face path conflicts, for example C:\MyProject present in your PC but missing in laptop. You could keep all your projects within workspace directory for avoiding this though. Also, if you go for the first suggestion, export wizard as said may work better.
I don't think it's a good idea to share only part of workspace, unless you know what you are doing, and I don't see much benefit from sharing whole Eclipse directory itself (which is not possible between Linux and Windows anyway). You can find out where exactly your workspace is located in File > Switch Workspace.

How does Eclipse determine which projects to load for a particular workspace?

Does anyone know how Eclipse determines which projects are in a particular workspace? Is there a config file somewhere with this info? I have struggled (in vain) for several hours trying to figure this out. I'd like to be able to edit this config / check it into SVN...
I think Eclipse works much better if you manage just the individual projects in your version control system.
You can publish the set of projects that make up a workspace as a Project Set File (an XML file that can be created as Export > Team > Project Set), which you could put in your repository. This file contains the repository location for all projects, so that they can be checked out all at once.
I agree with Thilo that it is not a good idea to put the workspace metadata into your version control system.
However, in the spirit of answering the question and letting others make their own value decisions: The directory ${workspace_loc}/.metadata/.plugins/org.eclipse.core.resources/.projects should contain one directory for each project that eclipse uses to keep track of where the project is on disk and a whole bunch of other information.

Sharing Eclipse directory on Dropbox between Windows and Mac OS X

This question was close to mine, but not quite.
I have a Windows desktop and a MacBook Pro. I'd like to be able to keep my Eclipse workspace in my Dropbox folder. The problem is that many project settings change between platforms: references to JREs, JDKs, and other libs.
Every discussion I've seen of this problem seems to suggest taking advantage of the source control system's ignore functionality, so that such-and-such file remains local-only and thus able to remain platform-specific. But when you're working with a real single shared folder, that class of solution doesn't apply.
Have you had luck working with a Java Eclipse project living in a single folder shared over the network, cross-platform?
I have my Eclipse workspace inside Dropbox with all my project folders within, but use the new-ish "Selective Sync" feature of Dropbox to make sure that the .metadata folder is not synced.
This means my Mac and Windows machines have their own .metadata folders but the project folders remain in sync.
Seems to be working so far...
Use source control with individual workspaces. By doing it this way you lose the capability of two developers making changes to the same file. You also run a higher risk of people stepping on each other. With Subversion (or others) source control is free and gives you traceability.
Perhaps the way to have less problems is just to share the source folder, neither workspace settings nor bin folder.
Just put your source folder in Dropbox.
Create the project on site1 and then:
Right click over the project, choose properties
--> Java Build path --> Source tab
--> Link source button
Then create a link to your source folder in Dropbox and assign it a name (e.g. src2)
Make the same for site2.
All your source files must be in your share source folder in Dropbox.
Of course you must configure on each site the settings like libraries and other stuff but this task is less frequently and perhaps desirable because you have two different environments.
For anyone else having trouble getting this to work, try File->Import->General->File System. Be sure to select Create links in workspace from the Advanced options. Seems like the cleaner solution and you can keep using your usual workspace.

In Eclipse, how to open a file browser in the directory of the currently edited file

I know it's possible in eclipse to open file browsers from your project's resource browser, but is it possible for files that aren't part of your project ? Typically external includes are not found in your resource browser...
If there is the equivalent of $(resource_loc) for the editor, it would work.. But I wasn't able to find it. Can anyone help me on this ?
Thanks!
EDIT : I Found StartExplorer, but it doesn't work for me. It is hardcoded to use WINDOWS explorer or cmd.exe. Also, it still requires you to use the resource browser. Other than that it can open paths selected in the editor, but they must be full paths.
EDIT 2 : StartExplorer seems to have been upgraded. I no longer use eclipse, but if someone else is still looking for this, I'd look again at their stuff!
For eclipse Luna (4.4) and later, You can use: Right Click->Show In->System Explorer
"Window" -> "Open Perspectives" -> "Remote Systems", then a view with root 'Local' node will be displayed.
While in Project Explorer pane, to browse files of any node, right click and select Show in Remote Systems view to get there.
From StartExplorer website:
This plug-in is inherently not platform-independent. Currently, the following operating systems/desktop environments are supported out of the box: Windows, Mac OS, Linux with Gnome, Linux with KDE, Linux with Xfce, Linux with LXDE.
As far as I know you have to create a linked folder for your external includes to achieve your goal. After that you can use StartExplorer for you externals as well. If you do not like that plugin you could try another similar one called EasyShell which is a similar one but you can configure all of its commands.
EasyShell seems quite descent to me (used in Ubuntu). It gives you the choices to open the Nautilus, to open the shell, to run a file and to copy the selected path. All of them appear with a right click on the package explorer of Eclipse. The installation was with no problems. Therefore, I would suggest it.
Hope I helped!
You might want to try eExplorer, see my answer on https://stackoverflow.com/a/24149472/612123
If you are using git, you can open Window > Show View > Other > Git Repositories. That will give you a Git Repositories explorer, which shows the Working Tree. The Working Tree will show all files in the filesystem, even temporary ones you created that are not added to git yet.
Another way is to open Window > Perspective > Other > Git.
Shortcut key can also be created in Eclipse>Help>Preferences>General>Keys