How can I take eclipse out of MDI mode? - eclipse

Does anyone know of a way to make Eclipse an SDI application rather than an MDI one?
SDI - Single document interface, each pane is its own window
MDI - Multiple document interface, all of the panes are stuck inside one "master" window.
Eclipse is an MDI application. All of the little panes (like the call stack, variable viewer, etc) are part of the one master Eclipse window. Rather than having all of the windows stuck inside one master "eclipse" window, I'd like them to all be their own free-floating windows.

To make a pane "free-floatting" just drag that pane outside the main eclipse window.
If you have only one monitor, you have to resize first your eclipse window: you can not leave eclipse maximized on all the screen space.
Then you have to drag your pane outside the eclipse window until you see the cursor change into a little window with a '+' in the middle.
Once all your panes are in the required position, save your configuration in a new perspective. (Menu Window\Save Perspective As)
That way, you can switch between panes configurations easily.
Regarding the SDI aspect however, the editor part of eclipse is made to edit several document (so, MDI only).
Karl's double-click suggestion is the most effective to focus on one of those edited document.

Hit the little X next to each document until there is only one open.
Alternatively, doubleclick on the tab to maximize it.
Then edit your question to give some more information about what you really want to do.

No, Unfortuantly Eclipse 3.x and lower do not allow the editor window to be outside the application window. You can drag other windows outside the main window to give you more editor space, but you cannot for example drag an editor outside the main eclipse window onto a second monitor and to have another code window open on the main monitor. This feature seems to be scheduled for Eclipse 4. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=8886 for this feature.

Related

In Eclipse IDE how to disable the closing of an editor tab via plain right-click

I am using Eclipse Oxygen (Ver 4.7.0) on CentOS with the UI shown via MobaXterm's X Windows server on Windows 7.
In Eclipse I have the weird problem that when I right-click on an editor tab the tab closes immediately! No context menu, nothing, just the tab vanishes. I would like to disable this, but I couldn't find any entry for right-clicking in the Keys section of the Preferences.
Is there another place where the right-click behaviour is set? Or how else can I disable this? The problem occurs only for editor tabs.
Additional details:
The right-click behaves correctly inside an editor tab by bringing up the context menu. This shows that the right-click is not genearlly broken in the X Window system.
The right-click behaves correctly in other X applications like PyCharm.
An explanation
A closer look revealed that Eclipse does show the context menu on right-click press-down, but on right-click release-up it registers a left-click event.
Due to the particular situation of when the context menu was drawn, the mouse pointer than just always happens to sit over the top entry in the menu. And this top entry is Close. The following screenshot might illustrate this a bit (unfortunately without the mouse pointer):
Solution
The immediate solution for me is to move the mouse after pressing the right mouse button and before releasing it.
Still I don't know why this happens only when right-clicking a tab and only for me - and probably not for many other people...

How do you make new editors open in another screen?

I use dual monitor for work and I prefer to have the editor on my main screen while the rest of eclipse in my laptop monitor.
However, when I open a new file, that is. I open a file with Cmd-Shift-R, files are opened in my laptop monitor as opposed to the editor that I dragged to my main screen.
I find this mildly annoying. Any ideas?
Are using the Window -> New Window feature? In that case it depends on which window you're working on at the time you press Ctrl+Shift+R.
However, if you're streching only one Eclipse window along both monitors, then the Open Resource dialog will be opened in your "monitor number 1" (and that depends on your graphic configuration: Laptop+Main or Main+Laptop).
I found easier to avoid the new window menu and just to drag those views out of eclipse. This creates a secondary window but the project explorer is linked to the old window so double click will open the file on the main window.
I recommend to save everything as a new perspective that I usually call "Java 2 Windows". This way I can change perspectives when I do not have an auxiliar screen.
P.S. Just avoid closing the auxiliar window when leaving eclipse.

Eclipse: Separate window for Console and Outline, which don't come up when main Window gets Focus

I'm using Eclipse Indigo Service Release 1 on two screens. I have the main window with editor and navigator on the main screen, while outline and console are in two separate windows on the second screen.
When I focus the main window, the two separate also come up. And this is the point: I want to focus the two separate windows manually, when I need them.
Is there a way to do this?
You can't do it with simple "detached" views like you're describing. But you can use Window > New Window to open a second Eclipse Workbench window, drag that to your second monitor, then configure it with whatever Views as you please. The two windows are focused independently (at least on OS X they are, I don't have Windows or Linux to test with).
No. Those are dependent palette windows, their focus is tied to the main window.
What you can do: Copy your perspective, close the two views in the copy and switch between the perspectives when you need or want to hide the separate views.
That's how I do it. Two perspectives, one compact when I need the second screen completely, one verbose when I concentrate on the code alone.

Detached windows in Eclipse, is this possible?

Is there a way (plugin) in Eclipse to open detached windows which can be put on separate monitors: e.g one monitor will have my source, second threads and variables? The feature is in IntelliJ.
Yes. From the "Window" menu select "New Window". You can also drag the tabs off of the main window and a new window with just that tab will be created.
If you want a window with just the source code by itself, dragging the tab with the source in it won't work. What you can do is create the new window, drag the source over and minimize any other existing tabs within the new window to essentially leave a "source code only" view. You should be able to save this as a perspective and name it "Editor Only". This is somewhat cumbersome to setup, but once you have the perspective saved it should be pretty easy to get in and out of.
This is available in Helios and possibly earlier versions.
You can right-click on the title of any "View" and choose "Detach", this way you won't need two mail windows.

Any tips on how to organize Eclipse environment on multiple monitors?

I can't find a good way of putting Eclipse windows on two monitors. Currently I just detached (clicked on a header and dragged) a few windows to a secondary monitor (package explorer, console, and outline) while leaving primary monitor with maximized source editing window.
It works pretty well except few annoying issues. Detached windows are not in focus while you are editing your code. Which means that, for example, last build shortcut (Alt-Shift-X, Q) doesn't work because it can't find build file (because package explorer is not in focus). Also "Selected resources" option in a file search menu is not picking up current package selection.
So I was wondering is detaching windows a right way to go? Do you have any better solutions so at least package explorer stays in focus?
Thanks.
PS. Btw "unable to find build" error started showing up only in 3.4 ver for some reason.
In the Eclipse Helios (currently 3.6.2) I found very useful the use of another window to bring up multiple documents in different screens.
in the main menu, go:
Window > New window,
and drag it to the screen you prefer. Double click in the filename on the editor and will maximize the editor's window.
I hope i helped.
Kyr.
PS: If you want to maintain both windows when you closing Eclipse, don't close them one by one. Instead go: File > Exit.
I use Ultramon to spread my Eclipse across two monitors.
I have the left hand side devoted to the code and the right hand side to the Project Explorer, Search, Console, Ant and Outline views.
This way I get focus to all of my Eclipse stuff when I click on it in the taskbar or alt-tab. I can also overlay another window (usually my browser or a trace viewer) on the right hand monitor. I use SemTop to pin the overlayed window if I want to code and read some reference at the same time (This is where shortcuts keys come in handy).
So I can look at code and StackOverflow at the same time ;)
Ultramon
I split the eclipse environment over two monitors (both running at 1600*1200)
on the left I have the main coding window maximised with the outline down the right hand side.
On the second monitor I have the Junit window, Problems, Console and the package explorer
I have the same layout duplicated for all the perspectives that I use.
I have never used the Alt-Shift-Q short cut but I have found the Alt-Shift-X, T shortcut for running junit works fine when I am focussed in the main coding window .
Possibly have the package explorer on the same monitor as the coding window?
I have a widescreen primary monitor and a non-widescreen secondary monitor. The layout on my primary monitor is broken into three columns: column 1 contains the package explorer in the top half and the outline, hierarchy and search results views in tabs on the lower half. Column two is code, and is about two and a half times wider than the other two columns. (Since everybody has widescreen monitors at my office, we've standardized on 100-character lines instead of 80.) The third column has the debug view at the top, somewhat small; the variables, expressions and JUnit views in tabs below that, taking most of the vertical space; and a small breakpoints view below that. My secondary monitor has two torn off windows: the console takes up most of the screen, and below it I have a smaller window containging the problems and history views in tabs.
My only gripe is when I remote desktop in from my single-monitor setup at home: the two windows on the secondary monitor move over to the primary one. I have a "One Screen" perspective which I use in this scenario to rectify that, but when I'm back at work and switch to the dual-monitor perspective, I have to manually move the windows back over to the other monitor. I wish Eclipse would just leave them over there, but I can't see any way to make it do that.
I have my Package Explorer and Code on my primary monitor and the Console on my secondary monitor. I do this by right clicking over console tab and selecting Move.. then View.
This way I am able to drag, drop and resize the console window.
Hope this helps!
I did this by extending my eclipse to both monitors, in windows you can make your screens extended by holding win key and tapping P,
Then, selecting my left monitor as the main one I dragged the right side of the eclipse window to cover the other screen all the way. then made eclipse into three columns. Now my main monitor is dedicated to code editor and console and package explorer are on the other one! when you have a whole monitor for your code it always helps to use cntrl+{ and have a second vertical column for viewing the same file, or dragging the tab of another file to the side of screen to view both in the same time.
Finally I just saved my work from window > save Perspective As
I can switch between my normal and dual monitor perspective whenever I'm not in the office
I've reduced (but not eliminated) the need for the package explorer to always be showing by using Ctrl+Shift+R in eclipse, this pops up a filter-as-you type window that makes switching between files which you remember the name of easy, as well as accepting wildcards to make it easy to find files you partially remember the name of.
I keep source on my main screen and outline tasks and LogCat (android) on my secondary screen, if I find i'm reading a lot of web content i fire up my laptop via synergy as an independent third screen, it's not ideal but it works.