My VS Code extensions

My VS Code extensions

Note to self: These VS Code extensions are vital to me. (I dabble in PHP, Dart, Docker and write a tiny bit of markup).

PHP

  • PHP Intelephense for (almost) everything needed by PHP-developers in VS Code. Only thing missing (that I loved in Netbeans) is
  • PHP DocBlocker for improving help in writing signatures for PHP functions, classes and class properties.

As much as the next lazy programmer, I am always failing to comment my code sufficiently. It puts an overhead on my brain to switch from production to planning/description mode even though it is necessary and healthy to do A LOT. Anyways Intelelphense (a rewrite of the PHP, it’s elephant mascot and Intellisense which Visual Studio excels at) gives hints about parameters for function calls you are about to call.

If you haven’t written a signature for your function (the comments you see above the getSearchTerms for your function), all you have to do is place the cursor just above your function, type a slash and two asterisks /** and press enter. The DocBlocker extension will then extract the parameter list from the class or function and place the cursor for you to describe what the function does.

Below you will see how a function signature and Intelephense/Intellisense can let you know how to call the function even though it’s definition may not be visible to you.

PHP Intelephense and DocBlocker in action

In other autocomplete/intellisense extensions, the IntelliSense for CSS class names in HTML-extension does exactly what it says it does for CSS class name completion.

Docker

In my view, Docker is becoming one of the most important parts of my development setup. I do not have PHP installed on my laptop. Instead i have a number of Docker containers running with the project specific PHP-versions. Different projects may require different versions of PHP, and each is perfectly isolated in it’s container.

  • Docker – The general Docker extension is great at providing syntax hints and shortcuts. For running and managing running containers I use the terminal.
  • Remote – Containers – will allow you to open and edit any file in any container. Using the Remote – SSH extension will give you the same access to remove containers.

Flutter / Dart

Flutter is a framework based on the language Dart. The full package gives a fairly complete development toolset for building phone apps. The plugins:

Markdown

I am not much of a markdown’er myself, but for viewing markdown rendered, there is Markdown Preview Enhanced.

What I don’t use

I am a heavy git-user but I don’t use GitLens. It’s probably fine in a lot of ways, but I prefer the mental model used in the interface of the Sourcetree app.