Visual Studio Code - Extensions Update

January 16, 2021 - The Most Important Problem Is Solved; The Learning Goes On

Visual Studio Code LogoThis is an update about the two extensions most important to me, Intelephense and SFTP.

Nothing has happened with SFTP. It continues to be the case that every action I take involving the extension must be checked to be sure it happened correctly. I'm annoyed by this and it may turn out to be the thing that kills Visual Studio Code (VSC) for me.

On the other hand, Intelephense got better. The developer is very active (considering he has a day job) and made some improvements over the past few months, resulting in Intelephense 1.6. Version 1.6.2 seems to have alleviated the stalls I was experiencing and since I noticed the version update my editing has been going smoothly.

"Since I noticed?" Here's something I didn't realize about VSC - it automatically detects upgrades to installed extensions and silently updates them. That's the default behavior, which can be adjusted through settings. Without my realizing it, Intelephense was updated to 1.6.2.

The reason I didn't notice right away is that Intelephense was working fine for many modules. It was only modules that had certain characteristics, such as a function that had been deprecated, that caused problems. Modules with no such characteristics caused no problems. It was probably days before I edited a module that previously caused Intelephense to choke, which is when I noticed that it didn't.

The improvement with 1.6.2 brings Intelephense to the point that I can recommend it without hesitation. It is undoubtedly worth the $12 for the premium version.


While working this past week, an ongoing nit finally turned into an annoyance. This goes back to Expression Web 4 and its generally clean, functional UI. The problem is with drag and drop.

In VSC's explorer panel, one can perform most typical file operations visually. For example, I can drag a file from one place to another and, modified by the appropriate keystroke combination, will do normal things like copy or move. However, moving or copying a file into the root folder is not intuitive. In Expression Web, the operation works exactly as it does in Windows Explorer - the root folder is shown at the very top of the EW Folder List and one simply drags and drops to that folder.

In VSC's Explorer, one of the sections is named after the root folder and the name of the root folder does not appear in the file list in that section. Thus there is no apparent target for the drop. Instead, the Explorer section ends with one blank space. It's completely blank, with no indication of anything. To drop into the root, one drops into that space. I happened to stumble into this; I did not find the answer by searching the Web and certainly not in the VSC documentation. I'm not saying it isn't there, I just couldn't find it.

I can't understand this sort of design at all. At first I thought it might have to do with differences in file systems on various platforms, but the folder/file paradigm is almost universal.

There are other operations that one might want to do on the root folder. For example, it might be nice to select it for search (I know, there are other ways). There is no obvious way to do it. The answer was found on the Web; the keystroke sequence Esc Esc will select the root. You may recall a previous note in which I said that Microsoft's VSC keyboard shortcuts chart was an essential tool; Esc Esc is not on it.

VSC has thousands of settings and shortcuts, some documented well and others not so well. While it's easy to get started using VSC, the learning curve to expertise is steep.

Overall, though, the news for a PHP developer considering VSC is upbeat.

