大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是一款優(yōu)雅的替換cmd的命令行終端ConsoleZ。
嵌入式開發(fā)經(jīng)常會用到命令行工具,Windows系統(tǒng)自帶的command line工具(cmd.exe)的簡陋程度不用說大家都深有體會。使用cmd.exe有如下幾個主要的煩惱:
沒有多標(biāo)簽支持:打開多個命令行窗口,任務(wù)欄下面就會顯示多個終端窗口,且這些窗口都沒有命名,切換極不方便。
復(fù)制粘貼太麻煩:復(fù)制粘貼的操作之繁瑣簡直讓人無法接受。
窗口大小不可調(diào):窗口寬度不可調(diào)整,對于比較長的命令輸入或log顯示,看起來極不雅觀。
在講本文主角ConsleZ之前有必要提一下這個軟件的前身,ConsoleZ實際上是Console項目的一個分支,Console是由Marko Bozikovic維護(hù)在SourceForge上的開源項目,第一個正式版本1.0于2002年1月發(fā)布。目前最新的版本是2.00b148-Beta(截止到2017年9月),發(fā)布于2011年10月。
Console項目官方主頁(SourceForge) https://sourceforge.net/projects/console/
Console項目Github:https://github.com/bozho/console
Console(Console2)可以理解為cmd.exe的前端(Windows系統(tǒng)下),和Konsole,Gnome Ternimal之于bash的角色(Linux系統(tǒng)下)是一樣的。
由于Console已經(jīng)很久沒有更新,Christophe Bucher在Console項目基礎(chǔ)上開發(fā)出了ConsoleZ。相比Console,ConsoleZ主要是在更新的系統(tǒng)Windows Vista/7/8/10下的體驗以及視覺效果上有進(jìn)一步改進(jìn)。目前最新的版本是1.18.2(截止到2017年9月),發(fā)布于2017年9月。
ConsoleZ項目官方主頁(Github) https://github.com/cbucher/console
跟Console一樣,ConsoleZ也只是個shell工具(cmd.exe)的前端,它本身并沒有實現(xiàn)shell工具的功能,它只是基于shell工具做了一個包裝。無論是Console還是ConsoleZ,都可以解決我們在使用cmd.exe時的煩惱。如下是ConsoleZ(Console)基本特性:
multiple tabs(多標(biāo)簽)
text editor-like text selection(像文本編輯器一樣編輯)
different background types (solid color, image, fake transparency)(可設(shè)背景樣式)
configurable font(可設(shè)字體類型)
different window styles(不同窗口式樣)
除了上述基本特性外,ConsoleZ還支持更多有用的特性:
Splitting Tabs into views (horizontally and vertically)(同窗分屏顯示多標(biāo)簽)
Grouping views (so input sent to one goes to all of them)
and more...
尤其是看到同窗分屏顯示多標(biāo)簽,小伙伴們是不是有點激動?在Edit->Settings->Hotkeys里找到或定義Spilt Horizontally/Vertically的熱鍵,然后使用熱鍵將打開的Console窗口按需分屏,下面貼一張效果圖:
cmd.exe是ConsoleZ默認(rèn)包裝的shell工具,除了cmd.exe外,我們還會用到其他的shell工具,比如Git bash(痞子衡安裝的版本是v2.12.0 x64)。那么ConsoleZ如何包裝Git bash呢?在Edit->Settings->Tabs里使用Add新建一個Tab(痞子衡新建的叫ConsoleZ - git bash),然后將Main框里的一些選項配置上,其中最重要的是Shell一欄,需填入如下語句(cmd.exe和sh.exe路徑需要根據(jù)自己PC路徑而定):
C:\Windows\SysWOW64\cmd.exe /c 'C:\mcu_tools\Git\bin\sh.exe --login -i'
配置好之后新建Tab時選擇ConsoleZ - git bash便可以看到Console打開的是Git bash。
至此,命令行終端ConsoleZ痞子衡便介紹完畢了,掌聲在哪里~~~