Windows Terminal

Ứng dụng giao diện dòng lệnh và Lập trình viên

Đối với nhiều người dùng sử dụng hệ điều hành Windows còn chẳng nghe, chằng biết đến có một loại ứng dụng có giao diện dòng lệnh (hay còn được biết đến là ứng dụng Console) để làm gì. Còn đối với Lập trình viên thì ứng dụng giao diện dòng lệnh không chỉ dùng để biên dịch, chạy thử, kiểm thử, triển khai ứng dụng,... đều thông qua các ứng dụng này.

Hệ điều hành Windows trước đây chỉ có 1 ứng dùng giao diện dòng lệnh được biết đến là cmd hay Command Prompt là một ứng dụng để chạy các lệnh tựa MS-DOS trước đây. Tuy nhiên, ứng dụng này lại ít cập nhật, chưa thực sự hỗ trợ tốt các tập lệnh cũng như các thao tác, do vậy các lập trình viên được khuyên nên sử dụng các hệ điều hành khác như Linux (VD: Ubuntu for Developer) hay macOS. Thật đáng tiếc một hệ điều hành (cho máy tính cá nhân) được nhiều người dùng nhất này lại không được các Lập trình viên tin tưởng một phần lớn chỉ vì ứng dụng giao diện dòng lệnh này.

Với mục đích làm cho lập trình viên quay trở lại sử dụng Windows nhiều hơn, Microsoft đã thay đổi rất nhiều đặc biệt là khẩu hiệu Microsoft ♥️ Linux (một hệ điều hành là đối thủ của Windows trong rất nhiều năm) rồi đến việc giới thiệu Windows Subsystem for Linux - WSL (một ứng dụng giao diện dòng lệnh hỗ trợ các lệnh của hệ điều hành Linux) cho đến cài sẵn ứng dụng PowerShell, giới thiệu PowerShell Core (ứng dụng giao diện dòng lệnh đa nền tảng).

Lại một vấn đề lớn nữa trên hệ điều hành Windows là có nhiều ứng dụng giao diện dòng lệnh thế thì dùng cái nào? Micorsoft đang phát triển và ứng dụng Windows Terminal để giải quyết vấn đề này.

Windows Terminal

Windows Terminal là một ứng dụng giao diện dòng lệnh mới, hiện đại, chạy nhanh, mạnh mẽ và hiệu quả cho người dùng các công cụ dòng lệnh và shell như Command Prompt, PowerShell và WSL. Các tính năng chính của nó bao gồm nhiều tab, hỗ trợ ký tự Unicode và UTF-8, công cụ kết xuất văn bản được tăng tốc với GPU và các theme, kiểu và cấu hình tùy chỉnh.

Windows Terminal (tên mã Cascadia) là trình giả lập Terminal cho Windows 10 được viết bởi Microsoft. Nó bao gồm hỗ trợ cho Dấu nhắc lệnh, PowerShell, WSL và SSH. Sau khi phát hành mã nguồn ban đầu trên GitHub, bản phát hành xem trước được xuất bản lần đầu tiên cho Microsoft Store vào ngày 21 tháng 6 năm 2019.

Với mã Cascadia, Microsoft cũng cung cấp một phông chữ đơn cách được xây dựng theo mục đích mới cho giao diện dòng lệnh mới. Nó bao gồm các phông chữ lập trình và được thiết kế để tăng cường giao diện của Windows Terminal, các ứng dụng  lệnh và trình soạn thảo văn bản như Visual Studio và Visual Studio Code. Phông chữ này là mã nguồn mở theo Giấy phép Phông chữ Mở của SIL và có sẵn trên GitHub. Nó được đóng gói với Windows Terminal kể từ phiên bản 0.5.2762.

Hiện tại, phiên bản Preview đã được Microsoft đưa lên Windows Store với liên kết tại đây.

[Cập nhật] Phiên bản hiện tại của Windows Terminal là 1.1.2021.0 bạn có thể xem và tải xuống theo liên kết tại đây.

Bạn có thể xem mã nguồn của Windows Terminal tại đây.

Giao diện Windows Terminal

Các tính năng trên Windows Terminal

Windows Terminal là một giao diện người dùng dòng lệnh: Nó có thể chạy nhiều ứng dụng  lệnh, bao gồm các shell dựa trên văn bản trong một cửa sổ nhiều tab. Nó có hỗ trợ các lệnh của Windows Command Prompt, Windows PowerShell, PowerShell Core, Windows Subsystem for Linux (WSL) và Azure Cloud Shell Connector Tất cả những  dụng này này theo mặc định đều hoạt động trên Windows Console.

Windows Terminal tăng trải nghiệm lệnh dựa trên văn bản bằng cách cung cấp hỗ trợ:

  • UTF-8 và UTF-16 (bao gồm hỗ trợ cả văn bản tượng hình CJK và các biểu tượng cảm xúc - emojis)
  • Phần cứng hỗ trợ tăng tốc kiết xuất văn bản thông qua DirectWrite (một API của Microsoft hỗ trợ hiển thị văn bản trên Windows thay thế cho GDI/GDI+)
  • 24-bit mầu
  • Hiệu ứng của sổ trong suốt
  • Ảnh nền
  • Theme
  • Chế độ toàn màn hình
  • ANSI/VT tuần tự
  • Chia màn hình
  • Tương thích với Microsoft Narrator thông qua cây Tự động hóa giao diện người dùng (UIA-User Interface Automation)
  • Sao chép văn bản vào clipboard ở định dạng HTML và RTF
  • Đầu vào chuột