مرتب‌سازی خودکار کد در نرم‌افزار Keil uVision

با افزایش حجم کد نیاز به مرتب‌سازی خودکار آن برای تنظیم تورفتگی و ترتیب نشانه‌های کد احساس می‌شود. بسیاری از ویرایشگرها و محیط‌های مجتمع توسعه‌ی مدرن همچون Visual Studio Code، IntelliJ، Eclipse و … چنین امکانی را به صورت پیش‌فرض پشتیبانی می‌کنند.

برای برنامه‌نویسی بسیاری از میکروکنترلرها از محیط توسعه‌ی Keil uVision استفاده می‌شود. هرچند برخی از تولیدکننده‌ها همچون شرکت ST محیط‌هایی اختصاصی برای توسعه معرفی کرده‌اند (مانند STM32CubeIDE) امّا Keil uVision برای برنامه‌ریزی این میکروکنترلرها هم همچنان بسیار محبوب است. با این حال این محیط توسعه علی رغم توانایی‌های متعدد، برخی امکانات اولیّه و بسیار متداول در دیگر محیط‌های توسعه، همچون مرتب‌سازی خودکار کد (Auto Source Formatting) را به صورت پیش‌فرض پشتیبانی نمی‌کند. در این نوشته روشی معرفی می‌کنیم تا بتوان به کمک آن این امکان را به محیط Keil uVision اضافه کرد.

دریافت و راه‌اندازی برنامه‌ی AStyle

یکی از برنامه‌های کوچک و در عین حال کاربردی برای مرتب‌سازی کد برنامه‌ای به نام Artistic Style است. این برنامه در سیستم عامل ویندوز و به صورت خط فرمانی هم قابل اجراست. کار کردن با برنامه‌ی AStyle بسیار ساده است. کافی است آن را از اینجا دریافت کنید، محتویات فایل زیپ‌شده را استخراج نمایید (اینجا در درایو E) و دستور زیر را بنویسید:

E:\AStyle.exe <filename.c>

به جای <filename.c> نام فایل را بنویسید. این دستور فایل را به صورت خودکار مرتب می‌کند و آن را در شکل مرتب‌شده ذخیره می‌کند.

شیوه‌های مختلف مرتب‌سازی

چنان‌که حتماً می‌دانید برای مرتب‌سازی شیوه‌های بسیار متنوعی وجود دارد. با اجرای دستور زیر می‌توانید تمام پارامترهای قابل اعمال به برنامه را ببینید:

E:\AStyle.exe -h

با اجرای این دستور فهرست بلندبالایی از پارامترهای برنامه نشان داده می‌شود. در خروجی نشان‌داده شده بخشی برای styleها وجود دارد:

Brace Style Options:
--------------------
    default brace style
    If no brace style is requested, the opening braces will not be
    changed and closing braces will be broken from the preceding line.

    --style=allman  OR  --style=bsd  OR  --style=break  OR  -A1
    Allman style formatting/indenting.
    Broken braces.

    --style=java  OR  --style=attach  OR  -A2
    Java style formatting/indenting.
    Attached braces.

    --style=kr  OR  --style=k&r  OR  --style=k/r  OR  -A3
    Kernighan & Ritchie style formatting/indenting.
    Linux braces.

    --style=stroustrup  OR  -A4
    Stroustrup style formatting/indenting.
    Linux braces.

    --style=whitesmith  OR  -A5
    Whitesmith style formatting/indenting.
    Broken, indented braces.
    Indented class blocks and switch blocks.

   .......

انتخاب شیوه‌ی مرتب‌سازی به شما بستگی دارد. من شخصاً gnu را می‌پسندم، امّا معمولاً برای برنامه‌نویسی C از شیوه‌ی allman استفاده می‌شود. همچنین بهتر است اطراف کاما و عملگرها هم فاصله اضافه شود تا کد خواناتر شود. برای مرتب‌سازی فایل‌ها به این شیوه دستور را به این شکل وارد می‌کنیم:

E:\AStyle.exe --style=allman --pad-oper --pad-comma <filename.c>

افزودن AStyle به uVision

حالا نوبت اضافه کردن این برنامه‌ی کاربردی به نرم‌افزار Keil uVision است. پیش از هر چیز یک نسخه از فایل AStyle.exe را به پوشه‌ی محل نصب نرم‌افزار Keil کپی کنید. این کار اختیاری است امّا برای نظم کار مهم است. برای مثال در اینجا این فایل در پوشه‌ی E:\Keil_v5 کپی شده است.

برای افزودن این برنامه به Keil uVision باید یک گزینه‌ی منوی جدید به برنامه اضافه کنید. برای این کار مطابق شکل (۱) از منوی Tools گزینه‌ی Customize Tools Menu را انتخاب کنید:

شکل ۱: منوی Tools

در پنجره‌ی نمایش داده شده مطابق شکل (۲) گزینه‌ی New (Insert) را برگزینید:

شکل ۲: پنجره‌ی افزودن گزینه‌ی جدید به منوی Tools

حال موارد درخواستی را مطابق شکل (۳) پر کنید: ابتدا نامی برای گزینه‌ی منو انتخاب کنید. سپس Command و Arguments را تعیین کنید. Command در واقع همان نشانی فایل AStyle.exe هست که قبلاً در پوشه‌ی نصب برنامه کپی کرده‌ایم. Arguments هم فهرست آرگومان‌هایی است که می‌توان به این برنامه داد. چنان‌که گفتیم می‌توان شکل مرتب‌سازی را به کمک یک آرگومان (اینجا style=gnu–) مشخص کرد. آرگومان !E هم به keil می‌گوید که نشانی فایل بازشده‌ی فعلی را در محیط برنامه به این دستور به عنوان ورودی بدهد.

شکل ۳: تنظیمات مورد نیاز برای گزینه‌ی منو

حال همه چیز آماده است. گزینه‌ی Auto Source Formatting به منوی Tools اضافه شده و می‌توانید با انتخاب این گزینه کدها را به طور خودکار مرتب کنید.

شکل ۴: گزینه‌ی اضافه‌شده به منوی Tools

یک گام کوچک دیگر: افزودن کلید میانبر

برای آسان‌تر شدن کار با این افزونه بهتر است یک کلید میانبر هم اضافه کنیم تا بتوانیم بدون مراجعه به منو کار مرتب‌سازی را انجام دهیم. این کار بسیار ساده است. کافی است به منوی Edit->Configurations مراجعه کنید و مطابق شکل (۵) برگه‌ی Shortcut Keys را انتخاب کنید. حال در بین گزینه‌های Select a Command به دنبال گزینه‌ی منویی که اضافه کردید بگردید. نام منو در ابتدا آمده است پس در مثال ما این گزینه Tools: Auto Source Formatting خواهد بود.

شکل ۵: تنظیم کلید میانبر

حال از سمت راست دکمه‌ی Create Shortcut را بزنید. صفحه‌ای باز می‌شود که از شما کلید میانبر را می‌پرسد. با فشار دادن کلید‌های صفحه‌کلید نام آن‌ها نمایش داده می‌شود. در اینجا کلید ترکیبی Ctrl+Alt+F انتخاب شده است. توجه داشته باشید که میانبر انتخابی‌تان قبلاً به گزینه‌ی دیگری Assign نشده باشد. کلید انتخابی ما چنین نیست:

شکل (۶): انتخاب کلید میانبر

اکنون در هر فایل بازشده با فشار دادن این کلید میانبر کد شما به راحتی مرتب می‌شود.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *