Wednesday, November 12, 2014

Eclipse: Adding a new console and writing messages to it

http://www.jevon.org/wiki/writing_to_a_console_in_eclipse

MessageConsole console = new MessageConsole("Node Console", null);
console.activate();
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{ console });
MessageConsoleStream stream = console.newMessageStream();
stream.println("Hello, world!");


This is how it looks..


Tuesday, November 11, 2014

Remove all .svn folders recursively

For my reference...

To remove all .svn folders from your project, we can run the following command from the root of the folder.

FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%G"

References:
http://stackoverflow.com/questions/4889619/command-to-recursively-remove-all-svn-directories-on-windows
http://blog.falafel.com/recursively-delete-svn-directories-with-the-windows-command-line/

Wednesday, October 29, 2014

Linking external project to eclipse workspace without really moving the project content

If you wanted to access the external eclipse project resources without really adding them into eclipse workspace, below piece code will help to do that.


 privagte void linkProject(String projectPath) throws CoreException {

IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription( new Path(projectPath + File.separator +".project"));

IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName()); 
project.create(description, IProject.FORCE, null);
 if (!project.isOpen()) {
   project.open(null);
   }

 }

Saturday, October 18, 2014

Closing eclipse empty editor area

I have a use case, where I need to the close the eclipse empty editor area, so that editor area can be used by something else.

This can be achieved by implementing IPartListerner2 interface which is provided org.eclipse.ui.*


import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IPartListener2;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPartReference;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.editors.text.TextEditor;

public class AbstractMyEditor extends TextEditor implements IPartListener2 {

@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
site.getPage().addPartListener(this);
super.init(site, input);
}
@Override
public void partActivated(IWorkbenchPartReference partRef) {
}

@Override
public void partBroughtToTop(IWorkbenchPartReference partRef) {
}

@Override
public void partClosed(IWorkbenchPartReference partRef) {
IWorkbenchPage page = partRef.getPage();
if (page.isEditorAreaVisible()) {
IEditorReference[] editores = page.getEditorReferences();
if (editores.length <= 0) {
page.setEditorAreaVisible(false);
}
}
}

@Override
public void partDeactivated(IWorkbenchPartReference partRef) {
}

@Override
public void partOpened(IWorkbenchPartReference partRef) {
}

@Override
public void partHidden(IWorkbenchPartReference partRef) {
}

@Override
public void partVisible(IWorkbenchPartReference partRef) {
}

@Override
public void partInputChanged(IWorkbenchPartReference partRef) { }
}

Tuesday, October 14, 2014

Eclipse view id's

For my reference.

Eclipse view id's for progress view and error log view.

org.eclipse.ui.views.ProgressView
org.eclipse.pde.runtime.LogView
org.eclipse.ui.console.ConsoleView

org.eclipse.ui.views.ResourceNavigator  => IPageLayout.ID_RES_NAV
org.eclipse.ui.navigator.ProjectExplorer  => IPageLayout.ID_PROJECT_EXPLORER

Monday, October 13, 2014

-vm in eclipse.ini is not considered during the eclipse launch in mac os x

I was facing this issue, I have multiple Java versions installed in my Mac system and I wanted to change my eclipse default Java version.

I have configured -vm parameter in eclipse.ini file in mac os x, but some how this parameter didn't take effect.
-vm
Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

To resolve this issue, I have followed the below link.
http://stackoverflow.com/questions/10352715/how-do-i-run-eclipse-using-oracles-new-1-7-jdk-for-the-mac

What worked for me is, configuring libjvm.dylib path in the eclipse.ini file and info.plist file.

eclipse.ini
-------------
-vm
Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server/libjvm.dylib

info.plist
----------
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server/libjvm.dylib</string>
</array>

Add above entry in the last.

info.plist file can be found in below location:
Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents