# نوتباد++

Kas Nova
(بالإنجليزية: ++Notepad)‏ هو محرر نصوص مخصص لكتابة الشيفرة المصدرية (الكود المصدري) لبرامج الحاسوب ويعمل على أنظمة ويندوز. والهدف منه هو الحصول على محرر نصوص قوي ولا يستهلك الكثير من موارد النظام ويدعم تحرير نصوص الشيفرات المصدرية لمجموعة واسعة من لغات البرمجة. ويتميز نوتباد++ عن قرينه محرر النصوص «نوتباد» (المضمن مع أنظمة ميكروسوفت ويندوز بشكل تلقائي) بأن الأول يدعم عملية التحرير المبوبة (نوافذ على شكل ألسنة مبوبة) مما يسمح للمستخدمين القيام بتحرير أكثر من ملف في نفس الوقت.
يتم توزيعه بشكل مجاني وهو مصنف ضمن البرمجيات الحرة ومرخص تحت رخصة جنو العمومية وقد تمت استضافته على موقع الاستضافة الشهير سورس فورج.نت حيث تم تنزيله من هناك لأكثر من 27 مليون مرة، وقد حاز مشروع نوتباد++ في مناسبتين على «جائزة خيار مجتمع سورس فورج» كأفضل أداة تطوير برمجية، ومنذ العام 2010 وتحديداً في شهر يونيو من ذلك العام تم نقل المشروع من سورس فورج.نت إلى توكس فاميلي (و هي منظمة غير ربحية تقدم خدمات مجانية للمشاريع التي تتبنى مع فلسفة البرمجيات الحرة).
و يقوم نوتباد++ باستخدام مكتبة سينتيلّا البرمجية لإظهار وتحرير النصوص -و مكتبة سينتيلّا البرمجية هي مكتبة برمجية تصنف ضمن البرمجيات الحرة وتقدم واجهات تطبيق برمجية لوظائف تحرير النصوص-.

## المزايا والوظائف

يمكن تقسيم مزايا ووظائف نوتباد++ إلى قسمين رئيسيين وهما «مزايا ووظائف عامة» و «مزايا ووظائف خاصة بتحرير الشيفرة المصدرية»، ونقوم تالياً بسرد مزايا كل من القسمين:
* المزايا والوظائف العامة:
** دعم عملية التحرير المبوبة (حيث يمكن للمستخدمين القيام بفتح أكثر من ملف في نفس الوقت باستخدام نافذة تحرير متعددة الألسن بحيث يحوي كل لسان ملف منفصل عن اللسان الاَخر).
** دعم تقنية السحب و الإفلات (Drag-and-Drop).
** دعم متعدد لمرافق التخزين المؤقتة (Multiple Clipboards) -وهذه الخاصية بحاجة إلى إضافة (plugin) لتفعيلها-
** دعم تقسيم شاشة التحرير وتزامن تحريك النصوص إلى (الأعلى والأسفل) أو (اليمين واليسار).
** دعم المدقق الإملائي (بحاجة إلى استخدام برمجية Aspell)
** دعم تحرير النصوص على نظام اليونيكود (و يشمل ذلك كل من تشفير UTF-8 وتشفير UTF-16).
** البحث والاستبدال (Find and Replace) مع الخصائص التالية:
*** دعم التعابير النمطية في عملية البحث والاستبدال.
*** تغطي عملية البحث والاستبدال السطور المتعددة.
*** تغطي عملية البحث والاستبدال الملفات المتعددة.
*** ملخص لما تم إيجاده واستبداله.
** دعم مقارنة الملفات (File Comparison) والمقصود هنا مقارنة محتويات الملفات وليست الملفات بعينها.
** دعم تكبير وتصغير الخطوط (Zooming).
* مزايا ووظائف خاصة بتحرير الشيفرة المصدرية:
** دعم الإكمال التلقائي (Auto-Completion).
** دعم الإشارات المرجعية (Bookmarks).
** دعم تمييز أو تعليم الصيغة (Syntax highlighting).
** دعم طي النصوص (Syntax Folding)
** دعم تمييز المسافة البادئة أو اسلوب الإزاحة البرمجية (Brace and indent highlighting).
** دعم برمجية مدير المشاريع (Project manager).
** دعم تركيب الكلام البشري (Speech Synthesis).
** متصفح أف تي بي (FTP Browser) -و ذلك عن طريق إضافة يتم تفعيلها أثناء عملية التنصيب-
** تنفيذ وتسجيل الماكرو (Macro recording and execution).
** الكشف التلقائي عن حالة الملف (File status auto-detection).
** دعم تخصيص اختصارات لوحة المفاتيح (Customizable shortcut key mapping).

## لغات البرمجة

يدعم نوتباد++ تمييز الصيغة كما أنه يدعم أيضاً طي النصوص للغات برمجة يصل عددها إلى أكثر من 50 لغة حيث يقوم نوتباد++ بعملية الكشف الأوتوماتيكي عن لغة البرمجة باستخدام نوع الملف (امتداده) المراد إنشائه أو تعديله، ويستطيع المستخدمون تغيير نمط تحرير لغة البرمجة الأوتوماتيكي بحيث يغض نوتباد++ الطرف عن نوع الملف ويعامل الملف المستهدف بلغة البرمجة التي يقوم المستخدم بتحديدها، ويدعم نوتباد++ عملية الإكمال التلقائي لمجموعة من واجهات البرمجة التطبيقية المنتمية لبعض لغات البرمجة. ونسرد تالياً لغات البرمجة التي يقوم نوتباد++ بدعمها بشكل تلقائي (و ذلك حتى الإصدارة 6.1.6):
* أدا (Ada).
* إيه أس بي (ASP).
* لغة التجميع (Assembly).
* أوتو إت (AutoIt).
* باتش (Batch) -لاحظ هنا أننا نسرد ملفات ال (Batch) والحديث ليس عن ملفات ال (Patch)-
* سي (C Programming Language).
* سي++ (C++ Programming Language).
* سي شارب أو ما يعرف بسي # (C# Programming Language).
* كاميل (Caml).
* سي ميك (Cmake).
* كوبول (COBOL)
* صفحات الطرز المتراصة أو ما يعرف ب (Cascading Style Sheets) وتختصر بالتعبير (CSS)
* دي (D Programming Language).
* ديف (Diff).
* فلاش أكشن سكربت (Flash ActionScript).
* فورتران (Fortran).
* غو (Go).
* هاسكل (Haskell).
* أتش تي أم أل أو ما يعرف بلغة رقم النص الفائق (HTML).
* إنو سيت أب (InnoSetup).
* جافا (JAVA)
* جافا سكريبت (Javascript).
* جيه أس بي أو ما يعرف بصفحات خادم جافا (JSP).
* كيكستارت (KiXtart).
* ليسب (LISP).
* لوا (Lua).
* ميك فايل (Makefile).
* ماتلاب (Matlab).
* ملفات أم أس دوس (MS-DOS)
* ملفات اَي أن اَي (INI file).
* أنسيس (NSIS).
* أوبجيكتيف سي (Objective-C).
* باسكال (Pascal).
* بيرل (Perl).
* بي إتش بي (PHP).
* بوست سكريبت (Postscript).
* ويندوز باورشيل (PowerShell).
* بايثون (Python).
* اَر (R Programming Language).
* روبي (Ruby).
* يونكس شيل (Shell).
* سكيم (Scheme).
* سمول توك (Smalltalk).
* أس كيو أل (SQL).
* تي سي إل أو ما تعرف بتيكل (TCL).
* تخ أو ما يعرف بتيكس (TeX).
* فيجيوال بيسيك (Visual Basic).
* في أتش دي أل (VHDL).
* فيري لوغ (Verilog).
* أكس أم أل (XML).
* ياميل (YAML).
و يستطيع المستخدمون تعريف تمييز الصيغة والإكمال التلقائي الخاص بهم باستخدام (نظام تعريف لغة المستخدم "User Language Define System")، ويستطيع المستخدمون أيضاً أن يقوموا بتخصيص الخطوط وتنسيقها على مستوى العنصر واللغة، بالإضافة إلى ذلك يستطيع نوتباد++ إظهار الإرشادات عند استخدام مفاتيح التاب للإزاحة التنظيمية كما أنه يقوم بتمييز إغلاق الأقواس بأنواعها أثناء تحرير الشيفرة المصدرية.

## الإضافات

يدعم نوتباد++ نمط الماكرو والإضافات لتوسيع قدرة المحرر على إعطاء قدر أكبر من الوظائف والمهام وحالياً يوجد 27 إضافة رسمية له حيث أن عشرة من هذه الإضافات يتم تضمينها بشكل تلقائي وأول إضافة تمت كتابتها للمحرر هي الإضافة (TextFX) والتي تحوي في طياتها مزايا مثل التحقق من صحة الوثائق المكتوبة بلغة أتش تي أم أل وتطبيقها لمعايير W3C وتحوي هذه الإضافة أيضاً على مزايا ترتيب النصوص وتصنيفها وغيرها من الوظائف، ومن الجدير بالذكر أن موقع الإضافات الإلكتروني الخاص بنوتباد++ يحوي أكثر من 140 إضافة عاملة.

## التطوير

تم تطوير نوتباد++ باستخدام مكتبة سينتيلّا البرمجية ولغة سي++ ومن لغة سي++ تم استخدام مكتبة أس تي أل وذلك بهدف زيادة أداء البرنامج وتقليل حجمه ويهدف نوتباد++ إلى التقليل من استهلاك الطاقة عن طريق توليد ملفه التنفيذي الذي يحتاج إلى كم أقل من الطاقة لتشغيله بوحدة المعالجة المركزية (CPU).

## ترجمات الواجهة

يدعم نوتباد++ تحويل لغة الواجهة إلى اللغة المحلية عن طريق تزويده بملف أكس أم أل الذي يحوي بدوره جميع النصوص المترجمة، وفي عام 2013 قام مجتمع المستخدمين لنوتباد++ بالمساهمة بترجمة لغة الواجهة إلى العديد من اللغات البشرية واللهجات أيضاً.

## انظر أيضا

* قائمة محررات النصوص
* جي إديت

## وصلات خارجية

* نوتباد++ على موقع Open Hub (الإنجليزية)
* نوتباد++ على موقع Framasoft (الفرنسية)
* نوتباد++ على موقع SourceForge (الإنجليزية)
* بوابة برمجة الحاسوب
* بوابة برمجيات
* بوابة برمجيات حرة
* بوابة تايوان