Fresh start of my laptop
English version from my other medium post: “Fresh start de mi laptop”
A guide to things I need to install when I get a new laptop and I never remember where I got the links from.
Every time I change laptops (which has been more than 5 times in 2 years), I have to do the same settings. Many times I have said to myself: “Javi, make a script that does everything”, and right there I say to myself “Why?, I’m sure I won’t do do this configuration again” … you can already see the error here. This post is purely to capture my development tools for the wonderful laptop that I currently have (MacBook Pro 15 “), and maybe I will be able to help others, like me, always forget how to set the JAVA_HOME and much more. I did not do the script yet .
System Preferences
Full keyboard access
Full keyboard access allows you to use the keyboard like a mouse to navigate and interact with items on the screen. You use the Tab key and the arrow keys to navigate to items on the screen, and the space bar to select an item.
- Apple Menu> System preferences
- click Keyboard
- Select Shortcuts
Select “All Controls” under “Full Keyboard Access” (at the bottom).
In the “Function Keys” tab add IntelliJ and WebStorm to be able to use the fn keys. We will talk about this IDEs later.
IDEs
VSCode
This is my favorite editor to work with the FrontEnd, light and wonderful. You can download it from the following link. There are many plugins that I love, but I think I will add them in an update on this post. Anyway, you can leave your favorite plugins in the comments, for me I love to change themes you can check a lot of them in this link.
Webstorm
This is my favorite IDE for working with Javascript in general (like in the BFF side), debugging is wonderfully easy. It doesn’t have a free version, but is totally worth it like every JetBrains tool. You can download it from the following link. Like the previous one, has some wonderful plugins like: GraphQL, KeyPromoterX (IDE shortcuts), Presentation Assistant (to do pairing, mob programming and for the pair to see which commands are being used). Also there is a lot of nice themes, that you can check here.
IntelliJ
Without a doubt, Java Lovers will understand that this IDE has the best debugger in the universe and well, it has a free and full version (I recommend the full one, but if not, the free one is amazing). To download it you can use the following link. Here I also have some nice plugins such as Material Theme, Extra Icons, Lombok, KeyPromoterX, Presentation Assistant.
Note: I love IDEs and trying new things, but you don’t need to download all of these, there is nothing written about tastes, my grandmother said.
TOOLS USING COMMAND LINE
Homebrew
They call it the missing package manager for OS X:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
With homebrew, when you want to install packages like PostgreSQL, Maven, Gradle, etc., you don’t need to go to the website and download it, you can easily install them in this way:
$ brew install mysql gradle maven
You can also install your favorite browser using:
$ brew install --cask google-chrome
iTerm2
This is my favorite console I use it a lot in all my laptops, because it can be customized in various ways (transparent window, fonts, colors, see branches, etc.), you can install it using:
$ brew install --cask iterm2
Oh My Zsh — Your terminal never felt so good before :)
Based on zsh (z shell), similar to bash, but not bash. Zsh is an extended Bourne shell with a host of enhancements, including some Bash, ksh, and tcsh features.
Oh My Zsh is also a lovely, open source, community driven framework for managing your Zsh setup. It has installed all the git shortcuts that you can see in the following link, and please use them !
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Finally if you got stuck with the above instructions, you can follow this wonderful tutorial from Medium.
Git
I don’t know if I can say much about git, the most wonderful version manager in the universe. You can install it using:
$ brew install git
Tig
Along the same lines as git, Tig helps you see changes, branches, HEAD, and more. You can find all the information on their page here. To install it you can use:
$ brew install tig
DEVELOPMENT
JAVA
Well, I can not add much, in my work it is essential to have this installed and working properly. To do this, you must create an account in Oracle and download the desired version. Keep in mind that you must be up to date, as some versions of JAVA are not compatible with some dependencies. You can find the link to download JAVA here. Anyway, there is a java version manager which will help you between projects… SDKMan, you can find it here. Another wonderful but less known JAVA version manager is jenv, and you can read more of it here.
Do not forget to setup the JAVA_HOME , which something we always do, but I personally always forget how to do it.
For a Zsh terminal, open or create the file ~/.zshrc and if you are in Bash open or create the file ~/.bashrc and add the following (for version 11):
$ JAVA_HOME=$(/usr/libexec/java_home -v 11)
JAVA_HOME in your path:
$ export PATH="$PATH:$JAVA_HOME/bin"
and do not forget to reset your console to ensure that it is properly configured using:
$ echo $JAVA_HOME
Node
Installing node is essential for someone who must do a FullStack job here the official site with the download link. In particular for using Node I use a package manager called nvm (node version manager), which helps me install the version I need of node. You can find it in the following link. Also a slightly more pro tutorial that explains step by step the installation of this version manager.
DEVELOPER TOOLS
If you need to use your browser while developing, here more tips for frontend folks:
Testing library
For those who are starting in rtl and need a little help or just to make our development process simpler, you can use this plugin to find the suggested query to use in your tests.
WAVE Evaluation Tool (Accessibility)
This is one of my favorites, because is a plugin that you can use in any website, even testing locally (with a few tricks), to see how good your web is against the WAVE standards, you can found it here.
React Developer tools
These tools that can be used in chrome and edge will help you make your development process much easier, especially for FrontEnd, you can find it at this link.
Eye Dropper
A super interesting chrome and edge plugin that will help you validate colors because you never rely in your monitor or eyes, always code, you can find it at the following link.