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 cmd.exe
, powershell.exe
and bash.exe
consoles is what makes it a killer app.
While 90% of my command line needs are met by a vanilla powershell.exe
or 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/single
flag 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
TaskN
keys, it should match up to the numberCmdN
Values 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
Cmd1
that opens mongod.exe, and aCmd2
that opens up an instance oftail.exe
tailing the mongo logs, settingActive
to 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.