ConEmu如何配置-new_console参数实现自定义控制台网格分屏布局
布局修改方案
你原有脚本生成单列布局的核心原因是所有命令都仅使用了sV参数,且未指定分割目标窗格与比例,每次执行都会在当前活动窗格下方纵向均分切出新窗格,最终形成6行1列的堆叠结构。
备选3行2列规则网格(实现最稳定,无兼容性问题)
直接替换run.cmd内容为如下代码即可:
:: 第一行左侧:server_0 cmd /c server_0.cmd :: 第一行右侧:横向分割出50%宽度放microservice_0 cmd /c microservice_0.cmd -new_console:sH50 :: 第二行左侧:纵向分割server_0窗格下半50%高度放microservice_1 cmd /c microservice_1.cmd -new_console:sV50:0 :: 第二行右侧:纵向分割microservice_0窗格下半50%高度放microservice_2 cmd /c microservice_2.cmd -new_console:sV50:1 :: 第三行左侧:纵向分割microservice_1窗格下半50%高度放docker_1 cmd /c docker_1.cmd -new_console:sV50:2 :: 第三行右侧:纵向分割microservice_2窗格下半50%高度放docker_2 cmd /c docker_2.cmd -new_console:sV50:3
-new_console分割参数说明:
sH:横向(左右)分割指定窗格sV:纵向(上下)分割指定窗格- 分割参数后跟随的数字为分割占比,
50即两个窗格均分空间 - 参数末尾的
:n指定要分割的目标窗格编号,窗格从0开始按创建顺序计数 - 参数末尾的
T/B/L/R后缀可指定新窗格放置在目标区域的顶/底/左/右侧
首选非对称布局脚本
如果需要实现第一行全宽、第二行三列、第三行两列的布局,使用如下脚本:
:: 顶部全宽server_0,占总高度33%,放置在顶部 cmd /c server_0.cmd -new_console:sV33T :: 中间行第一个microservice_0,占剩余下方区域的上半部分(总高33%) cmd /c microservice_0.cmd -new_console:sV50T:0 :: 中间行依次向右分割出两个等宽窗格,三个服务各占1/3宽度 cmd /c microservice_1.cmd -new_console:sH33:2 cmd /c microservice_2.cmd -new_console:sH50:3 :: 底部区域横向均分为两部分,分别启动两个docker服务 cmd /c docker_1.cmd -new_console:sH50:0 cmd /c docker_2.cmd -new_console:sH50:4
如果运行后比例有细微偏差,微调数字即可,比如把33改为34抵消窗口边框占用的像素。
最佳实践建议
- 优先使用ConEmu内置任务替代独立脚本:打开ConEmu设置,进入「启动-任务」页面新建任务,把上述启动命令填入任务配置中即可。内置任务支持直接配置启动工作目录、窗格标题、默认启动位置,不需要每次手动切换目录执行脚本。
- 可以在任务参数中添加
-Monitor N -FullScreen(N为副屏编号,从1开始计数),实现启动后自动在副屏全屏展示,不需要手动调整窗口。 - 内置任务支持绑定全局快捷键,可一键启动/重启整套服务,管理效率比独立脚本更高;ConEmu关闭时会自动终止所有关联子进程,和脚本启动的进程管理效果完全一致。
- 如果需要保留独立脚本的可移植性,可以在脚本末尾添加
ConEmuC -Monitor 2 -FullScreen命令,启动完成后自动将窗口移动到副屏全屏。
内容的提问来源于stack exchange,提问作者BPL
相关产品推荐
相关产品推荐

