Udostępnij za pośrednictwem


Zmiany w konsoli systemu Windows w systemie Windows Server

Począwszy od systemu Windows Server 2016, host konsoli (podstawowy kod, który obsługuje wszystkie aplikacje w trybie znaków, w tym wiersz polecenia systemu Windows, wiersz polecenia programu Windows PowerShell i inne) został zaktualizowany na kilka sposobów, aby dodać wiele nowych możliwości.

Kontrolowanie nowych funkcji

Nowa funkcja jest domyślnie włączona, ale można włączyć i wyłączyć każdą z nowych funkcji lub przywrócić do poprzedniego hosta konsoli za pomocą interfejsu Właściwości (głównie na karcie Opcje ) lub za pomocą tych kluczy rejestru (wszystkie klucze są wartościami DWORD w obszarze HKEY_CURRENT_USER\Console):

Klucz rejestru Description
ForceV2 1 włącza wszystkie nowe funkcje konsoli; Wartość 0 wyłącza wszystkie nowe funkcje. Uwaga: ta wartość nie jest przechowywana w skrótach, ale tylko w tym kluczu rejestru.
LineSelection 1 włącza tryb wyboru wiersza; 0 służy do używania tylko trybu bloku
FilterOnPaste 1 umożliwia nowe zachowanie wklejania
LineWrap 1 zawija tekst podczas zmieniania rozmiaru okien konsoli
CtrlKeyShortcutsDisabled 0 włącza nowe skróty klawiszowe; 1 wyłącza je
Klucze ExtendedEdit 1 włącza pełny zestaw wyboru klawiatury; 0 wyłącza je
TrimLeadingZeros 1 przycina wiodące zera w zaznaczeniach dokonanych przez dwukrotne kliknięcie; 0 utrzymuje zera wiodące
WindowsAlpha Ustawia wartość nieprzezroczystości z zakresu od 30% do 100%. Użyj wartości od 0x4C do 0xFF lub od 76 do 255, aby określić wartość.
WordDelimiters Definiuje znak używany do pomijania podczas wybierania tekstu całego wyrazu jednocześnie za pomocą CTRL+SHIFT+ARROW (wartość domyślna to znak spacji). Ustaw tę wartość REG_SZ, aby zawierała wszystkie znaki, które mają być traktowane jako ograniczniki. Uwaga: ta wartość nie jest przechowywana w skrótach, ale tylko w tym kluczu rejestru.

Te ustawienia są przechowywane dla każdego tytułu okna w rejestrze w obszarze HKCU\Console. Okna konsoli otwierane przez skrót mają te ustawienia przechowywane w skrótach; Jeśli skrót zostanie skopiowany na inny komputer, ustawienia przeniosą się z nim na nowy komputer. Ustawienia w skrótach zastępują wszystkie inne ustawienia, w tym ustawienia globalne i ustawienia domyślne. Jeśli jednak powrócisz do oryginalnej konsoli przy użyciu starszej konsoli na karcie Opcje , to ustawienie jest globalne i będzie utrwalane dla wszystkich okien później, w tym po ponownym uruchomieniu komputera.

Te konfiguracje można wstępnie skonfigurować lub napisać skrypt, odpowiednio konfigurując rejestr w pliku Unattend lub za pomocą Windows PowerShell.

16-bitowe aplikacje NTVDM zawsze wracają do starszego hosta konsoli.

Note

Jeśli wystąpią problemy z nowymi ustawieniami konsoli i nie można rozwiązać ich z żadną z określonych opcji wymienionych tutaj, zawsze można przywrócić oryginalną konsolę, ustawiając wartość ForceV2 na 0 lub używając starszej kontrolki konsoli w obszarze Opcje.

Zachowanie konsoli

Teraz możesz zmienić rozmiar okna konsoli, chwytając krawędź myszą i przeciągając ją. Paski przewijania są wyświetlane tylko w przypadku ręcznego ustawiania wymiarów okna (przy użyciu karty Układ we właściwościach) lub jeśli najdłuższy wiersz tekstu w buforze jest szerszy niż bieżący rozmiar okna.

Nowe okno konsoli obsługuje teraz zawijanie wyrazów. Jeśli jednak użyłeś interfejsów API konsoli do zmiany tekstu w buforze, konsola pozostawi tekst w takiej formie, w jakiej został pierwotnie wstawiony.

Okna konsoli mogą być teraz półprzezroczyste (do minimalnej przezroczystości 30%). Przezroczystość można dostosować z menu Właściwości lub za pomocą następujących poleceń klawiatury:

Aby to zrobić: Użyj tej kombinacji:
Zwiększanie przejrzystości CTRL+SHIFT+Plusa (+) lub CTRL+SHIFT+przewiń kółkiem myszy w górę
Zmniejszanie przezroczystości CTRL+SHIFT+Minus (-) lub CTRL+SHIFT+scroll myszką w dół
Przejście do trybu pełnoekranowego ALT+ENTER

Selection

Istnieje wiele nowych opcji wybierania tekstu i wierszy, a także oznaczania tekstu i używania historii buforu. Konsola próbuje uniknąć starć z aplikacjami, które mogą używać tych samych kluczy.

Dla deweloperów

Jeśli wystąpi konflikt, zazwyczaj można kontrolować zachowanie aplikacji przy użyciu danych wejściowych liniowych, przetworzonych danych wejściowych i trybu wprowadzania echa za pomocą interfejsu API SetConsoleMode(). Jeśli uruchomisz tryb przetwarzania danych wejściowych, poniższe skróty mają zastosowanie, ale w innych trybach aplikacja musi je obsłużyć. Wszystkie kombinacje, które nie zostały wymienione tutaj, działają tak jak w poprzednich wersjach konsoli. Możesz również spróbować rozwiązać konflikty z różnymi ustawieniami na karcie Opcje . Jeśli wszystko inne nie powiedzie się, zawsze można przywrócić oryginalną konsolę.

Teraz można użyć zaznaczania za pomocą kliknięcia i przeciągania poza trybem edycji QuickEdit. Takie zaznaczenie może obejmować tekst w różnych wierszach, tak jak w Notatniku, a nie tylko prostokątny blok. Operacje kopiowania nie wymagają już usuwania podziałów wierszy. Oprócz zaznaczania za pomocą kliknięcia i przeciągania, dostępne są następujące kombinacje klawiszy:

Zaznaczenie tekstu

Aby to zrobić: Użyj tej kombinacji:
Przenieś kursor o jeden znak w lewo, rozszerzając zaznaczenie. SHIFT+STRZAŁKA W LEWO
Przenieś kursor w prawo o jeden znak, rozszerzając zaznaczenie SHIFT+STRZAŁKA W PRAWO
Zaznacza tekst linia po linii w górę od punktu wstawienia SHIFT+STRZAŁKA W GÓRĘ
Rozszerza zaznaczenie tekstu w dół o jeden wiersz od punktu wstawienia SHIFT+STRZAŁKA W DÓŁ
Jeśli kursor znajduje się w wierszu aktualnie edytowanym, użyj tego polecenia raz, aby rozszerzyć zaznaczenie na ostatni znak w wierszu wejściowym. Użyj go po raz drugi, aby rozszerzyć zaznaczenie na prawy margines. SHIFT+END
Jeśli kursor nie znajduje się obecnie w wierszu edytowanym, użyj tego polecenia, aby zaznaczyć cały tekst z punktu wstawiania do prawego marginesu. SHIFT+END
Jeśli kursor znajduje się w aktualnie edytowanym wierszu, użyj tego polecenia raz, aby rozszerzyć zaznaczenie do znaku bezpośrednio po promptcie polecenia. Użyj go po raz drugi, aby rozszerzyć zaznaczenie na prawy margines. SHIFT+HOME
Jeśli kursor nie znajduje się obecnie w wierszu edytowanym, użyj tego polecenia, aby rozszerzyć zaznaczenie na lewy margines. SHIFT+HOME
Rozszerz zaznaczenie w dół o jeden ekran Klawisz SHIFT+PAGE DOWN
Rozszerzanie zaznaczenia w górę o jeden ekran SHIFT+PAGE UP
Rozszerz zaznaczenie o jeden wyraz w prawo. (Ograniczniki dla wyrazu można zdefiniować za pomocą klucza rejestru WordDelimiters). CTRL+SHIFT+STRZAŁKA W PRAWO
Rozszerz zaznaczenie o jedno słowo w lewo CTRL+SHIFT+HOME
Rozciągnij zaznaczenie do początku buforu ekranu CTRL+SHIFT+END
Zaznacz cały tekst po wyświetleniu monitu, jeśli kursor znajduje się w bieżącym wierszu, a wiersz nie jest pusty CTRL+A
Zaznacz cały bufor, jeśli kursor nie znajduje się w bieżącym wierszu CTRL+A

Edytowanie tekstu

Tekst można skopiować i wkleić w konsoli przy użyciu poleceń klawiatury. Ctrl+C obsługuje teraz dwie funkcje. Jeśli podczas korzystania z niego nie wybrano żadnego tekstu, wysyła polecenie BREAK w zwykły sposób. Jeśli tekst jest zaznaczony, pierwsze użycie kopiuje tekst i czyści zaznaczenie; drugie użycie wysyła BREAK. Oto inne polecenia edycji:

Aby to zrobić: Użyj tej kombinacji:
Wklej tekst do wiersza polecenia CTRL+V
Skopiuj zaznaczony tekst do schowka CTRL+INS
Skopiuj zaznaczony tekst do schowka; wyślij BREAK CTRL+C
Wklej tekst do wiersza polecenia SHIFT+INS

Tryb oznaczania

Aby w dowolnym momencie wprowadzić tryb oznaczania, kliknij prawym przyciskiem myszy w dowolnym miejscu na pasku tytułu konsoli, wskaż polecenie Edytuj i wybierz pozycję Oznacz z otwieranego menu. Możesz również wpisać CTRL+M. W trybie oznaczania użyj klawisza ALT, aby zidentyfikować początek zaznaczenia obejmującego zawijanie wierszy. (Jeśli opcja Włącz zaznaczenie zawijania wierszy jest wyłączona, tryb oznaczania wybiera tekst w bloku). W trybie oznaczania ctrl+SHIFT+STRZAŁKA wybiera znakiem, a nie wyrazami w trybie normalnym. Oprócz klawiszy zaznaczenia w sekcji Edytowanie tekstu te kombinacje są dostępne w trybie zaznaczania:

Aby to zrobić: Użyj tej kombinacji:
Wprowadź tryb oznaczania, aby przenieść kursor w oknie CTRL+M
Rozpocznij zawijanie wierszy w trybie oznaczania, używając innych kombinacji klawiszy. ALT
Przesuwa kursor w określonym kierunku Klawisze strzałek
Przenieś kursor na jedną stronę w określonym kierunku Klawisze PAGE
Przenieś kursor na początek buforu CTRL+HOME
Przenieś kursor na koniec buforu CTRL+END
Aby to zrobić: Użyj tej kombinacji:
Przenieś w górę jeden wiersz w historii danych wyjściowych CTRL+STRZAŁKA DO GÓRY
Przenieś w dół jeden wiersz w historii danych wyjściowych CTRL+STRZAŁKA W DÓŁ
Przenieś widok do górnej części buforu (jeśli wiersz polecenia jest pusty) lub usuń wszystkie znaki z lewej strony kursora (jeśli wiersz polecenia nie jest pusty) CTRL+HOME
Przenieś okienko widoku do wiersza polecenia (jeśli wiersz polecenia jest pusty) lub usuń wszystkie znaki po prawej stronie kursora (jeśli wiersz polecenia nie jest pusty) CTRL+END

Dodatkowe polecenia klawiatury

Aby to zrobić: Użyj tej kombinacji:
Otwórz okno dialogowe 'Znajdź' CTRL+F
Zamknij okno konsoli ALT+F4