<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Hantsuki &#187; Eclipse</title>
	<link>http://blog.hantsuki.org</link>
	<description></description>
	<pubDate>Thu, 08 May 2008 03:59:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>
	<language>en</language>
			<item>
		<title>Debugging C# applications on Linux&#8230;</title>
		<link>http://blog.hantsuki.org/2008/03/30/debugging-c-applications-on-linux/</link>
		<comments>http://blog.hantsuki.org/2008/03/30/debugging-c-applications-on-linux/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 02:00:04 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2008/03/30/debugging-c-applications-on-linux/</guid>
		<description><![CDATA[Now you might be thinking that I&#8217;ve filed this under the wrong category but I actually really am here to talk about debugging C# applications on Linux (and on Eclipse, no less). Maybe Microsoft (or Novell?) will provide some .NET tooling for Eclipse in the future, but I suppose we&#8217;re just going to have to [...]]]></description>
			<content:encoded><![CDATA[<p>Now you might be thinking that I&#8217;ve filed this under the wrong category but I actually really am here to talk about debugging C# applications on Linux (and on Eclipse, no less). Maybe Microsoft (or Novell?) will provide some .NET tooling for Eclipse in the future, but I suppose we&#8217;re just going to have to make do with what we&#8217;ve got for the time being from what Harald has done thus far on <a href="http://emonic.sourceforge.net/">Emonic</a>.</p>
<p>In any case, let&#8217;s get this party started.</p>
<ol>
<li>Grab the Mono 1.9 &#8216;Other Linuxes&#8217; installer binary from their <a href="http://www.go-mono.com/mono-downloads/download.html">website</a>.</li>
<li>Run the installer. You&#8217;ll probably need to use <tt>chmod +x</tt> on it first though. This guide assumes that you did <b>not</b> opt in on modifying your <tt>~/.bashrc</tt> file. I will assume that you installed it into some place like <tt>~/mono-1.9/</tt>.</li>
<li>Start Eclipse up and point it at a new workspace. You mise well start fresh, right? Note that this has been tested on Eclipse 3.2.2 but since we don&#8217;t make any internal API calls, future versions should be a-okay also.</li>
<li>Checkout <tt>edu.arizona.cs.mbel2</tt>, <tt>emonic.base</tt>, <tt>org.emonic.debug.core</tt>, <tt>org.emonic.debug.ui</tt>, <tt>org.emonic.debugger</tt>, <tt>emonicinformator</tt>, and <tt>Emonic.DebugFrontend</tt> from SourceForge. You can use the handy CVS &#8220;path&#8221; below to fill up the wizard faster:<br />
<tt>:pserver:anonymous@emonic.cvs.sourceforge.net:/cvsroot/emonic</tt></li>
<li>Now we need to change the <tt>DebugFrontend.build</tt> build file located in the <tt>Emonic.DebugFrontend</tt> project. Point its <tt>debuggerLibs</tt> property to <tt>/home/username/mono-1.9/lib/mono/mono-debugger/</tt>.</li>
<li>Next, we need to change the <tt>Emonic.DebugFrontend</tt> project&#8217;s <tt>build_release.sh</tt> file&#8217;s <tt>TARGET</tt> variable. Point that at <tt>/home/username/workspacename/emonic.debugger</tt>.</li>
<li>We also need to change the <tt>build_release.sh</tt> file in the <tt>emonicinformator</tt> project. Change <tt>~/workspace_new/</tt> to wherever your workspace is.</li>
<li>Open a terminal and run <tt>source ~/mono-1.9/bin/setup.sh</tt>.</li>
<li>Invoke the <tt>build_release.sh</tt> script from the <tt>Emonic.DebugFrontend</tt> folder in the same terminal.
<li>Now invoke the other <tt>build_release.sh</tt> script that&#8217;s in the <tt>emonicinformator</tt> project.
<li>Back in Eclipse, we need to create a new &#8216;Eclipse Application&#8217; launch configuration that includes <tt>edu.arizona.cs.mbel2</tt>, <tt>org.emonic.base</tt>, <tt>org.emonic.debug.core</tt>, <tt>org.emonic.debug.ui</tt>, and <tt>org.emonic.debugger</tt>.</li>
<li>Next, we need to switch to the &#8216;Environment&#8217; tab. Set <tt>LD_LIBRARY_PATH</tt> to <tt>/home/username/mono-1.9/lib/</tt> and <tt>PKG_CONFIG_PATH</tt> to <tt>/home/usernamemono-1.9/mono/lib/pkgconfig/</tt>. I <b>think</b> this step isn&#8217;t necessary if you <b>did</b> opt in to change your <tt>~/.bashrc</tt> file, but since I&#8217;d rather not have my readers taint their setup needlessly, I decided to walk you all through the &#8220;long&#8221; way.</li>
<li>Make sure &#8216;Append environment to native environment&#8217; at the bottom of the tab is set. This should be what it is by default.</li>
<li>Run the second Eclipse.</li>
<li>In your second Eclipse, open up the preference page and then go to the &#8216;.NET > Installed Frameworks&#8217; preference page and add a framework that points to <tt>/home/username/mono-1.9</tt>. Now switch over to the &#8216;.NET > Building&#8217; preference page and then click &#8216;OK&#8217;.</li>
<li>Open the preferences again, you should be on the <tt>.NET > Building</tt> page, configure the NAnt command and point it at <tt>/home/username/mono/bin/nant</tt>. It is imperative that you followed these past two steps correctly. There is a bug that causes the values to not persist properly and resort to their defaults when switching pages and the like. If in doubt, redo it again.</li>
<li>Create a new .NET project. Accept the defaults, the build mechanism should default to &#8216;nant&#8217;.</li>
<li>Using the created <tt>src</tt> folder in the project, create a new C# class through the wizard. You&#8217;ll need to create a new target, give it a name.</li>
<li>Write some code. Two print statements would be a good test.</li>
<li>Right-click on the margin and select &#8216;Toggle Breakpoint&#8217; on the line with the first print statement (although it is very primitive).</li>
<li>Create a new debug launch configuration for a &#8216;.NET Application&#8217;. Point it at your project and then browse to the compiled .NET executable that should be in the <tt>bin</tt> folder.<br />
launch configuration. NAnt should&#8217;ve been run every time you saved, otherwise, the .NET executable may not have been created.</li>
<li>On the &#8216;Common&#8217; tab, unselect &#8216;Allocate Console (necessary for input)&#8217;.</li>
<li>Click &#8216;Apply&#8217; and then &#8216;Debug&#8217;.</li>
<li>After a bit of waiting, switch to the &#8216;Debug&#8217; perspective by hand. To those that prefer the perspective switching to happen automatically, sorry, that hasn&#8217;t been implemented yet.</li>
<li>The application should&#8217;ve stopped at the first print statement.</li>
<li>Try hitting F6 and see that the print statement appears properly.</li>
<li>Enjoy!</li>
</ol>
<p><center><a href="/wp-content/uploads/2008/03/dotnet-debugging.jpg"><img src="/wp-content/uploads/2008/03/dotnet-debugging.thumbnail.jpg"/></a></center></p>
<p>All feature requests should go <a href="http://sourceforge.net/tracker/?group_id=158390&#038;atid=807644">here</a> and all bug reports should go <a href="http://sourceforge.net/tracker/?group_id=158390&#038;atid=807641">here</a>. If you want to leave any comments about the debugger, you should consider posting them <a href="http://sourceforge.net/forum/forum.php?thread_id=1953608&#038;forum_id=533588">here</a>. For personal compliments (or hate mail if applicable), please route them to Harald as I don&#8217;t handle the debugger integration on Emonic. This is very much still in alpha, so don&#8217;t expect too much.</p>
<p>Yes, we know that creating a regular &#8216;Run&#8217; configuration doesn&#8217;t make anything show up on the &#8216;Debug&#8217; side. Due to the decoupled nature of our current plug-ins, the two are not tied together.</p>
<p>And no, it doesn&#8217;t work on Windows because there is no &#8216;mdb&#8217; on the Windows Mono build (at least, I didn&#8217;t see one when I installed it on Vista). If someone wants to try and write a debugger for us (ahahaha, who am I kidding?) or provide an interface with <a href="http://blogs.msdn.com/jmstall/archive/2005/11/08/mdbg_linkfest.aspx">MDbg</a> or something, please let us know.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2008/03/30/debugging-c-applications-on-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My stay at EclipseCon 2008&#8230;</title>
		<link>http://blog.hantsuki.org/2008/03/28/my-stay-at-eclipsecon-2008/</link>
		<comments>http://blog.hantsuki.org/2008/03/28/my-stay-at-eclipsecon-2008/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 02:23:46 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2008/03/28/my-stay-at-eclipsecon-2008/</guid>
		<description><![CDATA[So after my brief trip in Seattle concluded, I boarded an Alaska Airlines flight down south to San Jose to head off to EclipseCon.
Once I got the logistics of hotel check-ins and all done, I headed off to the registration area where I bumped into Nitin. After hanging around there for a little while, I [...]]]></description>
			<content:encoded><![CDATA[<p>So after my <a href="/2008/03/26/touring-seattle-and-microsoft/">brief trip in Seattle</a> concluded, I boarded an Alaska Airlines flight down south to San Jose to head off to EclipseCon.</p>
<p>Once I got the logistics of hotel check-ins and all done, I headed off to the registration area where I bumped into <a href="http://www.evw3.net/">Nitin</a>. After hanging around there for a little while, I met <a href="http://www.lemmster.de/blog/">Markus</a> who told me that he was hanging out outside of the bar with some other folks so off we went. I got to meet <a href="http://tom-eclipse-dev.blogspot.com/">Tom</a> and Markus&#8217;s coworker (whose name evades me) there. <a href="http://pweclipse.blogspot.com/">Paul</a> and Eric also dropped by a little later to say hi. Some time later, we headed back over to the registration booth where I took some pictures of those AMD machines since my brother works for them. We also spotted <a href="http://eclipseecf.blogspot.com/">Scott</a> here. Markus and he had a good chat while Nitin, Achim, and I started yapping about the difficulties around implementing a shared editor.</p>
<p><center><a href="/wp-content/uploads/2008/03/amd01.jpg"><img src="/wp-content/uploads/2008/03/amd01.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/amd02.jpg"><img src="/wp-content/uploads/2008/03/amd02.thumbnail.jpg"/></a></center></p>
<p>After this, Nitin and I headed off to <a href="http://ianskerrett.wordpress.com/">Ian</a>&#8217;s <a href="http://ianskerrett.wordpress.com/2008/02/26/blogger-party-at-eclipsecon/">blogger party</a>.</p>
<p><center><a href="/wp-content/uploads/2008/03/party01.jpg"><img src="/wp-content/uploads/2008/03/party01.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/party02.jpg"><img src="/wp-content/uploads/2008/03/party02.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/party03.jpg"><img src="/wp-content/uploads/2008/03/party03.thumbnail.jpg"/></a></center></p>
<p>This is where Ian asked me if I ever go to <a href="http://www.uwaterloo.ca/">class</a>. And the answer is, why yes, I do go to class. Although I will admit I do sit on IRC during some lectures, but not all, mind you. In any case, the rest of the day ended rather uneventfully.</p>
<p>On Monday, I was up early to grab some food and drinks. I bumped into <a href="http://lenettoyeur-on-eclipse.blogspot.com/">Pascal</a>, <a href="http://overholt.ca/wp">Andrew</a>, and Steffen while I was darting around the tables.</p>
<p>The first tutorial I went to was Benjamin&#8217;s &#8220;<a href="http://www.eclipsecon.org/2008/?page=sub/&#038;id=8">Plastic Surgery For Eclipse: Custom SWT Widgets, RCP Customization, And More</a>&#8220;. While I&#8217;ve done plenty of UI work in the past, I&#8217;ve never done any of the things that Benny talked about, so this was certainly well worth my time.</p>
<p>I skipped the second time slot since Andrew and I were going to head over to Google to visit <a href="http://blog.igorfoox.com/">Igor</a>. We waited for the time to pass on the second floor whilst checking emails and the likes on our notebooks.</p>
<p>I was lucky enough to bump into <a href="http://dev.eclipse.org/blogs/mcqjustmcq">McQ</a> there as I hadn&#8217;t met him since my <a href="http://www.ibm.com/extremeblue/">Extreme Blue</a> internship at <a href="http://www-03.ibm.com/software/ca/en/ottawalab/">IBM Ottawa</a> ended. I wasn&#8217;t so lucky since I had bugzilla open on my notebook screen, which he was quick to critique about. I guess I failed to show him that I was working on my &#8220;<a href="/2008/03/11/ill-be-there-again/">work/life balance</a>&#8220;.</p>
<p>Time flew by soon enough and it was time for Andrew and I to head off to Google. I asked someone to take a picture of us. Here you can see Dave, yours truly, Andrew, and Neil. McQ had already left, hence he is not here. :(</p>
<p><center><a href="/wp-content/uploads/2008/03/friends01.jpg"><img src="/wp-content/uploads/2008/03/friends01.thumbnail.jpg"/></a></center></p>
<p>Google&#8217;s buildings are quite elaborate and their food is certainly one of a kind. I forgot to take any pictures so you&#8217;re just going to have to take my word on this one. Our trip back wasn&#8217;t so great as Andrew <a href="http://overholt.ca/wp/?p=99">had noted</a>, but no problem, we only lost a few minutes. Being Paul&#8217;s unofficial underling, I felt compelled to go to his tutorial, so I did. It&#8217;s hard to help fix Paul&#8217;s bugs if I don&#8217;t understand the stuff he works on after all.</p>
<p><center><a href="/wp-content/uploads/2008/03/paul.jpg"><img src="/wp-content/uploads/2008/03/paul.thumbnail.jpg"/></a></center></p>
<p>While I was waiting for <a href="http://www.eclipsecon.org/2008/?page=sub/&#038;id=280">Nitin&#8217;s tutorial</a> to get started, I went off to go look for <a href="http://polishineclipse.blogspot.com/">Tomasz and Szymon</a>. Szymon was busy attending to someone else but I was able to have a nice chat with Tomasz.</p>
<p><a href="http://divby0.blogspot.com">Nick</a> dropped by Nitin&#8217;s tutorial after I pinged him and he, Dave, and I started reminiscing about the <a href="http://divby0.blogspot.com/2007/10/dr-strangechannel-or-how-i-learned-to.html">good times</a> we&#8217;ve had together on <a href="http://wiki.eclipse.org/IRC">#eclipse</a>.</p>
<p>After the last of the tutorials, it was time for the community awards. There was some good Jeopardy action before that first though. I don&#8217;t remember what the question was but this answer was real long. I think it was something like &#8220;What does the Eclipse Foundation do?&#8221; or &#8220;What is the Eclipse Foundation responsible for?&#8221;. I do believe no one got it.</p>
<p><center><a href="/wp-content/uploads/2008/03/jeopardy.jpg"><img src="/wp-content/uploads/2008/03/jeopardy.thumbnail.jpg"/></a></center></p>
<p>The community awards came after the two rounds of Jeopardy concluded. Thank you all for your support! :)</p>
<p><center><a href="/wp-content/uploads/2008/03/awards01.jpg"><img src="/wp-content/uploads/2008/03/awards01.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/awards02.jpg"><img src="/wp-content/uploads/2008/03/awards02.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/awards03.jpg"><img src="/wp-content/uploads/2008/03/awards03.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/awards04.jpg"><img src="/wp-content/uploads/2008/03/awards04.thumbnail.jpg"/></a></center></p>
<p>Once the event was over, it was on to the BOF sessions. Of course, this wasn&#8217;t before having a brief chat with <a href="http://dev.eclipse.org/blogs/jeff">Jeff</a> and Dale and a photo with Nitin first.</p>
<p><center><a href="/wp-content/uploads/2008/03/friends02.jpg"><img src="/wp-content/uploads/2008/03/friends02.thumbnail.jpg"/></a></center></p>
<p>I attended the <a href="http://www.eclipsecon.org/2008/?page=sub/&#038;id=552">SOC BOF</a> first with Igor where I got to meet <a href="http://dev.eclipse.org/blogs/wayne">Wayne</a> for the second time and <a href="http://konigsberg.blogspot.com/">Rob</a> for the first time. It was nice having Igor and Rob there as it helped give us a bit of an &#8220;insider&#8217;s perspective&#8221;. Prior to the <a href="http://www.eclipsecon.org/2008/?page=sub/&#038;id=610">ECF BOF</a>, Igor and I went over to look for Andrew where I was able to meet the famed <a href="http://www.vektor.ca/">Billy Biggs</a>.</p>
<p>At the ECF BOF, we had Scott, Jan, Markus and me from the team. Rob, Pascal, and another fellow were also there to join us. We talked about p2 and ECF&#8217;s discovery APIs as well as shared editing.</p>
<p><center><a href="/wp-content/uploads/2008/03/bof01.jpg"><img src="/wp-content/uploads/2008/03/bof01.thumbnail.jpg"/></a> <a href="/wp-content/uploads/2008/03/bof02.jpg"><img src="/wp-content/uploads/2008/03/bof02.thumbnail.jpg"/></a></center></p>
<p>Upon its conclusion, I waved my farewells and headed off back to my hotel room. I listened to some tunes from Final Fantasy XII before I retired to bed. I was pretty surprised that they had such a device, but hey, I&#8217;m totally down with that.</p>
<p><center><a href="/wp-content/uploads/2008/03/music.jpg"><img src="/wp-content/uploads/2008/03/music.thumbnail.jpg"/></a></center></p>
<p>The next day, I woke up at 0400 and took a cab at around 0435 to head to the airport. Hopefully, I&#8217;ll be able to attend again next year. Oh, and staying longer next time wouldn&#8217;t hurt either. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2008/03/28/my-stay-at-eclipsecon-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;ll be there, again&#8230;</title>
		<link>http://blog.hantsuki.org/2008/03/11/ill-be-there-again/</link>
		<comments>http://blog.hantsuki.org/2008/03/11/ill-be-there-again/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 20:05:32 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2008/03/11/ill-be-there-again/</guid>
		<description><![CDATA[
This will be my second time going to EclipseCon and I&#8217;ll be setting new lows by staying for an even shorter amount of time than I did last year. I&#8217;ll be flying in to San Jose on Sunday afternoon and departing on Tuesday at 0620. Yeah, that&#8217;s right, I said 0620. The reason I have [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="/wp-content/uploads/2008/03/going-to-eclipsecon.gif"/></center></p>
<p>This will be my second time going to EclipseCon and I&#8217;ll be setting new lows by staying for an even shorter amount of time than I did last year. I&#8217;ll be flying in to San Jose on Sunday afternoon and departing on Tuesday at 0620. Yeah, that&#8217;s right, I said 0620. The reason I have to do this is because I have <a href="http://www.uwaterloo.ca/">other obligations</a> that I need to fulfill. All this juggling of time is actually part of my master plan to achieve &#8220;work/life balance&#8221;. Though, of course, it&#8217;s not going very well right now (since I just sit on IRC all day long), but someday&#8230;</p>
<p>In any case, if you&#8217;re looking for me at EclipseCon, you&#8217;ll probably find me wherever the &#8220;IRC posse&#8221; (as Tod coined us) or Platform team is. I&#8217;ll also be at the SOC and ECF BOF sessions, so you can look for me there too.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2008/03/11/ill-be-there-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to contribute to Eclipse projects&#8230;</title>
		<link>http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/</link>
		<comments>http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 01:16:58 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/</guid>
		<description><![CDATA[The question of how one could contribute to the Eclipse community has been brought up a couple of times on IRC in the past few months. There are a variety of ways of contributing to Eclipse projects, one can help the Eclipse effort by filing bugs and enhancement requests or answering questions on the newsgroup [...]]]></description>
			<content:encoded><![CDATA[<p>The question of how one could contribute to the Eclipse community has been brought up a couple of times on IRC in the past few months. There are a variety of ways of contributing to Eclipse projects, one can help the Eclipse effort by filing bugs and enhancement requests or answering questions on the newsgroup and IRC. The one that comes to mind for most young, aspiring software developers is probably in the form of contributing code, so that&#8217;s what I&#8217;m going to talk about here.</p>
<p>The easiest way to contribute some of your hand-crafted coded to an Eclipse project is probably by finding a bug that you are interested in fixing or a feature that you are interested in implementing. The <a href="http://wiki.eclipse.org/Bug_Day">Bug Day</a> wiki page is a good start, you can also just run your own Bugzilla <a href="https://bugs.eclipse.org/bugs/query.cgi">queries</a> if you wish. I personally run a query on Bugzilla every couple of hours every day on all Eclipse bugs (the &#8216;Eclipse&#8217; in this context would be the top-level Eclipse project) to see what&#8217;s been filed today to help with the triage work and bug fixing. I&#8217;m going to base this &#8220;exercise&#8221; around a bug that <a href="http://polishineclipse.blogspot.com/">Tomasz</a> filed a couple of days ago, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=221652">bug 221652</a>.</p>
<p>Not every bug is as straightforward as this one and while I had a feeling that it was a going to be an easy fix, I still wanted to know how the Compare team wanted it done. So, I <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=221652#c2">asked</a>. :) If you find a bug you&#8217;re interested in working on but are a little lost, make sure you ask like I did! Someone with the relevant know-how will then be able to give you some pointers and provide more context about the bug like Tomasz did in his <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=221652#c4">reply</a>. Alright, now that we&#8217;ve been told how the team wants it fixed, it&#8217;s time to start hacking!</p>
<p>Or at least, that&#8217;s what <a href="http://www.youtube.com/watch?v=v4Wy7gRGgeA">code monkeys</a> like me likes to think. But, where do we go from here? How do I know which plug-in the code is in, let alone which class? If you don&#8217;t know the answer, you can usually just ask on the bug. But since the Workspace team is a busy bunch, let&#8217;s not bother them. Instead, I&#8217;m going to walk you through a little trick I use often when I need to find classes at the UI level.</p>
<p>The first thing any plug-in developer should do before writing plug-ins would be to add all of their base target platform&#8217;s plug-ins to the Java search scope for easy access via &#8216;Open Type&#8217;. So fire up the &#8216;Plug-ins&#8217; view and then add them all to the Java search path.</p>
<p><center><img src="/wp-content/uploads/2008/03/add-java-search.jpg"/></center></p>
<p>Once you&#8217;ve done this, you should also unfilter that secret PDE project from the &#8216;Package Explorer&#8217; while you&#8217;re at it.</p>
<p><center><img src="/wp-content/uploads/2008/03/filters.jpg"/></center></p>
<p>You should now see the &#8216;External Plug-in Libraries&#8217; project in your &#8216;Package Explorer&#8217;, this will come in handy later. Anyway, now that I have all the Java classes at my disposal, I need to start thinking about the bug and where its code comes from. Since I know we&#8217;re dealing with wizard pages here, I can make a pretty safe assumption that the wizard page class that the Compare team crafted is going to be subclassing <a href="http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/wizard/WizardPage.html">WizardPage</a>. We can use this to our advantage by putting a breakpoint in its constructors and subsequently start up a debugged Eclipse instance. Now if we try to reproduce the bug, the wizard pages will get constructed and our breakpoint should hopefully be hit! :D</p>
<p><center><img src="/wp-content/uploads/2008/03/breakpoint.jpg"/></center></p>
<p>Well, look at that, from climbing up the stack trace, we discover that the wizard pages are being constructed within the GenerateDiffFileWizard&#8217;s addPages() method. By thinking about the class hierarchy of the user interface elements you are interacting with and placing breakpoints intelligently, you can find classes quite easily. There&#8217;s been cases where I&#8217;ve setup some breakpoints in places like Button or Label&#8217;s setText(String) method with a condition that the passed in string was equal to some value so that the code would stop right when the control was being created. Pretty hacky, but hey, it works. ;) Desperate times calls for desperate measures, as I often like to say.</p>
<p>In any case, now that you&#8217;ve identified the class(es) you&#8217;re interested in (GenerateDiffFileWizard and its inner class OptionsPage, in my case), you should use the &#8216;Link With Editor&#8217; feature.</p>
<p><center><img src="/wp-content/uploads/2008/03/link.jpg"/></center></p>
<p>This will expand the &#8216;Package Explorer&#8217; and &#8220;link&#8221; the opened file in the editor with a selection in the &#8216;Package Explorer&#8217;. By scrolling up, I can quickly find the class&#8217;s containing jar. This tells me I need to checkout the org.eclipse.team.cvs.ui module from CVS HEAD.</p>
<p><center><img src="/wp-content/uploads/2008/03/look-up.jpg"/></center></p>
<p>I&#8217;ll skip the details about this since I assume all my readers knows how to use the CVS plug-in that comes with the Eclipse SDK. Once that&#8217;s taken care of, we should make a new launch configuration and make sure that this launch configuration has the proper plug-ins selected in the &#8216;Plug-ins&#8217; tab.</p>
<p><center><img src="/wp-content/uploads/2008/03/launch-dialog.jpg"/></center></p>
<p>You can see that I&#8217;ve set my launch configuration to include the copy of org.eclipse.team.cvs.ui from my workspace. Make sure it&#8217;s unselected from your &#8216;Target Platform&#8217; tree. Once that&#8217;s taken care of, we should launch Eclipse again to ensure that the bug is still reproducible with the latest code from the repositories. If we get a positive, we can go about and try to fix the bug&#8230;</p>
<p>When the bug&#8217;s been fixed, a &#8216;Team > Synchronize&#8217; on the modified projects in question through the context menu is in order so that we can check up on our changes. Once you&#8217;ve identified that no conflicts are in place and removed some of the cruft you may or may not have added (such as test code that was commented out or unnecessary/excessive whitespace changes), it&#8217;s time to make a patch!</p>
<p><center><img src="/wp-content/uploads/2008/03/create-patch.jpg"/></center></p>
<p>I&#8217;d recommend setting the &#8216;Patch Root&#8217; to &#8216;Workspace&#8217; even if you&#8217;re only patching one project. I caused <a href="http://pweclipse.blogspot.com/">Paul</a> some grief during my first couple of contributions to Platform/UI since they were all at the &#8216;Project&#8217; level and made the applying of patches require a few additional mouse clicks on his part. Might as well streamline the whole process for the person that is going to be reviewing your patch, those extra brownie points do add up! Anyway, once the patch has been created, it&#8217;s time to attach your patch to bugzilla!</p>
<p><center><img src="/wp-content/uploads/2008/03/add-attachment.jpg"/></center></p>
<p><center><img src="/wp-content/uploads/2008/03/patch-submission.jpg"/></center></p>
<p>And that&#8217;s that! Someone will look at your patch as soon as time permits and provide you with the necessary feedback to improve on it if applicable. Subsequently, with a bit of luck, it could get pushed to the repositories! :D Though, I&#8217;m sure none of you need any luck since I&#8217;m sure my fellow readers are better programmers than yours truly. ;)</p>
<p>Happy hacking! Don&#8217;t be shy about volunteering to help, everybody loves contributions!</p>
<p><center><img src="/wp-content/uploads/2008/03/contributions.jpg"/></center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New upgrades for KOS-MOS&#8230;</title>
		<link>http://blog.hantsuki.org/2008/02/09/new-upgrades-for-kos-mos/</link>
		<comments>http://blog.hantsuki.org/2008/02/09/new-upgrades-for-kos-mos/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 17:08:52 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2008/02/09/new-upgrades-for-kos-mos/</guid>
		<description><![CDATA[I upgraded KOS-MOS&#8216; equipment today to combat some new threats that have arisen in IRC land recently. 216467 will be of particular interest to committers now that the CQ season has started. I also retrofitted her with some new communications devices to resolve 216644 to help our field operatives find and provide information faster and [...]]]></description>
			<content:encoded><![CDATA[<p>I upgraded <a href="http://wiki.eclipse.org/IRC_bot">KOS-MOS</a>&#8216; equipment today to combat some new threats that have arisen in <a href="http://wiki.eclipse.org/IRC">IRC land</a> recently. <strike><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=216467">216467</a></strike> will be of particular interest to committers now that the <a href="http://dev.eclipse.org/blogs/jeff/2008/01/31/the-eerie-silence-in-ipzilla/">CQ season</a> has started. I also retrofitted her with some new communications devices to resolve <strike><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=216644">216644</a></strike> to help our field operatives find and provide information faster and easier.</p>
<p><center><a href="/wp-content/uploads/2008/02/all_kosmos.jpg"><img src="/wp-content/uploads/2008/02/all_kosmos.thumbnail.jpg"/></a></center></p>
<p>While <a href="http://en.wikipedia.org/wiki/KOS-MOS">KOS-MOS</a> is capable of many things, she can only do so much! So if you&#8217;ve got some spare cycles during the day, please consider dropping by to interact with Eclipse&#8217;s IRC community. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2008/02/09/new-upgrades-for-kos-mos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JDT/Text adds a new feature, you all know what that means&#8230;</title>
		<link>http://blog.hantsuki.org/2008/01/19/jdttext-adds-a-new-feature-you-all-know-what-that-means/</link>
		<comments>http://blog.hantsuki.org/2008/01/19/jdttext-adds-a-new-feature-you-all-know-what-that-means/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 18:03:48 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2008/01/19/jdttext-adds-a-new-feature-you-all-know-what-that-means/</guid>
		<description><![CDATA[Whenever JDT/Text adds a new feature, every other language editor usually buckle up their belts and try to model the same behaviour in their editors. This will probably be no different with the recent advent of them Java editor breadcrumbs that was recently implemented by bug 210830. You can give it a whirl in the [...]]]></description>
			<content:encoded><![CDATA[<p>Whenever JDT/Text adds a new feature, every other language editor usually buckle up their belts and try to model the same behaviour in their editors. This will probably be no different with the recent advent of <a href="http://dev.eclipse.org/blogs/jdtui/files/2008/01/breadcrumb.png">them Java editor breadcrumbs</a> that was recently implemented by <strike><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210830">bug 210830</a></strike>. You can give it a whirl in the <a href="http://download.eclipse.org/eclipse/downloads/">N20080119-0010 build</a> if you&#8217;re in the mood.</p>
<p>So how hard is it to implement this? If you&#8217;re trying to do a quick and dirty hack as a prototype for your product manager for that meeting this coming Monday, have no fear, it&#8217;s completely doable! Hell, I just did it this morning.</p>
<p><center><a href="/wp-content/uploads/2008/01/custom-breadcrumbs.jpg"><img src="/wp-content/uploads/2008/01/custom-breadcrumbs.thumbnail.jpg"/></a></center></p>
<p>Look at that, it&#8217;s like child&#8217;s play.</p>
<p>Here are some tips for the aspiring breadcrumb hacker:</p>
<ul>
<li>in your <tt>EditorBreadcrumb</tt> subclass, make sure you call <tt>setTextViewer(ITextViewer)</tt> or your will get an NPE when you return <tt>true</tt> for the <tt>open(Object)</tt> or <tt>reveal(Object)</tt> methods</li>
<li>when creating your <tt>ITreeContentProvider</tt> implementation, make sure you implement <tt>getParent(Object)</tt> properly, in standard <tt>TreeViewer</tt>s, it never seemed to matter (from my own experience), but it does in this scenario</li>
<li>the JDT dependencies can be safely removed, I ended up using a <tt>Twistie</tt> instead of porting the images over, feel free to do either or</li>
<li>the code will even work on Eclipse 3.2 (and possibly lower, but I didn&#8217;t try)</li>
</ul>
<p>Getting the keybindings to work properly and all will probably be difficult, but don&#8217;t look at me, because I didn&#8217;t even try. ;) Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2008/01/19/jdttext-adds-a-new-feature-you-all-know-what-that-means/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ADT 0.3 does not run on 3.4M3, so don&#8217;t even try&#8230;</title>
		<link>http://blog.hantsuki.org/2007/11/12/adt-03-does-not-run-on-34m3-so-dont-even-try/</link>
		<comments>http://blog.hantsuki.org/2007/11/12/adt-03-does-not-run-on-34m3-so-dont-even-try/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 04:58:13 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2007/11/12/adt-03-does-not-run-on-34m3-so-dont-even-try/</guid>
		<description><![CDATA[Creating the project is as simple as can be. An Eclipse plugin is available making Android development a snap. You&#8217;ll need to have Eclipse 3.3 (Europa) or higher installed, and you&#8217;ll need to install the Android Plugin for Eclipse. Once you have those installed, come back here.
If you were thinking about using the ADT on [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Creating the project is as simple as can be. An Eclipse plugin is available making Android development a snap. You&#8217;ll need to have Eclipse 3.3 (Europa) or higher installed, and you&#8217;ll need to install the Android Plugin for Eclipse. Once you have those installed, come back here.</p></blockquote>
<p>If you were thinking about using the ADT on 3.4M3 (since it says &#8220;or higher&#8221;), don&#8217;t even try, because you can&#8217;t even get past the first step of the &#8216;<a href="http://code.google.com/android/intro/hello-android.html">Hello, Android!</a>&#8216; tutorial since the wizard won&#8217;t even open.</p>
<p><center><a href="/wp-content/uploads/2007/11/adt-project-error.jpg"><img src="/wp-content/uploads/2007/11/adt-project-error.thumbnail.jpg"/></a></center></p>
<p>At this point, you might try to click on the &#8216;OK&#8217; or the &#8216;Details >>&#8217; button, but this will not work. I don&#8217;t know if it&#8217;s because I&#8217;m on Fluxbox (which isn&#8217;t a real desktop environment,) or not, but if it doesn&#8217;t work for you, you should Alt+Tab off that window back to the &#8216;New Project&#8217; wizard and close that dialog. Once that&#8217;s closed, you can now go back to the error dialog and close that with the &#8216;OK&#8217; button.</p>
<p>If you look at your workspace logs, you will find something like the following&#8230;</p>
<p><code>!ENTRY org.eclipse.jface 4 2 2007-11-12 23:20:50.557<br />
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".<br />
!STACK 0<br />
java.lang.NoSuchFieldError: JavaProjectWizardFirstPage_NameGroup_label_text<br />
        at com.google.android.adt.project.NewAndroidProjectCreationPage.createProjectNameGroup(NewAndroidProjectCreationPage.java:230)<br />
        at com.google.android.adt.project.NewAndroidProjectCreationPage.createControl(NewAndroidProjectCreationPage.java:202)<br />
        at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:170)</code></p>
<p>So it seems like Google is using internal Eclipse APIs or something of that nature (as they appear to be accessing JDT&#8217;s externalized strings directly) which got removed in the 3.4 stream. This should be no surprise since the top portion of the two wizards look the same.</p>
<p><center><a href="/wp-content/uploads/2007/11/adt-wizard.png"><img src="/wp-content/uploads/2007/11/adt-wizard.thumbnail.png"/></a> <a href="/wp-content/uploads/2007/11/jdt-wizard.png"><img src="/wp-content/uploads/2007/11/jdt-wizard.thumbnail.png"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2007/11/12/adt-03-does-not-run-on-34m3-so-dont-even-try/feed/</wfw:commentRss>
		</item>
		<item>
		<title>An old friend, the &#8216;Navigator&#8217; view&#8230;</title>
		<link>http://blog.hantsuki.org/2007/11/04/an-old-friend-the-navigator-view/</link>
		<comments>http://blog.hantsuki.org/2007/11/04/an-old-friend-the-navigator-view/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 00:58:42 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2007/11/04/an-old-friend-the-navigator-view/</guid>
		<description><![CDATA[While I&#8217;m sure we all threw up the &#8216;Navigator&#8217; view once in a while back in the pre-3.2 days of Eclipse, I can&#8217;t say that I&#8217;ve opened it up much anymore. With the working set support in the &#8216;Project Explorer&#8217; view, the &#8216;Navigator&#8217; is just way too disorganized for me to stand. The only time [...]]]></description>
			<content:encoded><![CDATA[<p>While I&#8217;m sure we all threw up the &#8216;Navigator&#8217; view once in a while back in the pre-3.2 days of Eclipse, I can&#8217;t say that I&#8217;ve opened it up much anymore. With the working set support in the &#8216;Project Explorer&#8217; view, the &#8216;Navigator&#8217; is just way too disorganized for me to stand. The only time I ever pull it up nowadays is for a quick view of all the files in my projects (usually for the .* resources that are hidden by default by filters). This is all fine and dandy for us veterans but the presence of two views that seem to offer identical but not actually identical features is a nightmare for new users.</p>
<p>So, if you will, please join the discussion on <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=208693">bug 208693</a> and voice your opinion on the topic!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2007/11/04/an-old-friend-the-navigator-view/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Emonic 0.3 released&#8230;</title>
		<link>http://blog.hantsuki.org/2007/10/23/emonic-03-released/</link>
		<comments>http://blog.hantsuki.org/2007/10/23/emonic-03-released/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 22:24:15 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2007/10/23/emonic-03-released/</guid>
		<description><![CDATA[The final version has officially gone out the doors! Take note that this doesn&#8217;t imply that the team has shifted into low gears at all. Dominik has actually already started working on improving the code completion (with images, for starters,) and I&#8217;m hoping to commit some code to allow us to plug into the Common [...]]]></description>
			<content:encoded><![CDATA[<p>The final version has officially <a href="http://sourceforge.net/forum/forum.php?forum_id=747718">gone out the doors</a>! Take note that this doesn&#8217;t imply that the team has shifted into low gears at all. Dominik has actually already started working on improving the code completion (with images, for starters,) and I&#8217;m hoping to commit some code to allow us to plug into the Common Navigator Framework some time before the end of the week. :) Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2007/10/23/emonic-03-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Emonic 0.3 RC1 released&#8230;</title>
		<link>http://blog.hantsuki.org/2007/10/14/emonic-03-rc1-released/</link>
		<comments>http://blog.hantsuki.org/2007/10/14/emonic-03-rc1-released/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 02:56:29 +0000</pubDate>
		<dc:creator>Remy</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.hantsuki.org/2007/10/14/emonic-03-rc1-released/</guid>
		<description><![CDATA[Bernhard has officially pushed RC1 out into the wilds. We&#8217;ve implemented quite a few new features in addition to fixing a good number of bugs. These new features include, but are not limited to, the following:

&#8216;Quick Outline&#8217; via Ctrl+O
faster &#8216;Outline&#8217; parsing
better handling of .NET environments
improvements to the build mechanism
console hyperlink support
launching support for .exe files

I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>Bernhard has officially pushed <a href="http://sourceforge.net/forum/forum.php?forum_id=744690">RC1</a> out into the wilds. We&#8217;ve implemented quite a few new features in addition to fixing a good number of bugs. These new features include, but are not limited to, the following:</p>
<ul>
<li>&#8216;Quick Outline&#8217; via Ctrl+O</li>
<li>faster &#8216;Outline&#8217; parsing</li>
<li>better handling of .NET environments</li>
<li>improvements to the build mechanism</li>
<li>console hyperlink support</li>
<li>launching support for .exe files</li>
</ul>
<p>I&#8217;ve tested this on Eclipse 3.2.2 as well as I20071009-2255 and things look okay. Of course, since I don&#8217;t really know too much about C#, I can&#8217;t really comment on how well it fares as an actual development environment. So, please do download the zip file and give it a go if you can. If you have any <a href="http://sourceforge.net/tracker/?group_id=158390&#038;atid=807644">features</a> or <a href="http://sourceforge.net/tracker/?group_id=158390&#038;atid=807641">bugs</a> that you&#8217;d like implemented or fixed, please let us know in our issue tracking system on Sourceforge. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hantsuki.org/2007/10/14/emonic-03-rc1-released/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
