痞子衡嵌入式:忘掉cmd.exe吧!选用优雅的控制台终端(ConsoleZ)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是一款优雅的替换cmd的命令行终端ConsoleZ。
1.使用cmd的烦恼
嵌入式开发经常会用到命令行工具,Windows系统自带的command line工具(cmd.exe)的简陋程度不用说大家都深有体会。使用cmd.exe有如下几个主要的烦恼:
- 没有多标签支持:打开多个命令行窗口,任务栏下面就会显示多个终端窗口,且这些窗口都没有命名,切换极不方便。
- 复制粘贴太麻烦:复制粘贴的操作之繁琐简直让人无法接受。
- 窗口大小不可调:窗口宽度不可调整,对于比较长的命令输入或log显示,看起来极不雅观。
2.Console项目
在讲本文主角ConsleZ之前有必要提一下这个软件的前身,ConsoleZ实际上是Console项目的一个分支,Console是由Marko Bozikovic维护在SourceForge上的开源项目,第一个正式版本1.0于2002年1月发布。目前最新的版本是2.00b148-Beta(截止到2017年9月),发布于2011年10月。
Console项目官方主页(SourceForge) https://sourceforge.net/projects/console/
Console项目Github:https://github.com/bozho/console
Console(Console2)可以理解为cmd.exe的前端(Windows系统下),和Konsole,Gnome Ternimal之于bash的角色(Linux系统下)是一样的。
3.ConsoleZ项目
由于Console已经很久没有更新,Christophe Bucher在Console项目基础上开发出了ConsoleZ。相比Console,ConsoleZ主要是在更新的系统Windows Vista/7/8/10下的体验以及视觉效果上有进一步改进。目前最新的版本是1.18.2(截止到2017年9月),发布于2017年9月。
ConsoleZ项目官方主页(Github) https://github.com/cbucher/console
跟Console一样,ConsoleZ也只是个shell工具(cmd.exe)的前端,它本身并没有实现shell工具的功能,它只是基于shell工具做了一个包装。无论是Console还是ConsoleZ,都可以解决我们在使用cmd.exe时的烦恼。如下是ConsoleZ(Console)基本特性:
- multiple tabs(多标签)
- text editor-like text selection(像文本编辑器一样编辑)
- different background types (solid color, image, fake transparency)(可设背景样式)
- configurable font(可设字体类型)
- different window styles(不同窗口式样)
除了上述基本特性外,ConsoleZ还支持更多有用的特性:
- Splitting Tabs into views (horizontally and vertically)(同窗分屏显示多标签)
- Grouping views (so input sent to one goes to all of them)
- and more...
尤其是看到同窗分屏显示多标签,小伙伴们是不是有点激动?在Edit->Settings->Hotkeys里找到或定义Spilt Horizontally/Vertically的热键,然后使用热键将打开的Console窗口按需分屏,下面贴一张效果图:
4.如何包装更多的shell工具?
cmd.exe是ConsoleZ默认包装的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路径需要根据自己PC路径而定):
C:\Windows\SysWOW64\cmd.exe /c "C:\mcu_tools\Git\bin\sh.exe --login -i"
配置好之后新建Tab时选择ConsoleZ - git bash便可以看到Console打开的是Git bash。
至此,命令行终端ConsoleZ痞子衡便介绍完毕了,掌声在哪里~~~
最后欢迎关注痞子衡个人微信公众号【痞子衡嵌入式】,一个专注嵌入式技术的公众号,跟着痞子衡一起玩转嵌入式。



衡杰(痞子衡),目前就职于某全球顶级半导体原厂MCU系统部门,担任高级嵌入式系统应用工程师。
专栏内所有文章的转载请注明出处:http://www.cnblogs.com/henjay724/
与痞子衡进一步交流或咨询业务合作请发邮件至 hengjie1989@foxmail.com
可以关注痞子衡的Github主页 https://github.com/JayHeng,有很多好玩的嵌入式项目。
关于专栏文章有任何疑问请直接在博客下面留言,痞子衡会及时回复免费(划重点)答疑。
痞子衡邮箱已被私信挤爆,技术问题不推荐私信,坚持私信请先扫码付款(5元起步)再发。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升