OS - Xubuntu 18.04.1
I’m a big fan of Linux ever since I moved to it 15 years ago after getting tired of how locked down the Mac OS was. Linux gives me an environment that mimics the kind of environment my applications run in and gives me easy ways to get those applications up and running locally.
It’s also super light weight but still completely functional. I don’t have to spend $1,000+ on a laptop when I can grab a Dell and have more than enough power to do everything that I need to do for my programming.
Since a lot of applications for developers are now written using Electron, more and more essential apps are running in Linux and I never dual boot to any other OS in a given day. Once you get used to the applications, Linux is more than enough for a programmer to work how they need to.
IDE - Visual Studio Code
My current IDE for all things that I create is Visual Studio Code. Visual Studio Code is cross platform and so are all of the great extensions. I use it for PHP/Laravel development using the extensions:
- PHP Intelephense
- Live Server
Java development with:
- Java Extension Pack
- Tomcat for Java
And general prose writing using Markdown with:
- Code Spell Checker
- Markdown PDF
And the following extensions to round out the environment:
- EditorConfig for VS Code
- Material Icon Theme
- Rainbow Brackets
- Todo Tree
- VS Live Share
- VS Live Share Audio
- Simple Vim
These tools give me editing, code highlighting, intellisense, debugging and a full project environment for all the languages that I program in. I’ve tried some of the other tools out there, like PhpStorm and Eclipse, but I keep coming back to VS Code because of it’s simplicity and power.
You could do worse than to start here. And, in fact, the Visual Studio Code website has a number of pages that guide you through what to install in order to start programming in a certain language.
Browser - Firefox
I’m a big fan of keeping the web open and so I use Firefox. Mozilla, the organization that manages Firefox development, is not an ad company and doesn’t try to change the web to extract ever more personal information from their users.
- Markdown Here
- uBlock Origin
- Vue Devtools
Command Line Tools
Most of my other tools live in the command line. I’m very comfortable here, but I know not everyone is. I’ll try to point you to some windowed applications if good alternatives are available.
Git is the main source control application I use to version my code and push to repositories on BitBucket or GitHub. A good alternative to the command line git is the extension that ships with VS Code (which I do use quite often for simple git operations) and GitKraken.
Also included in Node is NPM, which is a manager for all the tools that can be installed using Node.
Vue Command Line
One Node application that I use quite a bit is the Vue CLI. The Vue command line tools allow me to very quickly start up a new Vue-based project. Since working through a Vue project can require a lot of moving parts, having a tool that can get it all set up and configured for me is invaluable.
There are many others, but this is the main toolset that I use in a day. Going through everything I have installed would be near impossible, but these are the main tools that I use, and it’s probably much different than the next developer. Everyone kind of collects their own assortment of tools, and this is mine.
I would like to talk more about tools. I think with the explosion of tools out there to use, it can be hard for a new developer to know what they need and what they should get into. Honestly, the only way that I got this specific collection of tools was from a lot of trial and error. Start here, and see where you go from there.
Hey, you. Thanks for reading this article. If you'd like to see more like this, feel free to subscribe to my mailing list. I'll let you know when another article has been posted.