My Vscode Setup
Tags: beginners, programming, productivity, php
Published: 2023-08-04 21:03:14

## Short and brief
You can get up an running in 3 easy steps:

1. [Download] (https://code.visualstudio.com/download)
2. Install
3. Run

Let's make it clear. I just prefer Netbeans but there are some times I have to share work with colleagues that use Vscode. In case you missed it, here's my article [My Netbeans Setup] (https://dev.to/jcrodsolutions/my-netbeans-setup-3711) on how do I make my Netbeans IDE work for me.

Quick recap: I once read that if you want to be really productive, know your IDE, make it yours, let it be a part of you. You can achieve this also with Vscode. Read me in. 

## Key adjustments
I order to make the most of your IDE you have to make some adjustments in this areas:

- Extensions
- Key Bindings
- Code Snippets

## Extensions
Here's a list of a few extensions I use. You can follow my lead or look for another extension that lets you accomplish the same. There may or may not be the best available but are the ones that make me feel comfortable.

- **Laravel Blade Formatter** [shufo.vscode-blade-formatter](https://marketplace.visualstudio.com/items?itemName=shufo.vscode-blade-formatter) "An opinionated Blade file formatter".
There's no perfect blade formatter, but this one does the job
- Material Icon Theme [PKief.material-icon-theme](https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme) "Material Design Icons".
Default icons may be difficult to tell apart from each other.
- **PHP IntelliSense** [zobo.php-intellisense](https://marketplace.visualstudio.com/items?itemName=zobo.php-intellisense) "Advanced PHP IntelliSense".
Don't you feel great when you have a friend that completes your phrases?
- **phpfmt - PHP formatter** [kokororin.vscode-phpfmt](https://marketplace.visualstudio.com/items?itemName=kokororin.vscode-phpfmt) "The missing phpfmt extension".
Nice to have a formatter for php code
- **Semicolon Insertion Shortcut** [chrisvltn.vs-code-semicolon-insertion](https://marketplace.visualstudio.com/items?itemName=chrisvltn.vs-code-semicolon-insertion) "Semicolon insertion shortcut".
Coming from using Netbeans, this was a **must have** extension.
- **Live Share** [ms-vsliveshare.vsliveshare](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) "Real-time collaborative development".
This one is really great for helping others and for collaboration.

## Key Bindings
You have to forget about your mouse! You ARE faster when you type! Keystrokes are faster than mouse point and click!
You have to make your fingers memorize this in order to become a better coder. Why? Because your brain will have more time to focus in problem solving rather than precision clicking a specific icon to perform any action like save your files for example.
My preferred shorcuts get the following done:
- Open the terminal
- Duplicate lines
- Move lines arround
- Go to Specific line
- Terminate the line with a ;
- Newline wherever you are positioned in a line
...and more

Some of the extensions mentioned before need to be tweaked a little bit, for example ctrl+; is not available by default for using with the semicolon insert extension so I simply eliminated those key combos that are not useful (to me) by any means. 

Here's a link to download my settings. [Keybindings](https://jcrodsolutions.com/downloads/vscode/keybindings.json)

## Code Snippets
This makes repetitive code blocks easier to deploy. You just have to remember "your" shortcuts. 
I can suggest a couple:

cont
This will create a container, inside a row and inside a col.

row
This will create a row and inside a col

ig5
This will create an input group as the one [input group](https://getbootstrap.com/docs/5.3/forms/floating-labels/#input-groups).

To use any of your templates you just type your shortcut, wait a little moment and then select yours from the popup list.
* [Blade snippets] (https://jcrodsolutions.com/downloads/vscode/blade.json)
* [PHP Snippets] (https://jcrodsolutions.com/downloads/vscode/php.json)

Try them, use them, memorize then, be them. They're yours.