January 5, 2022
VSCode.Dev for CFML Development?
Comments
(3)
January 5, 2022
VSCode.Dev for CFML Development?
ColdFusion developer for 20+ years, professional experience in 10 other languages & frameworks. Artist, nerd, Jeep enthusiast.
Newbie 35 posts
Followers: 26 people
(3)

VSCode.dev w/ cf in itThe big news a few weeks back was the announcement by Microsoft that they now had a fully featured VS Code IDE that runs completely in the browser. This was exciting news for folks who liked the idea of being able to code anywhere, whether on a Chromebook or an iPad or their Tesla display (maybe, honestly haven’t tried that one). In any case, the excitement and hype quickly gave way to the dreaded “but” as limitations on what this new IDE could do came to light.

The first and biggest limit is that a huge number of the extensions you use everyday in your VSCode environment simply don’t work. GitLens? Nope. Ilya’s CFML extension? Not supported. Tag complete extensions? Thin on the ground. And to add confusion to injury, some extensions will show the “install” button but then fail with a “not supported in VS Code Dev” error. Boo.

Let’s back up a sec and ask, do we even want to use VS Code online? Well, it kind of depends, but generally a strong yes. If you sit at the same desktop Windows machine all the time and code in a local filesystem then… ok maybe not a good contender. But if you switch machines, switch locations, use repos like Github, etc, then you might be a good candidate. VSCode.dev automatically integrates with Github and can target nearly any other Git repository very much like the desktop version. But since you’re moving around from machine to machine, ensuring that Git is your primary source of truth in your codebase is even more critical. And of course I know that’s how it should be, always, but I’ve seen Git used far too many times as a “save game” spot rather than a smooth development workflow tool.

So great Github integration? Check. Is the online VS Code IDE experience the same as the desktop? It really is, which is not a huge surprise given that VSCode was written from the start as a PWA. It really was just a matter of time before Microsoft went for the fully online play.

Drawbacks? Well, we mentioned the lack of extensions (though as time goes on, this should be rectified somewhat as folks refactor their code into web components). Another potential issue is that using VSCode.dev requires you to grant local file system access to the browser. Is it a standard? Sure, supported by most modern browsers. Is it secure? Sure, so far as that goes. But the question remains, does granting local file access to a remote service such as this IDE through the browser violate access permission security rules at your company? At my previous University employer, absolutely. 100% violation going by the letter of their rules. It basically ends around any other security they have installed via firewall, border lockdown, etc. Would it be short-sighted for a University to block this site. Very much, yes. Will someone do it? I’d bet money on it. Security rules will need to catch up to technology, as they always do.

Let’s for the moment say you want to go and give this a run. What do you do?

Well, first head over to https://vscode.dev. You’ll get a very familiar page that asks you to start a new file, open a file, open a folder or open a repo.

Before you go starting something, hit the “extensions” button on the left (it looks like 4 squares where one is making a break for it). You can search for your favorites, but honestly I had little luck. One extension I did find was ColdFusion by SketchPunk. Now, I usually don’t use this one (it gets a whopping 1.5 stars) but beggars can’t be choosy and in the case it was the only CFML related extension I found that did much of anything AND was supported on VS Code online. It is 6 years old and fairly limited on functionality, but it does color code my CFML and did complete tags for me, so I’ll be sticking with that online for the moment. The CF engineering team is looking into options on how we can make the new VSCode ColdFusion Extension have at least some functionality on the web (likely will require a web-only version unfortunately).

Once you’ve got some extensions together, go play! Make a new file, open a local folder, open a repo, have fun. Give it a try in your phone! (honestly, it is kind of awful in such a small space without an external keyboard). And then let me know your favorite extensions that work online for doing CFML dev in the comments!

3 Comments
2022-08-08 14:57:31
2022-08-08 14:57:31

I want to use it however I keep getting “Java version greater than 7 is required to run CFML extension”.
when I type in java -version in the terminal I get
java version “18.0.2” 2022-07-19
Java(TM) SE Runtime Environment (build 18.0.2+9-61)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.2+9-61, mixed mode, sharing)
pretty sure that should work.. back to old cfeclipse I go!

Like
(1)
(1)
>
Greg Morphis
's comment
2023-08-31 07:34:20
2023-08-31 07:34:20
>
Greg Morphis
's comment

This might be a year to late, but I had this same issue and my problem was that on my environmental variables JAVA_HOME didn’t have the correct path.

Like
2022-01-06 22:30:22
2022-01-06 22:30:22

Hey, Mark, thanks for sharing your thoughts on this, and the help for folks about what extension they might consider with this browser version of VSCode. Two questions:

1) As for your passing mention of CF team’s “new VSCode ColdFusion Extension”, talk about “burying the lede”. 🙂 Can you share any more on that? It’s still “in the future” as of now, right? One can’t quite tell from your wording. And I assume this is related to the new version of ColdFusion Builder which was to be based on VSCode. Is that right?

And might this be the “extension” version of that (for those who already have VSCode setup and configured to their liking), while a full new version of  “CF Builder” will instead implement it for those who don’t have VSCode and/or want it as this CFBuilder implementation would configure it, similar to how the old CFBuilder worked as either an Eclipse extension or a new “embedded” Eclipse?

I realize it may be that you can’t yet “say anything more” about all this, but I wanted to ask.

2) Then again, perhaps you or someone has indeed shared more on this somewhere. I could have missed it, as could others. If you know of any, could you share it?

Sometimes I do see folks on the CF team share some announcement or news in one place but not necessarily others (perhaps their own twitter account or the adobecoldfusion one, or in the CFML Slack, or the Adobe CF Forums, the Adobe CF portal, for instance). If folks aren’t watching all those areas, they can miss out. 🙂

3) Speaking of that, I was always hopeful that the portal here would be at least one place where the CF Team would share most info. It’s not quite worked out that way, but I realize it’s a challenge for various reasons. And some folks just favor the immediacy/simplicity of sharing info on something like Twitter or Slack. But others don’t follow those regularly or can’t, and so they may look here at least as something of a “place of record” for announcements, news, extended clarifications (like yours above).

First-world problems, I realize. Just lamenting out loud. I’d be curious to hear what you or others (in or outside of Adobe) think about my point 3 here. (Of course, those who would see this post are those viewing the portal, so they may be a bit biased!)

Like
(1)
Add Comment