A proper terminal for Visual Studio
Whack Whack Terminal is an experimental free plugin for Visual Studio 2017 that aims to bring a full terminal inside of Visual Studio. Those of you who use Visual Studio Code have long enjoyed the integrated xtermjs terminal. Justin Clareburt worked with Daniel Griffen on hacking together this solution as an experiment. There is no plans for it to be more than an experiment, I'm told BUT I always say vote with your feet. I figure a few tens of thousands of installs and someone will decide to build it in. I have long used Mads Kristensen's Quake Mode that lets me launch a command prompt from VS, but ever since the NuGet Package manager showed up in VS many years ago, I've always wanted a real FULL terminal in VS.
Today, the code is alpha quality, so expect it will actively improve, and don't be mean in the GitHub Issues. They've versioned it at 0.2, and is aiming for parity with the features in the terminal in VSCode for version 1.0.
Still, go install WhackWhack in VS2017 NOW! Nothing ventured, nothing gained!
I'm sure they will update it with lots of great features like changing the fonts and colors, but if you want to hack away (as of the date of this blog post) you can mess around in C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\sjogt3hc.qcl\daytona with ZERO WARRENTY EXPRESS OR IMPLIED. I went into there and edited the default.css file by removing all the comments and changing the background-color to black, the text to white, and adding a font-family choosing Consolas. If you do that, you'll likely need to uninstall/reinstall at some point when REAL customizations come. Again, alpha. But awesome.
"Whack" is a shorthand word for a slash (forward or otherwise) and the default hotkey is Ctrl+\, Ctrl+\. That's twice. so Ctrl WHACK WHACK. When you use the hotkey it will open the folder in the same folder as the currently selected project in the Solution Explorer.
If you want to change the hotkey to something else (like a more sensible Ctrl+~) you can do it in Tools | Options | Keyboard like this.
Then assign a new one by clicking in Press Shortcut Keys and typing "Ctrl+`" (which to me, is Ctrl ~ on my keyboard, without the shift)
By default the shell is PowerShell, but there's also places to support bash/Ubuntu, etc. For now, if you want bash, you can type C:\windows\sysnative\bash.exe in the terminal.
And just to freak you out, here's top running inside Visual Studio.
Enjoy! Install "WhackWhackTerminal" from here.
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
Added to my YAHFSICLW (pronounced YAF-SICK-LOO) list.
I find it complements ConEmu great, as i have set that up with some custom keyboard bindings to launch specific powershells (Skype for Business, Exchange, Azure AD and vanilla powershell), but generally i dont want that cruft in my IDE so have a much smaller "context" shift when im doing something dev related in VS than if i open my ops environment to do a dev task :D
One request @Daniel Griffen, will the github repo have more than a readme.md in it, as im the sort of guy who likes to read the code to work out if any bugs i encounter are intentional and are bugs in my expectations rather than the code, that and i prefer to :)
This blog post is welcome relief from the spam torrent of R language is awesome posts in other tech blogs. Enough of the niche of a niche speciality languages.
As has already been stated, you have to weigh the "it's simple and built-in" way vs. "needs a Visual Studio 2017 extension" way and decide which one you prefer.
What problem does it solve? ☺️
First I'll cover the question posed by Vince, this extension solves the integration issue that a ConEmu hotkey would have. By being part of VS I can offer features such as:
- Opening to the current solution
- Matching the VS theme
- Click to goto error (work in progress)
- Per-solution settings (planned work)
In regards to the speculation on the directory change from Chris Poe, yes, the 0.2.4 update changed how the extension was installed. Previously I had set it as a per-machine extension due to an API I was using requiring that my extension live in the Common7/IDE folder. With the 0.2.4 release I have removed my dependence on that API and so the extension can live in the AppData directory.
Comments are closed.