Можно ли программно или иным образом увеличить ширину окна консоли Windows? Или мне нужно создать программу-оболочку, которая будет выглядеть и работать как консоль? Существуют ли какие-нибудь программы, которые это уже делают? Я широко использую Cygwin в своей разработке, и мне кажется немного смешным, что все окна консоли в Windows ограничены по ширине.
Если это вообще имеет значение, я использую Windows XP.





Если вы щелкните правой кнопкой мыши строку заголовка командного окна и выберите свойства, вы можете изменить ширину на вкладке «Макет».
Это позволяет вам установить настройки для окна заголовка. Если вы откроете cmd.exe, вы можете настроить его для этого. Тогда он должен работать для большинства окон.
Да, я обнаружил, что после того, как я установил его на cmd.exe, он, похоже, работал со всеми остальными вещами, которые я использовал с тех пор. Похоже, это не повлияло на консольное приложение, которое я создаю в .NET, поэтому я изменил свойства таким же образом, и, похоже, они сохранялись даже между сборками.
Вы можете увеличить его вручную, щелкнув правой кнопкой мыши значок в области уведомлений и войдя в диалоговое окно параметров.
Также существуют сторонние эмуляторы терминала для Windows, например Приставка:
Последний выпуск был в 2006 году, знаете ли вы, стабильна ли линейка 2.0b? Или я должен пойти с 1.5, чтобы проверить это?
Отвечая на мой собственный вопрос, 2.0b - это то, что изображено. Я так полагаю. В любом случае, похоже, работает :-)
Консоль действительно отличная, я использовал ее с инструментами Windows GNU и git ... почти заставляет мой ящик Windows чувствовать себя как читаемый ОС ... почти ;-)
Щелкните значок в верхнем левом углу фрейма консоли (тот, который выглядит как «C: \»), затем выберите «Свойства». Это позволяет настраивать всевозможные вещи. Вкладка «макет» имеет ширину окна.
Чтобы получить все будущие окна консоли определенного размера, вы можете создать ярлык для cmd.exe, а затем установить размер на вкладке макета свойств ярлыка.
В свойствах консоли на вкладке Layout вы можете настроить следующее:
Размер буфера экрана Ширина
Размер окна Ширина
Ширина окна - это количество видимых символов в строке. Размер буфера экрана - это size линейки. Если вы установите, например, ширину размера окна на 100 и ширину размера буфера экрана на 200, вам нужно будет использовать полосу прокрутки для просмотра всего содержимого строк размером от 100 до 200. Строки длиннее 200 символов появятся в большем количестве чем одна строка. Это полезно, если у вас длинные строки, и вы хотите скопировать их в текстовый файл.
То же самое применимо и к Windows PowerShell.
Существует функция api окна для установки ширины. Вот репортаж об этом. http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles6.html
Просто запустите "mode cols, lines", чтобы изменить размер текущего окна консоли:
режим 120,60
изменит размер окна консоли до 120 столбцов и 60 строк
Как я обнаружил, благодаря этому ответу рабочий режим без параметров будет возвращать всевозможную полезную информацию, включая столбцы и строки. Полезно, если вы просто хотите увидеть, что это такое, а не менять это. Вы также можете проанализировать его с помощью cscript, если вам нужно изменить размер вывода команды в соответствии с настройками пользователя.
К сожалению, это также установит размер экранного буфера на это значение (т.е. отключит вертикальную прокрутку).
в
mode
и
system("mode...
решения не работали для меня, и я не мог установить макет без ошибки доступа.
Исправление заключалось в том, чтобы закрыть Cygwin, щелкнуть правой кнопкой мыши по свойствам значка в меню «Пуск» и отредактировать макет -> окно -> высоту, а затем сказать «да» разрешить права администратора сохранять настройки. (не запускать от имени администратора).
теперь при запуске Cygwin всегда выдает большое окно.
Windows 7 64бит.
system("mode 45, 20");
Это плохое решение, потому что оно отключает вертикальную прокрутку.
Это лучше:
system("mode CON: COLS=120");
это часть stdlib.h?
Привет, ребята, вы когда-нибудь думали о возможности запуска и запуска Cygwin из командной строки / консоли Windows? Я всегда так делаю. Затем вы можете сделать все, что захотите, с внешним видом консоли, чтобы сделать ее сексуальной.
попытка получить su из cygwin временами может быть затруднительной, особенно когда вы пытаетесь серьезно справиться с предоставленными инструментами. Люди пробовали всевозможные вещи, от sudo SU для Windows до чего угодно ... когда это может быть так же просто, как передача учетных данных администратора от вас, «пользователя» (если вы являетесь администратором?), Даже без странных всплывающих окон UAC . Вы можете сделать это с помощью простого пакетного скрипта. Ниже приведен снимок экрана моего Cygwin, который также работает с портативной версией Cygwin! Никаких записей в реестре и всякой ерунды!
Пакетный файл передает учетные данные в bash, а затем bash меняет каталог (обратите внимание, что для передачи этой переменной в colsole Cygwin необходимы двойные кавычки, чтобы она работала)
@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-here, когда вы туда доберетесь.
Это двойной удар: вы можете запускать Cygwin или Linux-подобное приложение из окна MS-Windows и даже не вводить букву кода, не открывать консоль или что-то еще.
Я храню этот командный файл в каталоге / Cygwin / bin и создаю ярлык Windows на рабочем столе. С помощью ярлыка я могу стилизовать окно оболочки cmd. Даже до прозрачности ;-)


Если вы программируете C#, вот метод, который сработал для меня (из нижней части эта страница)
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 строк, потому что это все, что я разрешение экрана позволит. Сбросьте разрешение экрана, и это изменится.
Это лишь одна из тех вещей, с которыми вам придется поиграть, чтобы вы чтобы он отображался так, как вам нравится. "
За исключением SetWindowPosition(), вы также можете использовать это в PowerShell.
Вау, намного лучше. Здесь я вешаю шляпу от стыда. Это позволяет вам установить значение по умолчанию для отдельных ссылок / программ, но есть ли способ установить универсальное значение по умолчанию?