Programs that saved you 100 hours (Online tools, Git aliases and Visual Studio extensions)13 Apr 2020 #productivity #git #visualstudio
Today I saw this Hacker News thread about Programs that saved you 100 hours. So I want to show some of the tools that have saved me a lot of time. Probably not 100 hours yet.
JSON Utils It converts a json file into C# classes. You could choose the property annotations and the casing for names. Visual Studio 2019 has this feature as “Paste JSON as Classes”. But, it doesn’t change the property names from camelCase in your JSON to PascalCase in your C# class.
NimbleText It applies a replace pattern on every single item of a input dataset. You don’t need to type crazy key sequences. Like playing the drums For example, it’s useful to generate SQL insert or updates statements from sample data in CSV format.
I use Git from the command line most of the time. I have
created copied some aliases for every day workflows. For example,
alias gs='git status -sb' alias ga='git add ' alias gco='git checkout -b ' alias gc='git commit ' alias gacm='git add -A && git commit -m ' alias gcm='git commit -m ' alias gpo='git push origin -u ' alias gconf='git diff --name-only --diff-filter=U'
Not Git related, but I have also created some aliases to use the Pomodoro technique.
alias pomo='sleep 1500 && echo "Pomodoro" && tput bel' alias sb='sleep 300 && echo "Short break" && tput bel' alias lb='sleep 900 && echo "Long break" && tput bel'
I work in a project that uses a branch naming convention. You need to include the type of task and the task number in the branch name. Every commit message should include the task number too. You can automate that with a prepare-commit-msg hook.
No more mental burden to memorize every task number. Specially when task numbers end up like virus names :D
#!/bin/bash FILE=$1 MESSAGE=$(cat $FILE) TICKET=[$(git rev-parse --abbrev-ref HEAD | grep -Eo '^(\w+/)?(\w+[-_])?[0-9]+' | grep -Eo '(\w+[-])?[0-9]+' | tr "[:lower:]" "[:upper:]")] if [[ $TICKET == "" || "$MESSAGE" == "$TICKET"* ]];then exit 0; fi echo "$TICKET $MESSAGE" > $FILE
Visual Studio extensions
CodeMaid It’s like a janitor. It helps you to clean extra spaces and blank lines, remove and sort using statements, insert blank line between properties and much more.
MappingGenerator I found this extension recently and it has been a time saver. You need to initialize an object with default values? You need to create a view model or DTO from a business object? MappingGenerator got you covered!
Voilà! These are the tools that have saved me 100 hours! If you want to try more Visual Studio extension, check my Visual Studio Setup for C#. If you’re new to Git, check my Git Guide for Beginners and my Git guide for TFS Users.