I don't want to imply that your habitual workflow is flawed...I recognize that everybody has their comfort zone, and there is nothing wrong with how you code. You are right that CFB doesn't autoclose tags very well yet. I think they will work on that and it will eventually be as good as Dreamweaver. I also have noticed that CFB doesn't enter attribute quotes. Both of these issues (in my opinion) can be chalked up to the fact that CFB is still beta.
However, you also don't like that CFB doesn't allow you to start with an HTML "template". Personally I don't need this feature (nor would I like it if it were there). For all of the sites I edit, either of these scenarios suit my needs:
1. The header/footer info is include files or custom tags, and I just need to wrap my content with two lines of code to get all of those missing HTML tags you refer to.
2. The site doesn't use includes or custom tags for header/footers, so I just copy an existing page and gut the body contents to get the standard header/footer code I need for that site.
I suspect most CF developers do either of those two things, or they use an MVC framework that manages all the header/footer code for them. In the framework world, each page truly only has CFML code in it. You put your "presentation" code (HTML) in separate files that have almost 0 CFML in them. So in this case, these people wouldn't want autogenerated HTML either.
That said, I can see CFB supporting templates at some point. Even for framework developers, templates would be nice in many cases.
Why can I not create a new CF page that contains the basic HTML tags? It seems like the only way to do this is to create a new "Other" document, but that doesn't really work. When I try to save that document, Builder won't put it by default in the project folder, and it won't "run" the file either. I realize that not *every* CF page needs those tags, but to not have an easy way to create a page with them is shocking.
I'm not sure what you mean here. Right-click on a dir, select New > File > key in yourFile.html. And you're away.
If you want to have a template which has all the doctype / html / head / body tags, it doesn't take much to create a snippet to do that. The template functionality for CFB is not implemented yet. There is this E/R raised to cover this: http://cfbugs.adobe.com/bugreport/flexbugui/cfbugtracker/main.html#bugId=80162. Maybe go vote for it.
I don't see a problem with CF not providing an HTML template out ofthe box, because very few CF files are going to represent entire HTML documents, so it's rarely going to be necessary to create a file like that.
Did I miss something along the way and not notice that CF developers no longer have to worry about HTML?
I would never be writing vast tracts of HTML, rather the odd tag amongst some looping / formatting constructs. It'd be rare that I'd have more than a couple of HTML tags adjacent to each other amongst the rest of the CFML. Indeed 90% of the code I write doesn't have any HTML in it at all. I cannot remember the last time I had an entire HTML document expressed in a single file. If ever.
I also *hate* the fact that when I select an attribute from the code hints, it *never* gives me quotes.
Well it will if you switch the functionality on. I dunno why it's not on by default though.
missing features seem like a huge shortcoming.
CFB has a long way to go before it's ready for release, I agree with that.
Rob, let me attend to one remaining point in particular: CFB not closing HTML tags. I've found that CFB doesn't close HTML tags if the html is on a page that has no tag.
Now, that would normally be an issue for average developers who don't bother with all the HTML header tags, or as has been noted here they may also get those injected either through includes or by way of a framework. But when you say you want CF to put the complete HTML header tags in a new CF page, I'm left wondering if this is indeed the problem for you.
Or is it possible you were opening a file that did not have those HTML header tags? Again, the key (in my experience) seems to be the lack of the root HTML tag itself. Let us know if that helps.
Or have others seen anything different? BTW, this is one of the gotchas I cover in my "Hidden Gems in CF Builder" talk which I'll be giving online this Thursday at 6pm US Eastern time on the CFMeetup (coldfusionmeetup.com). Anyone's welcome to come. More at http://www.carehart.org/blog/client/index.cfm/2009/11/3/cfmeetups_nov_5
I'm not sure I understand what you're saying. Do you mean that CFB should close HTML tags in a CF document that contains the root HTML stuff? If so, then no that isn't my experience - I just created a test page in which I copied the normal root stuff from DW:
When I tried typing a paragraph in the body, CFB still did not offer to close it.
Or am I not understanding what you meant?
Looks like these forums don't let you embed HTML in the body. That's a shame.
Anyway, hang in there, Rob. Besides the first suggestion, I have another.
I was saying that I've seen that if a page of CFML/HTML, opened in the CFML editor, does not have an opening and closing HTML tag surrounding the code where I was wanting to see HTML code completion, then CFB was not completing the HTML tags. But I just did a test and it worked. So I don't know if my previous observation was on an older release (I really thought it was on the public beta 2), or perhaps some other combination of factors in the pages where I was seeing it.
Anyway, I leave that in case it may help someone down the road. It's certainly worth trying, since it worked for me at one point. (And you mention having "the normal root stuff", but it's not clear if you did this just for this test, and if so had perhaps only the opening and not the closing HTML tag.)
Anyway, assuming you do have both tags, or even for those without them who would love to hear that HTML tag completion should be working, I'll point out as well that one should check the Preferences>HTML>Editors>HTML>Typing, which is where such HTML tag completion is controlled. (To be clear, CFML tag completion is controlled elsewhere, in Preferences>ColdFusion>Editor Profiles>Editor>Typing.)
Also, for both CFML and HTML tag completion (in public beta 2 at least), you can set (as in DW) whether it should happen while typing the closing bracket (>) of the opening tag, or when typing the / (</) of the closing tag.
Let us know if any of that helps, Rob.