Update: Thanks to the author of ConEmu for some constructive feedback in the comments!
I’ve fallen in love with ConEmu, after being introduced to it by a Scott Hanselman blog post. While my initial attraction to it was its integration with farmanager, that was only its initial selling point. The ability to have one resizable tabbed window to hold all my
bash.exe consoles is what makes it a killer app.
While 90% of my command line needs are met by a vanilla
far.exe command line, sometimes I need my environment set up in another way. For example, sometimes I need the
vcvarsall.bat run that sets the environment up for a particular version of Visual Studio or the Windows SDK. Also, on occasion I will need to fire up the mingw bash instance that comes with git. (Generally, this is only to run
sshkeygen.exe). Finally, while a 64 bit instance of PowerShell 3.0 captures 99% of my PowerShell needs, I want easy access to both 32 and 64 bit versions of the PowerShell 1.0, 2.0 and 3.0 environments.
So I set all these up in ConEmu, and exported the registry keys into a gist repository, and now I share them here as a pastebin (because githup lacks syntax highlighting):
Breakdown of settings
All the settings are stored in subkeys of
HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Tasks with the name
TaskN where N is a base 10 integer. In addition, that key has a
DWORD value named
Count that contains the number of tasks.
Each task contains the following key/value pairs:
- Name This is the name of the task
- GuiArgs These are the ConEmu configuration options. In all my cases I use
/single /Dir %userprofile%. The
/singleflag adds the task to the currently open ConEmu instance, if there is one. The
/Dir %userprofile%switch sets the working directory to my home directory.
- CmdN These are the commands executed. Each one represents a command executed in a new tab by a task. All the tasks I have configured execute exactly one tab.
- CountThis is the number of tabs opened by this command. Like the
TaskNkeys, it should match up to the number
CmdNValues in a Task.
- Active I set this to zero, but if you have a task that open multiple tabs you can set this to the tab number you want activated after running that task. For example, If you have a task with a
Cmd1that opens mongod.exe, and a
Cmd2that opens up an instance of
tail.exetailing the mongo logs, setting
Activeto 2 will display the console running the tail.
ConEmu’s true power is your ability to customize it, so by showing you how I customized it, I hope you have found it to be more powerful.