<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Simon Whatley &#187; CFEclipse</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/cfeclipse/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Using Ant with Eclipse</title>
		<link>http://www.simonwhatley.co.uk/using-ant-with-eclipse</link>
		<comments>http://www.simonwhatley.co.uk/using-ant-with-eclipse#comments</comments>
		<pubDate>Tue, 06 Jan 2009 11:16:44 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[build.xml]]></category>
		<category><![CDATA[CFEclipse]]></category>
		<category><![CDATA[Click Import]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[dev server]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[extreme programming]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[lifecycle]]></category>
		<category><![CDATA[Martin Laine]]></category>
		<category><![CDATA[platform-independent tool]]></category>
		<category><![CDATA[software automation]]></category>
		<category><![CDATA[test-driven development]]></category>
		<category><![CDATA[unit testing frameworks]]></category>
		<category><![CDATA[web developers]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[web server folder]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1552</guid>
		<description><![CDATA[If you're currently not using Eclipse as your development tool of choice, you certainly should be! Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re currently not using Eclipse as your development tool of choice, you certainly should be! Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.</p>
<p>Eclipse started out as a Java <abbr title="Integrated Development Environment">IDE</abbr> and has continually grown from there. Plugins now include, amongst a plethora of others, the venerable Aptana, CFEclipse, SQL Explorer, Subclipse and, more recently, the Adobe-developed Flex Builder and ColdFusion-equivalent codenamed <q>Bolt</q>.</p>
<p>Apache Ant is a software tool for automating software build processes. It is implemented using the Java language, requires the Java platform, and was originally developed to automate the build of Java projects. However, since Ant was created as a simple, platform-independent tool, it can really be used to automate the build of anything you choose.</p>
<p>Ant uses <abbr title="eXtensible Markup Language">XML</abbr> to describe the build process and its dependencies, using a file commonly called <code>build.xml</code>. Using this file, Ant makes it trivial to integrate unit testing frameworks with the build process and has made it easy for web developers to adopt test-driven development, and even Extreme Programming.</p>
<p>Fortunately for us, if you download and run Eclipse, you already have Ant installed and so do not have any complex configuration to concern yourself with; well, at least initially.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Setting Up Eclipse</h3>
<p>For the most part, Eclipse has all you need to get up and running with Ant pre-installed. However, most projects will include a release target which uses <abbr title="File Transfer Protocol">FTP</abbr> to upload the files to a live server. The <abbr title="File Transfer Protocol">FTP</abbr> ant task requires some extra libraries (.jar files):</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">commons-net-*.jar
jakarta-oro-*.jar</pre></div></div>

<p>(The library <a href="http://www.simonwhatley.co.uk/examples/ant/">files can be downloaded from here</a>).</p>
<p>Copy the files into the ant lib folder of your Eclipse install. The folder is commonly located here:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">C:\Program Files\Eclipse\plugins\org.apache.ant_*\lib</pre></div></div>

<p>(The asterix * refers to the Ant version).</p>
<p>Next, go to Window > Preferences and select Ant > Runtime. In the Classpath tab, select Ant Home Entries, click Add External JARs&#8230; and select the 2 files you copied to the ant lib folder.</p>
<h3>A Typical Ant Project Setup</h3>
<p>A project with ant build scripts should have the following within the repository:</p>
<ul>
<li>build.xml (the actual ant build script)</li>
<li>build.properties.template (a template for individual build.properties files)</li>
<li>an optional top level lib folder (containing jar files for external ant tasks)</li>
</ul>
<p>Examples of the <code>build.xml</code> and <code>build.properties.template</code> <a href="http://www.simonwhatley.co.uk/examples/ant/">files can be downloaded from here</a>.</p>
<h3>Create Your Own build.properties File</h3>
<p>Make a copy of the <code>build.properties.template</code> file (name it build.properties) and set the values to fit your local setup (in most cases, the only property you may want to change is <code>deploy.dir.local</code> which is the path to the site on your local machine).</p>
<p>This file should never be committed to the repository (the repository should be set to ignore it anyway).</p>
<h3>Basic Build Tasks</h3>
<p>The build file should have a <code>deploy.local</code> task. This task builds the project and copies it to your local webserver (the path to the web server folder will be defined in the <code>build.properties</code> file).</p>
<p>Most projects should also have a <code>deploy.dev</code> task to copy the latest work to the dev server so that other people can view it.</p>
<h3>Setting Up an Automatic Build</h3>
<p>To make things easy, you can set deploy.local to run every time you save a file. This is called an <q>automatic build</q>.</p>
<p>The process for setting up automatic build is quite convoluted. I&#8217;m not sure why but this is the best way I&#8217;ve found to make it work.</p>
<p><strong>Step 1: Add the build file to your ant view</strong></p>
<p>Click the add button and select the build.xml file from the project. You can also drag the build.xml file onto the ant view (To add the ant view to your perpective, go to Window > Show View > Other…)</p>
<p><strong>Step 2: Run as Ant Build</strong></p>
<p>In your ant view, right click the newly added build file and select Run As > Ant Build… In the dialog window, select the &#8216;Hide internal targets not selected for execution&#8217; option in the Targets tab. You can rename the builder in the box at the top of the window if you wish (I usually remove the trailing &#8216;build.xml&#8217;. Click Apply and Close.</p>
<p><strong>Step 3: Setup automatic build</strong></p>
<p>Right click on the project, select Properties, then Builders. Click Import. Before closing the screen, highlight the imported build and select edit. Go to the Targets tab select clean for &#8216;After a clean&#8217; and deploy.local for &#8216;Auto build&#8217;. Apply the changes and close.</p>
<p><strong>Step 4: Enable Auto Build</strong></p>
<p>Go to Project > Build Automatically</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong> Acknowledgment:</strong> Thanks should go to <a href="http://www.1pixelout.net/" title="1PixelOut: Martin Laine's online musings" target="_blank" rel="nofollow">Martin Laine</a> for his help and guidance which resulted in this article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/using-ant-with-eclipse/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CFEclipse Keyboard Shortcuts</title>
		<link>http://www.simonwhatley.co.uk/cfeclipse-keyboard-shortcuts</link>
		<comments>http://www.simonwhatley.co.uk/cfeclipse-keyboard-shortcuts#comments</comments>
		<pubDate>Tue, 29 Apr 2008 09:30:09 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[CFEclipse]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[drag-and-drop tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[shortcuts]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=553</guid>
		<description><![CDATA[CFEclipse is a community project that builds on the open-source Eclipse framework to deliver expert, code-centric developers a new option for ColdFusion development. CFEclipse provides Eclipse with an outline view, a CFC (ColdFusion component) view, code completion (code hinting), syntax highlighting text editors for CFML and CFC files, and many more ColdFusion-specific features.]]></description>
			<content:encoded><![CDATA[<p>CFEclipse is a community project that builds on the open-source Eclipse framework to deliver expert, code-centric developers a new option for ColdFusion development. CFEclipse provides Eclipse with an outline view, a <abbr title="ColdFusion Component">CFC</abbr> (ColdFusion component) view, code completion (code hinting), syntax highlighting text editors for <abbr title="ColdFusion Markup Language">CFML</abbr> and <abbr title="ColdFusion Component">CFC</abbr> files, and many more ColdFusion-specific features.</p>
<p>Eclipse can be downloaded from <a href="http://www.eclipse.org" title="Eclipse" target="_blank" rel="nofollow">http://www.eclipse.org</a> and CFEclipse from <a href="http://www.cfeclipse.org" title="CFEclipse" target="_blank" rel="nofollow">http://www.cfeclipse.org</a>.</p>
<p>One thing CFEclipse does not have is <acronym title="What You See Is What You Get">WYSIWYG</acronym> ability. Its complete focus is on writing ColdFusion code (so-called hand coding) and building tools that help you write code. If you do a lot of visual or page-layout development, for instance, if you rely heavily on drag-and-drop tools, wizards, or the Design view in Macromedia Dreamweaver, CFEclipse may not be the tool for you.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>However, to make your life easier when coding, below is a list of keyboard shortcuts that make common tasks available in a couple of keystrokes:</p>
<table>
<thead>
<tr>
<th>Keys</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2">Key Shortcuts</th>
</tr>
<tr>
<td>Ctrl+Shift+L</td>
<td>Key Assist (dialog windows)</td>
</tr>
<tr>
<td>Alt+Shift+Q</td>
<td>Show View</td>
</tr>
<tr>
<th colspan="2">Comments</th>
</tr>
<tr>
<td>Ctrl+Shift+M</td>
<td>ColdFusion Comment <code>&lt;!--- ---&gt;</code></td>
</tr>
<tr>
<td>Ctrl+Shift+C</td>
<td>Context sensitive comment</td>
</tr>
<tr>
<th colspan="2">Surround Selection</th>
</tr>
<tr>
<td>Ctrl+3</td>
<td>Pound/hash marks <code>##</code></td>
</tr>
<tr>
<td>Ctrl+&#8217;</td>
<td>Single quotes <code>''</code></td>
</tr>
<tr>
<td>Ctrl+Shift+&#8221;</td>
<td>Double quotes <code>""</code></td>
</tr>
<tr>
<td>Ctrl+Shift+O</td>
<td><code>&lt;cfoutput&gt;&lt;/cfoutput&gt;</code></td>
</tr>
<tr>
<td>Ctrl+Shift+D</td>
<td><code>&lt;cfdump var="##"&gt;</code></td>
</tr>
<tr>
<td>Ctrl+Shift+R</td>
<td><code>&lt;cfscript&gt;&lt;/cfscript&gt;</code></td>
</tr>
<tr>
<th colspan="2">Insert</th>
</tr>
<tr>
<td>Ctrl+Enter</td>
<td><code>&lt;br/&gt;</code></td>
</tr>
<tr>
<td>Ctrl+Shift+Space</td>
<td><code>&amp;nbsp;</code></td>
</tr>
<tr>
<td>Ctrl+Shift+P</td>
<td><code>&lt;p&gt;&lt;/p&gt;</code></td>
</tr>
<tr>
<td>Ctrl+I</td>
<td><code>&lt;em&gt;&lt;/em&gt;</code></td>
</tr>
<tr>
<td>Ctrl+B</td>
<td><code>&lt;strong&gt;&lt;/strong&gt;</code></td>
</tr>
<tr>
<th colspan="2">Edit</th>
</tr>
<tr>
<td>Alt+Up or Alt+Down arrow</td>
<td>Moves the current line up or down</td>
</tr>
<tr>
<td>Ctrl+Alt+Up or Ctrl+Alt+Down</td>
<td>Duplicates line above/below current</td>
</tr>
<tr>
<td>Shift+Enter</td>
<td>Insert line below current line</td>
</tr>
<tr>
<td>Ctrl+Shift+Enter</td>
<td>Insert line above current line</td>
</tr>
<tr>
<td>Ctrl+D</td>
<td>Deletes current line</td>
</tr>
<tr>
<td>Ctrl+Delete</td>
<td>Delete next word</td>
</tr>
<tr>
<td>Ctrl+Backspace</td>
<td>Delete previous word</td>
</tr>
<tr>
<td>Ctrl+Shift+Delete</td>
<td>Delete to end of line</td>
</tr>
<tr>
<th colspan="2">Function Keys</th>
</tr>
<tr>
<td>F1</td>
<td>Tag/function reference at <a href="http://www.cfdocs.org" title="cfdocs.org" target="_blank" rel="nofollow">http://www.cfdocs.org</a></td>
</tr>
<tr>
<td>F5</td>
<td>Refresh browser view</td>
</tr>
<tr>
<td>F8</td>
<td>Scribble pad</td>
</tr>
<tr>
<td>Ctrl+F3</td>
<td>Surround with <code>##</code></td>
</tr>
<tr>
<td>Ctrl+F5</td>
<td>Reload dictionaries</td>
</tr>
<tr>
<td>Ctrl+F6</td>
<td>Switch editor</td>
</tr>
<tr>
<td>Ctrl+F7</td>
<td>Switch view</td>
</tr>
<tr>
<td>Ctrl+F8</td>
<td>Switch perspective</td>
</tr>
<tr>
<th colspan="2">Search / Find</th>
</tr>
<tr>
<td>Ctrl+H</td>
<td>Search</td>
</tr>
<tr>
<td>Ctrl+F</td>
<td>Find</td>
</tr>
<tr>
<td>Ctrl+K</td>
<td>Find next</td>
</tr>
<tr>
<td>Ctrl+Shift+K</td>
<td>Find previous</td>
</tr>
<tr>
<th colspan="2">Browsing</th>
</tr>
<tr>
<td>F12</td>
<td>View current page in browser</td>
</tr>
<tr>
<td>Shift+F12</td>
<td>View current page in secondary browser</td>
</tr>
<tr>
<td>F5</td>
<td>Refresh internal browser</td>
</tr>
<tr>
<td>Shift+F5</td>
<td>View current page in internal browser</td>
</tr>
<tr>
<td>Ctrl+Shift+F5</td>
<td>View project root in internal browser</td>
</tr>
<tr>
<th colspan="2">Windows / Navigation</th>
</tr>
<tr>
<td>Ctrl+Shift+R</td>
<td>Opens the Open Resource (while in Navigator)</td>
</tr>
<tr>
<td>Ctrl+E</td>
<td>List open files, then start typing the name</td>
</tr>
<tr>
<td>Ctrl+F6</td>
<td>Tab back through open files</td>
</tr>
<tr>
<td>Ctrl+Shift+F6</td>
<td>Tab forwards through open files</td>
</tr>
<tr>
<td>Ctrl+M</td>
<td>Maximise/Minimse Current window</td>
</tr>
<tr>
<th colspan="2">Miscellaneous</th>
</tr>
<tr>
<td>Tab</td>
<td>Indent code</td>
</tr>
<tr>
<td>Shift+Tab</td>
<td>Un-indent code</td>
</tr>
<tr>
<td>Ctrl+L</td>
<td>Goto line number</td>
</tr>
<tr>
<td>Ctrl+Q</td>
<td>Repeat last tag</td>
</tr>
<tr>
<td>Ctrl+Shift+Z</td>
<td>Insert Color</td>
</tr>
</tbody>
</table>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/cfeclipse-keyboard-shortcuts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion Development Tools</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-development-tools</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-development-tools#comments</comments>
		<pubDate>Thu, 17 Nov 2005 13:49:04 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[CFEclipse]]></category>
		<category><![CDATA[code editor]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion Development Tools ColdFusion Studio]]></category>
		<category><![CDATA[ColdFusion Studio]]></category>
		<category><![CDATA[development tool]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[Homesite]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[macromedia]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=66</guid>
		<description><![CDATA[Here I provide a list of ColdFusion development tools.]]></description>
			<content:encoded><![CDATA[<ul>
<li>ColdFusion Studio, the original ColdFusion IDE, based on Allaire&#8217;s HomeSite and subsequently replaced by Dreamweaver and Homesite+ after the Macromedia takeover.</li>
<li>Macromedia Homesite</li>
<li>Macromedia Dreamweaver, WYSIWYG &amp; code editor.</li>
<li>CFEclipse, a ColdFusion plugin for the Eclipse IDE.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/coldfusion-development-tools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

