Cách Đổi Màu PowerShell Từ Cơ Bản Đến Nâng Cao

cách đổi màu powershell

PowerShell là một công cụ dòng lệnh mạnh mẽ được sử dụng rộng rãi bởi quản trị viên hệ thống và nhà phát triển. Mặc định giao diện PowerShell thường có nền xanh dương đậm và chữ trắng, nhưng nhiều người dùng muốn thay đổi để tăng khả năng đọc code, giảm mỏi mắt hoặc đơn giản là tạo phong cách riêng. Cách đổi màu PowerShell không chỉ giới hạn ở việc chọn màu nền và chữ, mà còn cho phép tùy chỉnh màu sắc của từng thành phần cú pháp (lệnh, tham số, biến, chuỗi) để làm việc hiệu quả hơn.

Bài viết này sẽ hướng dẫn bạn từng bước cụ thể để tùy biến giao diện PowerShell trên các môi trường khác nhau: Console truyền thống, PowerShell ISE, Windows Terminal và Visual Studio Code. Bạn sẽ hiểu rõ bản chất của việc thay đổi màu sắc, biết cách áp dụng cài đặt tạm thời hay vĩnh viễn, cũng như tránh những lỗi thường gặp.

Bản chất của việc đổi màu trong PowerShell

cách đổi màu powershell - Hình 5

PowerShell vốn là một ứng dụng console, kế thừa cơ chế màu sắc của Windows Console Host (conhost.exe). Mỗi ký tự hiển thị có thể mang hai thuộc tính: màu nền (background) và màu chữ (foreground). Ngoài ra, PowerShell tự định nghĩa thêm các màu sắc cho các token cú pháp như lệnh, biến, số, chuỗi thông qua module PSReadLine.

Xem thêm:  Cách sao lưu Start Menu Windows 11: Hướng dẫn chi tiết từ A đến Z để không bao giờ mất bố cục yêu thích

Việc đổi màu có thể thực hiện ở nhiều cấp độ:

    • Cấp độ console: thay đổi màu nền và chữ của toàn bộ cửa sổ.
    • Cấp độ PowerShell host: thông qua biến $host.UI.RawUI để chỉnh màu nền, màu chữ, màu lỗi, màu cảnh báo.
    • Cấp độ PSReadLine: tùy chỉnh màu sắc cho từng loại token trong dòng lệnh (command, parameter, variable, string, number…).
    • Cấp độ terminal tự do (Windows Terminal, VS Code,…): mỗi ứng dụng có cơ chế riêng để định nghĩa bảng màu (color scheme) hoặc chủ đề (theme).

    Phân loại các thành phần màu trong PowerShell

    cách đổi màu powershell - Hình 4

    Trước khi bắt đầu, cần nắm rõ các đối tượng màu có thể thay đổi:

    Thành phần Mô tả Phương pháp thay đổi
    Màu nền console Màu nền của toàn bộ cửa sổ Thuộc tính của console hoặc $host.UI.RawUI.BackgroundColor
    Màu chữ console Màu chữ mặc định $host.UI.RawUI.ForegroundColor
    Màu lỗi Chữ đỏ khi có lỗi $host.PrivateData.ErrorForegroundColor, ErrorBackgroundColor
    Màu cảnh báo Chữ vàng cho Warning $host.PrivateData.WarningForegroundColor, WarningBackgroundColor
    Màu thông tin Chữ xanh cho Verbose, Debug $host.PrivateData.VerboseForegroundColor, DebugForegroundColor
    Màu token PSReadLine Lệnh, biến, chuỗi, comment,… Set-PSReadLineOption -Colors (dùng Hashtable)
    Màu prompt Dòng nhập lệnh (thường do function prompt) Chỉnh function prompt trong profile

    Hướng dẫn cách đổi màu PowerShell trên từng môi trường

    cách đổi màu powershell - Hình 3

    1. Đổi màu trong PowerShell Console (conhost.exe)

    Đây là cửa sổ PowerShell mặc định khi bạn mở từ menu Start. Có hai cách tiếp cận: dùng giao diện hoặc dùng lệnh.

    Cách 1: Thay đổi qua thuộc tính cửa sổ

    • Nhấp chuột phải vào thanh tiêu đề, chọn Properties.
    • Chuyển sang tab Colors.
  • Mở Properties của cửa sổ conhost, chọn tab Colors, nhấn nút “Defaults” hoặc chọn lại màu Screen Background là Blue (tông #000080) và Screen Text là White. Đối với Phiên hiện tại, dùng lệnh: (Get-Host).UI.RawUI.BackgroundColor = 'DarkBlue'; (Get-Host).UI.RawUI.ForegroundColor = 'White'; Clear-Host

    Có thể đổi màu từng dòng output không?

    Nguyên nhân thường là do bạn không chạy lệnh Set-PSReadLineOption đúng cách sau khi mở PowerShell. Hãy chắc chắn rằng lệnh nằm trong profile và được load. Kiểm tra bằng Get-PSReadLineOption để xem giá trị hiện tại. Nếu dùng Windows Terminal, cũng cần kiểm tra xem có xung đột với color scheme của terminal không.

    Làm sao để tạo nhiều profile màu khác nhau cho các phiên làm việc?

    Không. Việc thay đổi màu sắc chỉ là tác vụ đồ họa gần như không ảnh hưởng đến tốc độ thực thi lệnh. Ngược lại, theme tối có thể giúp mắt đỡ mỏi, tăng hiệu suất làm việc.

    PowerShell 7 có hỗ trợ đổi màu tốt hơn PowerShell 5 không?

    PowerShell 7 có tích hợp PSReadLine và hỗ trợ Windows Terminal tốt hơn. Ngoài ra, các lệnh như Set-PSReadLineOption được cập nhật nhiều token hơn. Tuy nhiên, cách đổi màu cơ bản trên console tương tự nhau.

    Có thể đồng bộ cài đặt màu giữa PowerShell và CMD không?

    Không trực tiếp. Mỗi ứng dụng có cơ chế riêng. Tuy nhiên, nếu cả hai đều chạy trong Windows Terminal,

    Trong console host hoặc RawUI, không. Bạn chỉ có thể dùng 16 tên màu chuẩn. Để sử dụng mã hex, bạn cần dùng Windows Terminal (ở đó có thể chỉ định background, foreground bằng #RRGGBB) hoặc VS Code.

    Kết luận

    cách đổi màu powershell - Hình 2

    Cách đổi màu PowerShell không khó nhưng đòi hỏi hiểu rõ môi trường bạn đang sử dụng. Với console truyền thống, bạn thay đổi qua Properties hoặc lệnh RawUI; với ISE thì dùng Options; với Windows Terminal và VS Code, bạn chỉnh sửa file JSON hoặc settings. Quan trọng nhất là lưu các cài đặt vào profile để duy trì vĩnh viễn và đồng bộ trên các máy.

    Hãy bắt đầu bằng cách chọn một theme tối phổ biến (như OneHalfDark, Dracula, Gruvbox) và tinh chỉnh màu token PSReadLine để tăng tốc đọc code. Tránh các lỗi thường gặp như quên clear host, chọn màu tương phản kém, hoặc không backup profile. Với các hướng dẫn chi tiết trong bài, bạn hoàn toàn có thể tạo một giao diện PowerShell vừa đẹp vừa tiện lợi cho công việc hàng ngày.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *