تخصيص سمات PowerShell وأنظمة الألوان في Windows Terminal باحتراف
مقدمة: لماذا يستحق Windows Terminal هذا التخصيص؟
إذا كنت تعمل يومياً على سطر الأوامر، فإن تخصيص بيئة الطرفية لا يقتصر على الجانب الجمالي فقط، بل ينعكس مباشرة على سرعة العمل، وسهولة التنقل بين الأدوات، وتقليل الأخطاء عند استخدام أكثر من بيئة تشغيل. يوفّر Windows Terminal واجهة حديثة تتيح تشغيل عدة جلسات ضمن تبويبات مستقلة، مع إمكانية تخصيص كل ملف تعريف بشكل منفصل، سواء من حيث الألوان أو الخطوط أو مجلد البداية أو حتى الاختصارات.
في هذا الدليل ستتعرف على طريقة إعداد الطرفية في نظام Windows 10، وتخصيص ملفات PowerShell وWSL وGit Bash، وربطها بأنظمة ألوان مناسبة تساعدك على إنشاء بيئة عمل عملية ومريحة بصرياً.

إن لم تكن قد ثبّتت التطبيق بعد، يمكنك تنزيل Windows Terminal من متجر Microsoft Store. تجدر الإشارة إلى أن التطبيق غير متاح للإصدارات الأقدم من Windows.
كيفية الوصول إلى إعدادات Windows Terminal
من أبرز مزايا Windows Terminal إمكانية تشغيل أكثر من صدفة أو بيئة أوامر داخل نافذة واحدة، مع التنقل بينها عبر التبويبات. بعد تثبيت التطبيق وفتحه، انقر على رمز السهم الموجود أعلى النافذة بجوار التبويب المفتوح، ثم اختر Settings. عندها سيفتح ملف الإعدادات settings.json في محرر النصوص الافتراضي لديك.

يحتوي ملف settings.json على عدد كبير من الخصائص، لكن البداية المنطقية تكون مع الخاصية profiles لأنها تتحكم في الملفات الشخصية التي يمكن تشغيلها من داخل الطرفية.
فهم بنية الخاصية profiles في ملف settings.json
تتضمن الخاصية profiles إعدادات ملفات التعريف المختلفة، وعادة ستجد داخلها قسماً باسم defaults لتطبيق القيم الافتراضية على جميع الملفات الشخصية، بالإضافة إلى الخاصية list التي تحتوي على قائمة الملفات الشخصية المتاحة.
في العادة، ستشاهد قيماً مشابهة للمثال التالي:
[
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"commandline": "cmd.exe",
"hidden": false
}
]
الخاصية list هي مصفوفة من الكائنات، وكل كائن يمثل بيئة تشغيل يمكن لـ Windows Terminal فتحها.
أهم خصائص كل ملف تعريف
guid: معرف فريد عالمي يُستخدم خصوصاً عند تعيين الملف التعريفي الافتراضي عبر الخاصيةdefaultProfile.name: الاسم الذي يظهر في القائمة المنسدلة عند فتح تبويب جديد.commandline: الأمر التنفيذي الذي يتم تشغيله عند فتح هذا الملف التعريفي.hidden: قيمة منطقية تحدد ما إذا كان الملف التعريفي سيظهر في قائمة التبويبات الجديدة أم لا.
إذا كانت هناك بيئة أوامر لا تستخدمها كثيراً، فيمكنك ضبط hidden إلى true لإخفائها من القائمة مع الاحتفاظ بإعداداتها داخل الملف.

مثال عملي على تخصيص ملفات التعريف في Windows Terminal
قد تكفيك الإعدادات الافتراضية إذا كنت تعتمد فقط على PowerShell أو cmd. لكن في بيئات التطوير الحديثة، من الشائع استخدام أدوات إضافية مثل WSL 2 وGit Bash.
إليك مثالاً على ملفات تعريف إضافية:
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "//wsl$/Ubuntu-20.04/home/nhcarrigan"
},
{
"guid": "{00000000-0000-0000-ba54-000000000002}",
"commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l",
"icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
"name": "Git Bash",
"startingDirectory": "%USERPROFILE%"
}
خصائص إضافية يجب فهمها
source: تُنشأ تلقائياً عندما يكتشفWindows Terminalبيئة تشغيل جديدة. لا يُنصح بإضافتها يدوياً عند إنشاء ملف تعريف يدوي.icon: مسار ملف الأيقونة بصيغة.icoالذي يظهر بجوار اسم الملف التعريفي.startingDirectory: المجلد الذي تبدأ منه الجلسة عند فتح التبويب.
كيفية إنشاء ملف تعريف مخصص يدوياً
بعض البيئات، مثل Git Bash في بعض الحالات، قد لا يكتشفها Windows Terminal تلقائياً. عندها ستحتاج إلى بناء الملف التعريفي بنفسك.
1) إنشاء قيمة guid
يأتي المعرف الفريد بالصيغة التالية: {00000000-0000-0000-0000-000000000000}.
يمكنك توليده في Windows PowerShell باستخدام:
[guid]::NewGuid()
أو داخل WSL عبر الأمر:
uuidgen
2) تحديد الأمر التنفيذي داخل commandline
استخدم المسار الفعلي للبرنامج الذي تريد تشغيله. في المثال السابق استُخدمت القيمة %PROGRAMFILES% لأنها تشير إلى مجلد Program Files تلقائياً، وتتعامل بشكل جيد مع اختلافات المسارات بين تطبيقات 32-bit و64-bit.
إذا كان البرنامج مثبتاً داخل مجلد المستخدم، فيمكنك استخدام %USERPROFILE%.
كما أن الوسيطتين -i -l مهمتان عند تشغيل bash لضمان تحميل ملف .bashrc بطريقة صحيحة.
3) تعيين الاسم والأيقونة ومجلد البداية
name: اسم واضح يساعدك على معرفة البيئة التي ستُفتح.icon: اختياري، لكنه مفيد لتحسين التمييز البصري بين الملفات.startingDirectory: يحدد المسار الافتراضي الذي تبدأ منه الجلسة.
مثلاً، استخدام %USERPROFILE% يجعل الطرفية تبدأ من مجلد المستخدم، ما يسهّل الوصول السريع إلى المستندات والملفات الشخصية.
تعيين الملف التعريفي الافتراضي عند بدء التشغيل
بالعودة إلى أعلى ملف settings.json، ستجد الخاصية defaultProfile. هذه الخاصية تقبل قيمة guid لأحد الملفات الموجودة داخل list. عند تشغيل Windows Terminal، سيتم فتح هذا الملف التعريفي تلقائياً.
مثال:
"defaultProfile": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}"
إذا كنت تعتمد بشكل رئيسي على WSL في عملك، فمن العملي جعله البيئة الافتراضية لتوفير الوقت عند كل تشغيل.

تصميم نظام ألوان مخصص داخل Windows Terminal
بعد تجهيز ملفات التعريف، تأتي مرحلة تحسين المظهر البصري. أسفل الخاصية profiles ستجد عادة الخاصية schemes. تحتوي هذه الخاصية على مصفوفة من أنظمة الألوان، وكل عنصر فيها يحدد مجموعة ألوان متكاملة.
مثال على مخطط ألوان افتراضي:
{
"name": "Campbell",
"cursorColor": "#FFFFFF",
"selectionBackground": "#FFFFFF",
"background": "#0C0C0C",
"foreground": "#CCCCCC",
"black": "#0C0C0C",
"blue": "#0037DA",
"cyan": "#3A96DD",
"green": "#13A10E",
"purple": "#881798",
"red": "#C50F1F",
"white": "#CCCCCC",
"yellow": "#C19C00",
"brightBlack": "#767676",
"brightBlue": "#3B78FF",
"brightCyan": "#61D6D6",
"brightGreen": "#16C60C",
"brightPurple": "#B4009E",
"brightRed": "#E74856",
"brightWhite": "#F2F2F2",
"brightYellow": "#F9F1A5"
}


معاني الخصائص الأساسية في schemes
name: اسم المخطط اللوني الذي سيتم ربطه لاحقاً بملف تعريف معيّن.cursorColor: لون مؤشر الكتابة داخل الطرفية.selectionBackground: لون خلفية النص عند تحديده.background: لون خلفية نافذة الطرفية.foreground: اللون الأساسي للنص.
أما بقية الألوان مثل red وgreen وblue وغيرها، فهي تحدد كيفية عرض الألوان التي ترسلها البرامج داخل الطرفية، مثل أوامر console.log أو أدوات البناء والتجميع.
مثال على مخطط ألوان مخصص عملي
يمكنك إنشاء مخططك الخاص، أو تعديل مخطط جاهز بما يتناسب مع ذوقك وطبيعة عملك. فيما يلي مثال على نظام ألوان مخصص:
{
"name": "Duotone Dark",
"black": "#1f1d27",
"red": "#d9393e",
"green": "#2dcd73",
"yellow": "#d9b76e",
"blue": "#2488ff",
"purple": "#de8d40",
"cyan": "#6ad7d9",
"white": "#b7a1ff",
"brightBlack": "#353147",
"brightRed": "#d9393e",
"brightGreen": "#2dcd73",
"brightYellow": "#d9b76e",
"brightBlue": "#2488ff",
"brightPurple": "#de8d40",
"brightCyan": "#6ad7d9",
"brightWhite": "#dfd1ed",
"background": "#1f1d27",
"foreground": "#b7a1ff"
}
هذا النوع من التخصيص لا يمنح مظهراً جمالياً فقط، بل يساعد أيضاً على تحسين التباين البصري بين النصوص والتنبيهات والمخرجات الملونة، وهو أمر مهم عند قراءة السجلات الطويلة أو نتائج الاختبارات.

ربط نظام الألوان بملف تعريف محدد
بعد تعريف مخطط الألوان، تحتاج إلى ربطه بملف التعريف الذي تريد تطبيقه عليه. يمكن تنفيذ ذلك على مستوى defaults لتطبيق الألوان على جميع الملفات، أو على مستوى كل ملف تعريف على حدة.
إذا أردت تطبيق الألوان على ملف WSL فقط، أضف الخاصية colorScheme داخل كائن الملف التعريفي، واجعل قيمتها مطابقة لقيمة name في نظام الألوان.
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "//wsl$/Ubuntu-20.04/home/nhcarrigan",
"colorScheme": "Duotone Dark"
}
بعد حفظ التعديلات وإعادة تحميل Windows Terminal، ستلاحظ تأثير الألوان الجديدة مباشرة.
إعدادات المظهر الإضافية لتحسين تجربة الاستخدام
يمكنك تجاوز الألوان إلى تخصيصات أعمق تشمل الشفافية والخطوط وحجم النص وبعض التأثيرات المرئية. إليك مثالاً متكاملاً لملف تعريف WSL:
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "//wsl$/Ubuntu-20.04/home/nhcarrigan",
"colorScheme": "Duotone Dark",
"useAcrylic": true,
"acrylicOpacity": 0.5,
"fontFace": "PxPlus IBM VGA8",
"fontSize": 16,
"experimental.retroTerminalEffect": true
}
شرح أهم إعدادات المظهر
useAcrylic: يفعّل تأثير الشفافية في خلفية الطرفية علىWindows 10.acrylicOpacity: يحدد درجة الشفافية؛ كلما انخفض الرقم زادت الشفافية.fontFace: يحدد نوع الخط المستخدم داخل الطرفية، بشرط أن يكون مثبّتاً على الجهاز.fontSize: يحدد حجم الخط بوحدةpt.experimental.retroTerminalEffect: يضيف تأثيراً بصرياً يحاكي الشاشات القديمة ذات الخطوط الأفقية.
هذا النوع من التخصيص مفيد عندما تريد تمييز بيئة معينة بسرعة، أو عندما تقضي ساعات طويلة في كتابة الأوامر وتحتاج إلى تجربة قراءة أكثر راحة.

إذا رغبت في تعميم هذه الإعدادات على جميع الملفات الشخصية، يمكنك وضعها في إعدادات افتراضية عامة مثل:
"defaultSettings": {
"useAcrylic": true,
"acrylicOpacity": 0.1,
"fontFace": "Cascadia Code",
"fontSize": 10
}
تخصيص اختصارات النسخ واللصق في Windows Terminal
بعد قسم schemes ستجد عادة الخاصية actions، وهي المسؤولة عن اختصارات لوحة المفاتيح. افتراضياً، يستخدم Windows Terminal الاختصارين Ctrl+Shift+C للنسخ وCtrl+Shift+V للصق.
إذا كنت تفضّل استخدام Ctrl+C وCtrl+V مباشرة، فيمكنك ضبطها كالتالي:
{
"command": { "action": "copy", "singleLine": false },
"keys": "ctrl+c"
},
{
"command": "paste",
"keys": "ctrl+v"
}
القيمة singleLine عند ضبطها على false تحافظ على فواصل الأسطر عند نسخ النص.
إعدادات النسخ المرتبطة بسلوك التحديد
copyOnSelect: قيمتها الافتراضيةfalse. عند تفعيلها إلىtrue، يؤدي تحديد النص بالفأرة إلى نسخه تلقائياً.copyFormatting: قيمتها الافتراضيةfalse. عند تفعيلها، يتم نسخ التنسيق أيضاً بدلاً من النص الخام فقط.
تحذيرات الأمان عند اللصق داخل الطرفية
نسخ النص من الطرفية غالباً آمن، لكن لصق النص داخلها قد يكون خطيراً، خصوصاً إذا كان المحتوى يحتوي على أوامر متعددة أو أسطر خفية. لهذا يوفّر Windows Terminal إعدادات حماية مهمة يُفضّل الإبقاء عليها مفعلة.
largePasteWarning: قيمتها الافتراضيةtrue. تعرض رسالة تحذير عند محاولة لصق محتوى يزيد عادة عن5KB.multiLinePasteWarning: قيمتها الافتراضيةtrue. تعرض تنبيهاً عند لصق نص يحتوي على عدة أسطر، وهي حماية مفيدة ضد هجمات التلاعب بالحافظة التي تعتمد على تنفيذ أوامر عند اللصق.
من الناحية العملية، هذه التحذيرات قد تنقذك من تنفيذ أوامر غير مقصودة، خصوصاً عند نسخ تعليمات من مصادر غير موثوقة.
نصائح احترافية لتحسين بيئة الطرفية
- خصص لوناً مختلفاً لكل بيئة عمل مثل
PowerShellوWSLوGit Bashلتقليل الالتباس أثناء التنقل. - اجعل الملف التعريفي الافتراضي هو البيئة التي تستخدمها يومياً لتوفير الوقت.
- اختر خطاً واضحاً يدعم البرمجة مثل
Cascadia Codeأو أي خط أحادي المسافة مناسب. - لا تبالغ في الشفافية أو المؤثرات البصرية إذا كانت تؤثر على وضوح النص.
- احتفظ بنسخة احتياطية من ملف
settings.jsonقبل أي تعديل كبير.
موارد مفيدة للتوسع في التخصيص
بعد إتمام الإعدادات الأساسية، يمكنك استكشاف مزيد من الخيارات عبر وثائق Windows Terminal الرسمية، كما توجد مكتبات جاهزة لمخططات الألوان بصيغة JSON يمكنك استيرادها وتعديلها بما يناسب احتياجاتك.

الخلاصة التقنية
يُعد Windows Terminal أكثر من مجرد نافذة أوامر؛ فهو منصة مرنة لإدارة بيئات التطوير المتعددة بكفاءة عالية. القيمة الحقيقية في تخصيصه لا تكمن فقط في المظهر، بل في تنظيم العمل، وتقليل الأخطاء الناتجة عن التنقل بين البيئات، وتحسين القراءة داخل الجلسات الطويلة. إذا أحسنت ضبط profiles وschemes والاختصارات وإعدادات الأمان، ستحصل على تجربة طرفية احترافية تساعدك يومياً في التطوير والإدارة والصيانة التقنية.