Изменения в консоли Windows в Windows Server

Начиная с Windows Server 2016, узел консоли (базовый код, поддерживающий все приложения в режиме символов, включая командную строку Windows, запрос Windows PowerShell и другие) был обновлен несколькими способами, чтобы добавить различные новые возможности.

Управление новыми функциями

Новая функциональность включена по умолчанию, но вы можете включать и выключать каждую из новых функций или возвращаться к предыдущему хосту консоли либо через интерфейс "Свойства" (в основном на вкладке "Параметры ") или с этими разделами реестра (все ключи являются значениями DWORD в разделе HKEY_CURRENT_USER\Console):

Ключ реестра Description
ForceV2 1 включает все новые функции консоли; 0 отключает все новые функции. Примечание. Это значение не хранится в сочетаниях клавиш, а только в этом ключе реестра.
LineSelection 1 активирует выбор строки; 0 для использования только режима блока
FilterOnPaste 1 включает новое поведение вставки
LineWrap 1 упаковывает текст при изменении размера окон консоли
CtrlKeyShortcutsDisabled 0 включает новые сочетания клавиш; 1 отключает их
Расширенные ключи правки 1 включает полный набор клавиш выбора клавиатуры; 0 отключает их
TrimLeadingZeros 1 удаляет начальные нули в выделениях, сделанных двойным щелчком; 0 сохраняет начальные нули
WindowsAlpha Задает значение непрозрачности от 30% до 100%. Используйте 0x4C для 0xFF или 76 до 255, чтобы указать значение
WordDelimiters Определяет символ, используемый, чтобы пропустить при выделении текста целого слова за раз, используя клавиши CTRL+SHIFT+СТРЕЛКА (по умолчанию — пробел). Задайте для этого REG_SZ значение, содержащее все символы, которые необходимо рассматривать как разделители. Примечание. Это значение не хранится в сочетаниях клавиш, а только в этом ключе реестра.

Эти параметры хранятся в каждом заголовке окна в реестре в разделе HKCU\Console. Окна консоли, открытые ярлыком, имеют эти параметры, хранящиеся в ярлыке; Если ярлык копируется на другой компьютер, параметры перемещаются с ним на новый компьютер. Параметры в сочетаниях клавиш переопределяют все остальные параметры, включая глобальные параметры и значения по умолчанию. Однако, если вернуться к исходной консоли, используя Использовать устаревшую консоль на вкладке «Параметры», этот параметр будет глобальным и будет сохраняться для всех окон, включая после перезагрузки компьютера.

Эти параметры можно предварительно настроить или создать скрипт, посредством правильной настройки реестра в файле Unattend или с помощью Windows PowerShell.

16-разрядные приложения NTVDM всегда возвращаются к более старому консольному хосту.

Note

Если возникли проблемы с новыми параметрами консоли и не удается устранить их с помощью определенных параметров, перечисленных здесь, вы всегда можете вернуться к исходной консоли, установив для forceV2 значение 0 или с помощью устаревшего элемента управления консоли в параметрах.

Поведение консоли

Теперь вы можете изменить размер окна консоли, захватив край с помощью мыши и перетащив его. Полосы прокрутки отображаются только в том случае, если размер окна установлен вручную (с помощью вкладки "Макет " в свойствах) или если самая длинная строка текста в буфере шире текущего размера окна.

Новое окно консоли теперь поддерживает перенос строк. Однако если вы использовали API консоли для изменения текста в буфере, консоль оставит текст как он был первоначально вставлен.

Теперь окна консоли могут быть полупрозрачными (до минимальной прозрачности 30%). Вы можете настроить прозрачность в меню "Свойства" или с помощью следующих команд клавиатуры:

Для этого выполните указанные ниже действия. Используйте это сочетание клавиш:
Повышение прозрачности CTRL+SHIFT+Plus (+) или CTRL+SHIFT+прокрутка мыши вверх
Уменьшение прозрачности CTRL+SHIFT+Минус (-) или CTRL+SHIFT+мышь прокрутите вниз
Переключить полноэкранный режим ALT+ENTER

Selection

Существует множество новых параметров для выбора текста и строк, а также для маркировки текста и использования журнала буфера. Консоль пытается избежать столкновений с приложениями, которые могут использовать те же ключи.

Для разработчиков

Если возникает конфликт, вы можете управлять поведением приложения при использовании режимов ввода строки, обработанного ввода и эховвода с помощью API SetConsoleMode(). Если вы работаете в обработанном режиме ввода, сочетания клавиш, приведенные ниже, применяются, но в других режимах приложение должно обрабатывать их. Все сочетания клавиш, не перечисленные здесь, функционируют так же, как в предыдущих версиях консоли. Вы также можете попытаться устранить конфликты с различными настройками на вкладке Параметры. Если ничего не помогает, вы всегда можете вернуться к исходной консоли.

Теперь вы можете использовать выделение методом щелчка и перетаскивания за пределами режима QuickEdit, и теперь это выделение может выделять текст по строкам, как в Блокноте, а не только прямоугольный блок. Операции копирования больше не требуют удаления разрывов строк. Помимо выбора щелчка и перетаскивания доступны следующие сочетания клавиш:

Выделение текста

Для этого выполните указанные ниже действия. Используйте это сочетание клавиш:
Переместите курсор влево на один символ, расширяя выделение. SHIFT + СТРЕЛКА ВЛЕВО
Перемещение курсора вправо на один символ, расширяя выделение SHIFT + СТРЕЛКА ВПРАВО
Выбирает текст построчно от точки вставки SHIFT+СТРЕЛКА ВВЕРХ
Расширяет выделение текста вниз по одной строке из точки вставки SHIFT+СТРЕЛКА ВНИЗ
Если курсор находится в текущей строке редактирования, используйте эту команду один раз, чтобы расширить выделение до последнего символа в входной строке. Используйте его во второй раз, чтобы расширить выделение до правого поля. SHIFT+END
Если курсор не находится в строке, редактируемой в данный момент, используйте эту команду, чтобы выделить весь текст из точки вставки в правое поле. SHIFT+END
Если курсор находится в строке, которая в данный момент редактируется, используйте эту команду один раз, чтобы расширить выделение на символ сразу после командной подсказки. Используйте его во второй раз, чтобы расширить выделение до правого поля. SHIFT+HOME
Если курсор не находится в строке, отредактируемой в данный момент, используйте эту команду, чтобы расширить выделение на левое поле. SHIFT+HOME
Переместить выделение вниз на один экран SHIFT+СТРЕЛКА ВНИЗ
Расширьте выделение на один экран вверх SHIFT+PAGE UP
Расширьте выделение на одно слово вправо. (Вы можете определить разделители для слова с помощью ключа реестра WordDelimiters.) CTRL+SHIFT+СТРЕЛКА ВПРАВО
Расширить выделение на одно слово влево CTRL+SHIFT+HOME
Расширьте выделение до начала экранного буфера CTRL+SHIFT+END
Выделите весь текст после запроса, если курсор находится в текущей строке, а строка не пуста CTRL+A
Выберите весь буфер, если курсор не находится в текущей строке CTRL+A

Редактирование текста

Вы можете скопировать и вставить текст в консоли с помощью команд клавиатуры. CTRL+C теперь служит двумя функциями. Если при использовании текст не выбран, команда BREAK отправляется как обычно. Если выбран текст, первое действие копирует текст и снимает выделение; второе действие отправляет BREAK. Ниже приведены другие команды редактирования:

Для этого выполните указанные ниже действия. Используйте это сочетание клавиш:
Вставка текста в командную строку CTRL+V
Копирование выделенного текста в буфер обмена CTRL+INS
Скопируйте выделенный текст в буфер обмена; отправьте BREAK CTRL+C
Вставка текста в командную строку SHIFT+INS

Режим разметки

Чтобы ввести режим разметки в любое время, щелкните правой кнопкой мыши в строке заголовка консоли, наведите указатель мыши на "Изменить" и выберите "Пометить " в открывающемся меню. Можно также ввести CTRL+M. В режиме разметки используйте клавишу ALT для идентификации начала выделения линии. (Если параметр включения выделения переноса строки отключен, режим разметки выбирает текст в блоке.) В режиме разметки CTRL+SHIFT+ARROW выбирает по символам, а не по словам, как в обычном режиме. Помимо клавиш выделения в разделе "Редактирование текста", эти сочетания доступны в режиме пометки:

Для этого выполните указанные ниже действия. Используйте это сочетание клавиш:
Введите режим разметки для перемещения курсора в окне CTRL+M
Начало выделения строк в режиме разметки в сочетании с другими сочетаниями ключей ALT
Перемещение курсора в указанном направлении клавиши со стрелками
Перемещение курсора по одной странице в указанном направлении Ключи PAGE (или ПЕЙДЖ, если применимо)
Переместите курсор в начало буфера CTRL+HOME
Перемещение курсора в конец буфера CTRL+END
Для этого выполните указанные ниже действия. Используйте это сочетание клавиш:
Перейти на одну строку вверх в истории вывода CTRL+стрелка вверх
Перемещение вниз по одной строке в журнале выходных данных CTRL + ВНИЗ
Перемещение окна представления в верхнюю часть буфера (если командная строка пуста) или удалите все символы слева от курсора (если командная строка не пуста) CTRL+HOME
Перемещение окна просмотра в командную строку (если командная строка пуста) или удалите все символы справа от курсора (если командная строка не пуста) CTRL+END

Дополнительные команды клавиатуры

Для этого выполните указанные ниже действия. Используйте это сочетание клавиш:
Открыть диалоговое окно "Найти" CTRL+F
Закрыть окно консоли ALT+F4