2008-10-10 140 views
25

是否可以通过编程或其他方式增加Windows控制台窗口的宽度?或者我需要创建一个包装程序,看起来像控制台一样吗?有没有任何计划已经这样做了?我在我的开发中广泛使用Cygwin,对我来说,Windows中的所有控制台窗口都是宽度有限的,这似乎有些荒谬。如何更改Windows控制台窗口的宽度?

如果它很重要,我运行Windows XP。

回答

18

您可以通过右键单击托盘图标,进入选项对话框手动增加它。

也有适用于Windows的第三方终端仿真器,如Console

Screenshot of Console http://i37.tinypic.com/2ueu1ag.jpg

+0

上一个版本是2006年,你知道2.0b系列是否稳定吗?或者我应该用1.5来测试它吗? – 2008-10-10 08:53:00

+0

回答我自己的问题,2.0b是图中所示,所以我假设它是。无论如何:-) – 2008-10-10 09:09:11

6

如果右键命令窗口的标题栏上单击并选择属性,你可以改变宽度在布局选项卡

+0

哇,好多了,这是我耻辱地捧上我的帽子的地方,这可以让你设置单个链接/程序的默认值,但是有没有办法设置一个通用的默认值? – 2008-10-10 08:49:44

+1

它允许你设置如果你打开cmd.exe,那么你可以为它设置它,它应该适用于大多数窗口,然后出。 – 2008-10-10 09:08:05

+0

是的,我发现,我设置它后,cmd.exe似乎工作所有其他的东西,我以前用过的,它似乎没有影响我在.NET中构建的控制台应用程序,所以我以相同的方式更改了属性,它似乎在构建之间仍然存在 – Carl 2008-10-10 12:37:01

0

点击上的控制台框架(一个看起来像“C的左上角的图标:\ “),然后选择属性。这可以让你自定义各种东西。 “布局”选项卡具有窗口的宽度。

1

要获取特定大小的所有将来的控制台窗口,可以创建cmd.exe快捷方式,然后在快捷方式属性的布局选项卡上设置大小。

1

。在布局选项卡中可以配置以下控制台属性:

屏幕缓冲区大小 宽度

窗口大小 宽度

窗口大小宽度是如何每行的字符会可见。屏幕缓冲区大小是该行的size。例如,如果将“窗口大小宽度”设置为100,将“屏幕缓冲区大小宽度”设置为200,则需要使用滚动条查看大小介于100和200之间的行的全部内容。超过200个字符的行将出现在更多比一行。如果您有长长的行并且您想要将它们复制到文本文件中,这非常有用。

同样的事情适用于Windows PowerShell中

54

只需运行“模式的cols,线”,以改变当前控制台窗口的大小:

模式120,60

将调整控制台窗口120列和60行

2

mode 

system("mode... 

解决方案没有为我工作,我无法设置布局没有访问错误。

解决方法是关闭Cygwin,右键单击开始菜单中图标的属性,然后编辑布局 - >窗口 - >高度,然后选择是以允许管理员权限保存设置。 (不以管理员身份运行)。

现在当运行Cygwin总是给我一个大窗口。

Windows 7 64bit。

10
system("mode 45, 20"); 

这是一个糟糕的解决方案,因为它会禁用垂直滚动。

这是更好的:

system("mode CON: COLS=120"); 
2

嘿,有你们这里有没有想过的推出,从内部Windows命令提示符/控制台运行Cygwin的可能性?这是我总是这样做的。然后,你可以做任何你想要的控制台的外观,使其性感。

试图从cygwin中获取su可能有时很困难,特别是当您尝试使用提供的工具进行一些繁重的操作时。人们已经尝试了sudo SU的各种各样的东西,从windows到以往任何...当它可以像传递管理员凭证那样简单时,“用户”(如果你是管理员?)即使没有奇怪的UAC弹出窗口。你可以通过一个简单的批处理脚本来完成。有一个下面的屏幕抓取我的Cygwin看起来像,这是从一个便携版本的Cygwin也运行!没有注册表项和任何垃圾!
批处理文件凭据传递打坏,然后bash的变化目录(注意需要双引号来传递这个变量在Cygwin colsole,以便为它工作)

@echo off 
setlocal enabledelayedexpansion 
REM Changing working folder back to current directory 
%~d0 
CD %~dp0 
REM Folder changed 
bash --login -i -c "cd {insert_directory_name_here} && exec ./execution-file-here" 
cls 
exit 1 

注:括号像这样上述示例中的{}不包含在批处理脚本中。 还注意到,Windows CMD窗口将字符串传递给cygwin以解释为多个条件; cygwin不会读取它们自己的引用,但它们之间是什么。 & &是说改变目录,当你在那里执行脚本./execution-file-时。

这是一个双重打击,你可以从MS-Windows窗口启动一个Cygwin或Linux应用程序,甚至不需要输入代码或打开控制台或任何东西。

我将此批处理文件保存在/ Cygwin/bin目录中,并在桌面上创建Windows快捷方式链接。在快捷方式中,我可以设计cmd shell窗口。甚至去尽可能透明度;-)

enter image description here

enter image description here

4

如果你正在编写C#这里是为我工作的方法(从this page底部)

static void setConsoleSize() 
    { 
     System.Console.SetWindowPosition(0,0); // sets window position to upper left 
     System.Console.SetBufferSize(200,300); // make sure buffer is bigger than window 
     System.Console.SetWindowSize(122,54); //set window size to almost full screen 
     //width - maxSet(127,57) (width, height) 

     //System.Console.ResetColor(); //resets fore and background colors to default 

    } // End setConsoleSize() 

从帖子引用:“我可以使用的最大控制台大小是127列和57行,因为这是我的屏幕分辨率允许的 。他的意志会改变。

这只是其中一件事情,你将不得不玩耍,为了让你 得到它显示,只要你喜欢。 “