by kris korsmo efficient coding with cfbuilder 2

Download By Kris Korsmo EFFICIENT CODING WITH CFBUILDER 2

If you can't read please download the document

Upload: bianca-kilborn

Post on 13-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

  • Slide 1

by Kris Korsmo EFFICIENT CODING WITH CFBUILDER 2 Slide 2 Familiarize you with the IDE on a basic level Show you a few of the more advanced features Show you some tricks and hidden gems (thanks Charlie) Discuss different developer workflows Demonstrate creating a simple application THE GOALS OF THIS PRESENTATION Slide 3 Live in Seattle area Began coding w/ BASIC Washington State University Using ColdFusion since 2004 Adobe Certified CF8 Seattle CFUG member Wife and three kids 737 Pilot when not coding ABOUT ME kriskorsmo.com | [email protected] | @kriskorsmo Slide 4 This presentation is geared toward Folks with limited experience using an Eclipse-based IDE Beginner to intermediate-level code writers People interested in an efficient workflow People who want to use best practices I will make no assumptions If you have questions Ill do my best to answer as we go, but I may need to speed along at some point If I dont know the answer to your question Ill do my best to find it. Id rather be honest in not knowing than give you an answer thats incorrect There should be time for more questions at the end WHO THIS IS FOR kriskorsmo.com | [email protected] | @kriskorsmo Slide 5 An Eclipse-based IDE Eclipse is an open-source IDE Not only a text editor IDE = Integrated Development Environment combines a lot of features all in one to help you write code better, faster and easier (although everyone has different preferences) Tailored by Adobe specifically for CF Can be installed as standalone or as plugin WHAT IS COLDFUSION BUILDER 2? kriskorsmo.com | [email protected] | @kriskorsmo Slide 6 Views show a single aspect of your application files, data, code snippets, etc. - and can be added to any perspective Perspectives are groups of related views which together help you work efficiently on one aspect of your application (writing code, debugging, etc.) VIEWS & PERSPECTIVES kriskorsmo.com | [email protected] | @kriskorsmo Slide 7 PERSPECTIVES kriskorsmo.com | [email protected] | @kriskorsmo There are many different perspectives six in this case but others are available Slide 8 COLDFUSION PERSPECTIVE kriskorsmo.com | [email protected] | @kriskorsmo Slide 9 Extremely useful if youre just getting started with CFB You can easily bookmark help topics by right-clicking and selecting Add Bookmark Handy HTML, JavaScript and CSS references This is where the CF10 documentation lives HELP VIEW kriskorsmo.com | [email protected] | @kriskorsmo Slide 10 Shows file structure Arrows are Forward and Back, not Up/Down in file structure Right click and choose Go Into to navigate file structure Click to navigate up file structure Click to collapse file structure Click to link a file to the editor keeps the file youre working on in the editor displayed in navigation view. Click to focus on a task this is a Mylyn (Tasktop) feature NAVIGATOR VIEW kriskorsmo.com | [email protected] | @kriskorsmo Slide 11 Click to open RDS configuration dialog Click to refresh the selected folder Click to open RDS Query Viewer Click to go to RDS Data Home Click to go into selected level Click to go up a level RDS DATA VIEW kriskorsmo.com | [email protected] | @kriskorsmo RDS makes it easy to visualize your data and to add it to the code in your editor. Slide 12 RDS FILE VIEW Click to open RDS configuration dialog Click to refresh the selected folder Click to create a new file Click to delete a file Click to create a new folder Click to delete a folder Click to go to RDS File View Home Click to go into selected level Click to go up a level kriskorsmo.com | [email protected] | @kriskorsmo Allows you to see the files on your remote server Slide 13 SNIPPETS VIEW kriskorsmo.com | [email protected] | @kriskorsmo Click to refresh snippets view Click to insert the selected snippet Click to create a new snippet Click to edit the selected snippet Click to delete the selected snippet Click to create a new package Click to delete the selected package You can use system variables to automatically populate values such as the current date and filename Allows you to store frequently-used bits of code in an organized fashion. Slide 14 $${DATE} $${MONTH} $${TIME} $${DATETIME} $${CURRENTFILE} Current file name (just the file) $${CURRENTFOLDER} Current folder (The path to the containing folder) $${CURRENTPATH} Current path (full file name) $${CURRENTPRJPATH} Just the folder $${USERNAME} Current user $${MONTHNUMBER} Month as a number $${DAYOFMONTH} Day of month as a number $${DAYOFWEEKNUMBER} Day of week (the week starts on Sunday) $${DATETIME24} DateTime24 a 24 hour clock version of datetime. $${YEAR} Current year. $${YEAR2DIGIT} Current two digit year SNIPPETS SYSTEM VARIABLES kriskorsmo.com | [email protected] | @kriskorsmo Slide 15 TASKS VIEW kriskorsmo.com | [email protected] | @kriskorsmo Shows the description of the task, the resource, path & location Double-clicking the task opens the resource in the editor, and highlights the line(s) of code that need to be addressed Slide 16 OUTLINE VIEW kriskorsmo.com | [email protected] | @kriskorsmo Makes it very easy to find code Most useful when working on CFCs because it makes it simple to locate functions by name Clicking a section of code (such as the function shown here) will move the cursor to that function in the editor You can expand and collapse individual items or use the buttons at the top to expand or collapse all Clicking the alphabetical sort is very useful because it groups functions by name, essentially eliminating comments Click to hide private functions Slide 17 Displays the contents of your log files without having to log into the ColdFusion Administrator TAIL VIEW kriskorsmo.com | [email protected] | @kriskorsmo Slide 18 SERVICES VIEW kriskorsmo.com | [email protected] | @kriskorsmo Shows functions, arguments, data type, etc. and allows you to right click to insert cfinvoke or createObject(); Slide 19 SERVER VIEW kriskorsmo.com | [email protected] | @kriskorsmo NEW Add, stop, start, restart or delete a server Launch the Server Monitor Launch the ColdFusion Administrator STARTRESTARTDELETE INOP Slide 20 GIT REPOSITORIES VIEW kriskorsmo.com | [email protected] | @kriskorsmo www.eclipse.org/ egit / Doesnt ship with CFBuilder Not comprehensive Will do what most of us need Not supported by Adobe Collapse All Link to Editor Add Local Repository Clone Repo and Add to View Create New Repository Refresh View Link to Selection Hierarchical Branch Layout Display Latest Branch Commit Branch Merge Basic Functionality: Slide 21 GIT HISTORY kriskorsmo.com | [email protected] | @kriskorsmo Slide 22 Can be done by navigating to Window > Preferences CUSTOMIZING CFBUILDER kriskorsmo.com | [email protected] | @kriskorsmo Slide 23 Type formatter in the filter text CODE FORMATTING kriskorsmo.com | [email protected] | @kriskorsmo Slide 24 You can create a custom CFML dictionary (XML file) and make it available to use for Code Assist and Tag wizard within ColdFusion Builder. Within the ColdFusion Builder installation, navigate to the following location: \plugins\com.adobe.ide.coldfusion.dictionary_XXX\dictionary Create a folder called "Custom" within the Dictionary directory. Create an XML file to describe the custom tags and functions. For example, in the XML file, you describe each tag within elements, and enclose all the tag elements within elements as follows: CODE LIBRARIES kriskorsmo.com | [email protected] | @kriskorsmo Slide 25 http://eclipsecolorthemes.org/ Manually edit colors and fonts Downloadable themes Create your own theme Plugin is available Requires a lot of work & doesnt look great Only changes the editor, not the entire IDE Adobe Source Code Pro font New font designed specifically for coding http://sourceforge.net/projects/sourcecodepro.adobe/ Differentiates similar characters O vs 0 l vs 1 THEMING & FONTS kriskorsmo.com | [email protected] | @kriskorsmo Slide 26 FunctionShortcut Ctrl + t, d Ctrl + t, m Ctrl + t, s Wrap in hash marks (##) Ctrl + t, h Ctrl + t, o (both try and catch) Ctrl + t, t Move current line up, down Alt + , Alt + Find matching tag* Ctrl + Alt + m Select enclosing tags* Ctrl + Alt + b Move to next/previous attribute* Ctrl + ], Ctrl + [ Format Code Ctrl + Shift + f See all shortcuts Ctrl + Shift + l USEFUL KEYBOARD SHORTCUTS * Courtesy of Charlie Areharts Hidden Gems in ColdFusion Builder 2 carehart.org kriskorsmo.com | [email protected] | @kriskorsmo Slide 27 CFC Generator CF Wheels Apptacular Model Glue Mach II CFLib Build your own EXTENSIONS kriskorsmo.com | [email protected] | @kriskorsmo Slide 28 E-Git http://marketplace.eclipse.org/egit GitHub Mylyn Connector http://bit.ly/TW43r1 Maven http://bit.ly/TW3tt6 Cloud Bees Jenkins http://bit.ly/P3Wp0w Android Developer Tools http://developer.android.com/tools/sdk/eclipse-adt.html Eclipse Marketplace within the IDE Help > Eclipse Marketplace PLUGINS kriskorsmo.com | [email protected] | @kriskorsmo Slide 29 CFBuilderDreamweaverSublimeIntelliJ Text Editor Good GreatGood Code Completion GreatGoodGreatGood Debugging Built-inIn-browser Database Info Yes No Version Control Via Plugin Built-in Console YesNoneYes Extensible Yes Theming / Fonts FairPoorGreatFair Documentation Good FairGreat CFBUILDER VS. OTHER EDITORS kriskorsmo.com | [email protected] | @kriskorsmo Slide 30 DEVELOPER WORKFLOW Typical Development Process Best Practices Development Process kriskorsmo.com | [email protected] | @kriskorsmo Write CodeTest Locally FTP to Production Server Write CodeCommit FrequentlyPush to Repository Checks for Updates Slide 31 Well start with only a database Generate an application using Apptacular Use code snippets to add grid functionality Commit and push to repository Run unit tests DEMO APPLICATION kriskorsmo.com | [email protected] | @kriskorsmo Slide 32 QUESTIONS kriskorsmo.com | [email protected] | @kriskorsmo All CF.Objective(ANZ) attendees will receive a 20% discount on web hosting with Ayera Technologies. Use the Discount code CFOANZ2012 or mention my name in the referral section.