گنو/لینوکس

نصب و کانفیگ ویرایشگر اتم برای python

نوشته شده توسط اروند طباطبایی

در این پست در مورد ویرایشگر اتم صحبت میکنیم که یک ویرایشگر قابل هک و شخصی سازی بالا برای قرن ۲۱ شناخته شده و با آمدنش به دنیای ویرایشگرها سروصدای زیادی به پا کرده است. اتم یک ویرایشگر زیبا و متن باز است که ظاهری ساده و در عین حال مدرن دارد که جامعه‌ای فعال و بسیار پویا دارد و در همین راستا پکیج هایی بسیار متفاوت و زیاد را برای این ویرایشگر توسعه میدهند و هر روز میکوشند تا این ویرایشگر را به بهترین نحو بهینه کنند. آیا شما تا به حال از این ویرایشگر استفاده کرده اید؟ در اینجا میخواهیم این ویرایشگر را نصب و برای کدزدن پایتون کانفیگ و شخصی سازی کنیم. در ادامه با دیجی‌اسپارک همراه باشید.

ابتدا atom را از سایت رسمی آن دریافت کنید و پس از نصب آن بهتر است با دو دستور آشنا شوید؛ دستور اول Atom است که ویرایشگر شما را باز میکند و دستور دوم apm که برای نصب پکیج های اتم به کار برده میشه. در ادامه با این دو دستور بیشترآشنا میشویم.

ویرایش یک فایل python و استفاده از تکمیل‌کننده خودکار اتم (autocomplete)

بیایید کار خودمون رو با ایجاد یک فایل پایتون شروع کنیم. ابتدا دستور زیر را وارد کنید:

 

دستور بالا اتم را باز کرده و یک فایل جدید با نام myfile و با پسوند py ایجاد میکند. شما میتوانید پوشه ای را که فایل هایتان در آن ذخیره می‌شود در سایدبار سمت چپ مشاهده کنید.

در فایل جدید اگر تایپ کنید de خواهید دید که پیشنهادهایی به شما ارائه می‌شود که اگر بخواهیم یک تابع جدید ایجاد کنیم میتوانیم از def که پیشنهاد شده است استفاده کنیم. این پیشنهاد ها برای این داده می‌شوند که فایل ایجاد شده پسوند پایتونی دارد.

creaate-function

اگر کلید tab را در زمانی که de را تایپ کرده‌اید فشار دهید یک قالب ساده از تابع برای شما نوشته می‌شود که میتوانید آن را تکمیل کنید. اگر توجه کنید fname هایلایت شده است که به شما امکان میدهد تا اسم تابع خود را به سرعت تایپ کنید. اگر دوباره tab را فشار دهیم arg هایلایت می‌شود که میتوانید آرگومان هایی که تابع نیاز دارد را در آن تایپ کنید. و برای بار دیگر tab را فشار دهید تا pass هایلایت شود و بدنه تابع را در آن وارد کنید.

create-function-2

Linter برای Atom

linter یک پکیج برای ارائه api ها سطح بالا است به طوریکه اتحاد بسیار خوبی را بین تمامی پلاگین های برقرارمیکند. این بدین معنا است که تمام بسته های اضافی که نصب کنید میتوانند با استفاده از linter از قاعده ای ثابت و هماهنگ با دیگر پکیج ها و پلاگین ها استفاده کنند و برای مثال در تشخیص خطا دچار سردرگمی در رنگی شدن و هایلایت شدن کدها نمیشوید. برای نصب آن کافی است کد زیر را وارد کنید :

 

پس از آن به سراغ نصب پکیج linter برای python می‌رویم تا کمک کند خطاها را در پایتون پیدا کنید. این پیکج با نام linter-flake8 شناخته میشود. برای نصب flake8 کد های زیر را وارد کنید :

 

پس از آن باید اتم را ریستارت کنید تا تغییرات اعمال شود. پس از آن اگر در کدنویسی خود اشتباهی کنید عبارتی همانند زیر مشاهده میکنید که به شما هشدار خواهد داد.

atom-linter-flake8

شما نیاز دارید تا به atom رفته و اسکریپت init خود را بازکنید و کد زیر را در آن وارد کنید:

 

سپس اتم را ریستارت کنید تا تغییرات اعمال شوند. همچنین linter برای زبان‌های دیگر نیز موجود است همانند javascript و html و css که میتوانید با جست‌و‌جویی کوتاه در اینترنت آن‌ها را پیدا کنید.

سفارشی سازی بیشتر و دنیال کردن pep8

حال در زیر نحوه کانفیگ کردن اتم برای استفاده از pep8 و دنبال کردن آن را نشان خواهیم داد :

ابتدا اتم را باز کنید و سپس preferences را باز کنید.

۱ – استفاده از space به جای tab

با پایین صفحه اسکرول کنید تا به گزینه soft tabs برسید و تیک این گزینه را بزنید این گزینه tab را به صورت اتوماتیک به اسپیس تبدیل میکند.

atom-settings-1024x950

۲ – تنظیم کردن میزان tab برای ۴ فضای خالی

کمی پایین‌تر گزینه ای به نام tab length مشاهده میکنیم که مقدار آن را به ۴ تغییر میدهیم.

۳ – معتبرسازی pep8 به صورت اتوماتیک

اگر شما linter-flake8 را نصب کرده باشید شما به صورت خودکار pep8 را داشته و استفاده میکنید.

پیکج های مفید دیگر :

project manager : یک بسته برای ذخیره کردن پروژه ها

atom django : پشتیبانی از django برای اتم

minimap : نمایش یک نقشه کوچک برای فایلی که در حال ویرایش هستید در قسمت کناری سمت راست اسناد خود مشاهده کنید (همانند ویرایشگر سابلایم)

اگر از پکیج های دیگری استفاده میکنید در دیجی‌اسپارک به دوستان خود معرفی کنید.

درباره نویسنده

اروند طباطبایی

هرچه می آموزم میبینم که خیلی کم آموختم. در حال حاضر مدیریت تولید مقطع کارشناسی ارشد هستم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

۳ دیدگاه

دیدگاهتان را بنویسید