Posts in Category "Editor"

Some ColdFusion Builder 2 gems

Some very informative blog posts by Sandeep Paliwal :

Where ColdFusion Builder finds my CFCs?

ColdFusion Builder makes working with components really easy. It understands the component resolution technique and generates the fully qualified name of the components, in compliance with server. The fully qualified names of the component are available in multiple places in ColdFusion Builder:

  • CFC wizard: When extending or implementing component, fully qualified name of the components are listed in CFC dialog box.
  • Content Assist: When content assist is invoked for component name, the fully qualified name of the component is proposed to you.
  • Open CFC wizard: Lists all the components in workspace with fully qualified names.

ColdFusion Builder also resolves the components in a given page by checking the component that can be resolved with available details in the project and the server.

Source/Location of the component

ColdFusion Builder searches the source/location of component in the following order of priority:

  1. ColdFusion Administrator mapping: ColdFusion Builder reads the mapping details from the server and uses the mapping name and location to build the fully qualified name.
  2. Note: ColdFusion Builder reads the mapping from the server only if RDS details are provided for the server. Project should be associated with server to see the qualified names of the component in the mapping location.

  3. ColdFusion Server Document root: If document root of the server is provided, then ColdFusion Builder generates the fully qualified names of the components.
  4. Note: Project should be associated with the server to see the qualified name of component from webroot.

  5. Current Project: Components in current project are available with fully qualified name.
  6. Linked Folders: Components in linked folders are available with fully qualified name.
  7. Note: When you create a linked folder with ColdFusion Builder using the Project Wizard or Project Property preferences, check the option Use Link folder name. If you use Eclipse, the option is checked by default.

    If the option is checked, component qualified name is generated by prefixing the name of the linked folder of the components inside the linked folder.

    For example, C:\MyCFCs\folder1\sample.cfc where MyCFCs is the name of linked folder is resolved as mycfcs.folder1.sample.

  8. Custom tag path: ColdFusion Builder reads the custom tag path details from the server and uses the tag path location to build the fully qualified name.

Note: ColdFusion Builder reads the custom tag location from server only if RDS details are provided for the server. Project should be associated with server to see the qualified names of the component in the custom tag location.

Creating qualified name for the components

ColdFusion Builder creates qualified names of the components from different location as discussed in the previous section. You have the option to create qualified names when you launch ColdFusion Builder. Locate the option from Preferences > Startup > Build CFC in project, at start-up.

Note: Uncheck this option if you don’t want ColdFusion Builder to create qualified names for you.

Points to remember

  • To see the components from the mappings/ custom tag paths, Build server settings must be checked (Preferences > ColdFusion > Server Settings).
  • If server is offline, old mapping details are used to build CFCs.
  • If server is edited, added, or refreshed, the mapping settings/custom tag paths are refreshed based on option selected in Server Settings section.
  • Based on the server component resolution technique, the components are generated in the following order:
  1. Current directory
  2. ColdFusion administrator mappings
  3. ColdFusion Document root
  4. Relative to project and linked folder
  5. Custom tag path
  • Components are resolved in ColdFusion Builder in the same way as the server resolves the components.
  • Number of features (Code Assist, Quick Fix, Hyperlink, CFC Introspection, and CFC Wizard) depends on building and resolving CFCs in ColdFusion Builder.
  • Keep a tab on options (you have selected in the Preferences) which controls the building and resolving of CFCs.

Now use this information when you build application that deals with hundreds of components and let ColdFusion Builder, not you, worry about your CFCs.

 

Think ColdFusion Builder v.1 and CFEclipse are the same? Think again. – By Adam Lehman

Think ColdFusion Builder v.1 and CFEclipse are the same? Think again.

Enhanced SQL editor and SQL code assist:

- SQL editor now has the tab for executing a query. Currently, you can execute only a ‘select’ statement in the SQL editor and it fetches all records at once.
– Code assist has been added for Select, Insert, Update and Delete statements .
– More intelligence have been added to SQL code assist to ensure that code assist for appropriate tables and columns are displayed only at relevant places while typing.
Do let us know if you like what you see in SQL code assist and also what enhancements you would like to see in future releases.

Datasource specific code assist

Beta3 build of CFBuilder has some handy datasource specific code assist:
– As the ‘datasource’ attribute of tag is no longer mandatory, if this.datasource is specified in Application.cfc, CFBuilder intelligently picks that up and shows appropriate assist for tables and columns
– this.datasource in Application.cfc shows the available datasources
– <cfdbinfo> tag also shows code assist on tables and columns wherever applicable based on the datasource specified
Please note that CF server needs to be associated with your project in order to get datasource specific code assist.

ORM specific code assist

Code assist now has a brand new addition under its umbrella – ORM code assist! Do try your hands on them and let us know your feedback.
Couple of ORM specific code assist that CFBuilder provides:
– for This.ormsettings in Application.cfc
– for entity names in entityLoad(), entityNew() and entityFindByPK() functions and method names for variables created in relevant cases
– for methods and properties returned by entityLoad(), entityNew() and entityFindByPK() functions
– for attributes table, discriminatorcolumn and joincolumn of cfcomponent tag
– if entity name is not speficied for ORM cfc, it is considered to be same as cfc name
– for code hyperlinks for entity names and methods
– for attributes of cfproperty – name, fieldtype, linktable, fkcolumn, inversejoincolumn, cfc, column, structkeycolumn and elementcolumn

SQL editor & SQL code assist

Open SQL Editor:
You can right-click in the CFML editor, and select SQL Editor.
Or, you can use the keyboard shortcut Ctrl+Alt+S (Windows) or Command_Alt+S (Mac OS).
Using SQL Editor to write and edit SQL statements:
In the SQL Editor, select a server from the Server drop-down list and a database from the Datasources drop-down list.
Enter the SQL statement and click OK. The SQL statement is inserted in the CFML editor at the current caret position.
You can also copy SQL code blocks from the SQL Editor directly into the CFML editor by selecting the code block and pressing Shift+Enter.
To edit a SQL code block in the CFML editor, select the code block, right-click, and select SQL Editor. The selected code block appears in the SQL Editor.
Code Assist for SQL statements:
Code Assist is available only for database table names and field names in the SQL statement.
For code hints to appear, begin entering the SQL statement in the SQL editor, and press Ctrl+<Space> to display the database table names or field names.
Navigate through the list of table names or field names using the Up Arrow and Down Arrow keys.
Select a table name or field name and press Enter. The selected table or field is added to the SQL statement.

CFBuilder(CFB) performance

This is the key area we are trying to focus on for our next release. We had done considerable work on performance improvements for the previous Beta. But, we do understand that there is scope of improvement. We have gathered a mixed feedback from various forums, surveys, interaction in conferences, bugs reported etc, whereby we found that some users see the improvements whereas some still face serious issues with performance. For example, many of you reported issues with editor once you upgraded to Snow Leopard. There are many editor issues discussed like the ones on Snow Leopard, editing being slow even with small files, huge startup time, CFB becoming unusable, unstable build, system slowing down on using CFB etc, the repro cases for which are not straightforward. We do not hit upon them when we try out the reported cases here. The issues users face could be due to various reasons like improper installation, jvm.config tuning, server settings collection, system environment etc. So, we need more help and specific inputs from you in order to know what exactly is going wrong when user is trying to do a particular operation in CFB.
If you have been facing any of the issues mentioned above or something even remotely similar to them, please take the stack trace using the handy tool at

http://www.adaptj.com/main/download

All you need to do is to select the CFBuilder process id from the current list of processes and get the thread dump.
The tool is free if you use Java Web Start to download it. And works on MAC, Linux & Windows.
I urge each one of you who are facing or have already reported any of these issues to please use the tool and send us the thread dump as soon as you hit upon them. You can email it to me directly at dsarkar@adobe.com with a crisp description of the issue. Users on Snow Leopard who have reported that they find CFB unstable on this platform, please send us the details as and when you face them using this tool. This will help us to resolve your painpoints.
For free evaluation license, Go to Help->License, pick up the System Id from there. Then register yourself and provide the System ID. You will get an evaluation license with expiry date through email.

SQL Editor

With this release we give you a brand new SQL editor which is integrated into the CFML editor. The SQL Editor supports code assist and code colorization for the following types of SQL statements:

  • Select
  • Insert
  • Update
  • Delete

Also, note that for SQL statements within the cfquery tag, code assist is available in the CFML editor itself. You need not open the SQL Editor for code completion hints. In order to get code assist in the main editor or the SQL editor, you must have a server configured, running and associated with your project in ColdFusion Builder. The SQL editor does not support offline databases. I shall write more about the type of SQL code assist available in subsequent posts.

SQL colorization

Did you know that you can colorize your SQL inside <cfquery> now? You can colorize SQL keywords, comments, and text within the cfquery tag. And yes, you can set your SQL colorization preferences through Window->Preferences->ColdFusion->Editor Profiles->Editor->Colors->Tokens->SQL. Hope this helps in resolving the issue of SQL code not standing out in your CFML code.