ترفندهای Xcode که باید بدانید – راهنمای کاربردی
Xcode یک «محیط توسعه یکپارچه» (integrated development environment) به اختصار IDE برای macOS است که شامل مجموعه کاملی از ابزارهای توسعه نرمافزار است که از سوی اپل جهت توسعه نرمافزار برای macOS ،iOS iPadOS ،watchOS و tvOS عرضه شده است. در این مقاله با برخی ترفندهای Xcode که به عنوان یک برنامهنویس سوئیفت باید بشناسید آشنا خواهید شد.
Xcode کلیدهای میانبری دارد که موجب میشود کارها آسانتر انجام یابند. مثلاً ⇧ + ⌘ + O باعث میشود که دستور Open Quickly اجرا شود و کلیدهای ⇧ + ⌘ + K باعث اجرای دستور Clean Build میشوند.
اما برخی قابلیتهای واقعاً جالب نیز وجود دارند که در جامعه توسعهدهندگان iOS چندان شناخته شده نیستند. بسیاری از توسعهدهندگان هستند که سالها است برای iOS کد مینویسند، اما با همه امکانات Xcode آشنا نیستند. در این مقاله با برخی ترفندهای کمتر شناخته شده Xcode آشنا میشویم که موجب بهبود عمدهای در گردش کار شما میشوند.
۱. ایجاد مدل سوئیفت
فرض کنید میخواهیم به جای نوشتن همه ستونها به صورت یک به یک، یک مدل سوئیفت (Swift) بر مبنای مدل پایگاه داده بسازیم. این کار از طریق استفاده از کلیدهای ⌥ و نگهداشتن کلید سمت چپ ماوس برای انتخاب فیلدها ممکن است. از کلید ⌘ و کلیدهای جهتی برای ناوبری در میان خطوط و از ⌥ و کلیدهای جهتی برای ناوبری در میان کلمات استفاده کنید.
۲. ایجاد سازنده
همین نکته در زمانی که میخواهیم یک سازنده بسازیم نیز صدق میکند. قطعاً اگر قابلیتی مانند آن چه IntelliJ دارد، وجود داشته باشد که به ما کمک کند یک سازنده یا getters/setters روی کلیدهای ترکیبی ^ + Enter بسازیم بسیار عالی خواهد بود. اما این که در Xcode چنین چیزی نداریم، بدان معنی نیست که باید init را با نوشتن همه مشخصهها به صورت یک به یک بسازیم. به جای آن میتوان از همان ترفند قبلی با همان دستورالعملها استفاده کرد.
۳. دیباگ کردن
ما با استفاده از دستور عبارت e میتوانیم کد سوئیفت را اجرا کنیم و همچنین در زمان دیباگ کردن اقدام به تزریق کد بکنیم. برای نمونه میتوانیم رنگ متن برچسب یا عنوان دکمه را عوض کنیم یا کارهای زیاد دیگری انجام دهیم.
برای مثال اگر بخواهیم عنوان دکمه را عوض کنیم:
(lldb) e saveButton.setTitle("Saved", for:.normal)
Step نیز یک دستور بسیار مفید است. این دستور کمک میکند که در زمان دیباگ کردن از روی یک دستور عبور کنیم (Step Over) در حالی که دستور stepi به منظور «ورود به تابع» (Step Into) استفاده میشود.
میتوان همه «نقاط توقف» (breakpoints) را به کمک این دستورها فعال/غیرفعال کرد:
(lldb) breakpoint enable (lldb) breakpoint disable
همچنین میتوان به ادامه اجرای کد پرداخت:
(lldb) continue
اگر به نوشتن دستورها روی ناحیه دیباگ ادامه بدهید و بخواهید کنسول را از دستورهای قبلی پاک کنید، میتوانید این کار را بدون کلیک کردن دکمه trash در گوشه راست-پایین انجام دهید. به جای آن میتوان از کلیدهای ⌘ + k استفاده کرد. اگر کارتان در ناحیه دیباگ به پایان رسیده است، میتوانید با فشردن کلیدهای ⇧ + ⌘ + t آن را پنهان کنید.
۴. ناوبری در میان کد و فایلها
رفتن به یک خط خاص از کد در یک فایل خاص به کمک دستور Open Quickly با میانبر ⇧ + ⌘ + O کاملاً سرراست است. زمانی که پنجره جستجو ظاهر میشود پس از نوشتن نام فایل و شماره خط که با دونقطه از هم جدا میشوند به مقصد مورد نظر خود میروید:
BaseTableViewController:250
بدین ترتیب به خط 250 کلاس BaseTableViewController میرسیم.
در حالتی که بخواهید به خط خاصی از کد در فایل موجود بروید میتوانید از کلیدهای ⌘ + l استفاده کنید و زمانی که پنجره ورودی ظاهر میشود شماره خط را در آن وارد کنید.
با استفاده از کلیدهای ^ + 6 میتوانید لیست خصوصیتها و متدها را باز کنید و بیدرنگ شروع به وارد کردن ابتدای نام یکی از آنها بکنید تا بر اساس نام بتوانید آنها را پیدا کنید.
برای جابجایی یک یا چند خط به سمت پایین یا بالا بدون نیاز به عملیات برش و چسباندن میتوانید خطوط مورد نظر را انتخاب کرده و از کلیدهای زیر استفاده کنید:
- ⌥ + ⌘ + [ برای جابجایی به سمت بالا
- ⌥ + ⌘ + ] برای جابجایی به سمت پایین
زمانی که میخواهید فایل کاری فعلی را در پنل ناوبری پروژه پیدا کنید از کلیدهای ⇧ + ⌘ + j استفاده کنید تا در پنل چپ فایل انتخابی ظاهر شود. این قابلیت در مواردی که فایلهای زیادی در پروژه وجود داشته باشند و ناوبری دشوار باشد مفید خواهد بود.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی Swift (سوئیفت) برای برنامه نویسی iOS
- مجموعه آموزشهای ابزارهای مهندسی کامپیوتر
- آموزش برنامه نویسی سوئیفت (Swift): متغیر، ثابت و انواع داده – بخش اول
- آموزش سوئیفت (Swift) — مجموعه مقالات مجله فرادرس
==