EditorConfig: ابزاری به منظور مدیریت استایل سورس‌کد در ادیتورهای مختلف

EditorConfig: ابزاری به منظور مدیریت استایل سورس‌کد در ادیتورهای مختلف

EditorConfig پلاگینی است که به دولوپرها کمک می‌کند تا بتوانند استایل‌های کدنویسی مد نظر خود را در ادیتورها و محیط‌های توسعهٔ یکپارچه (IDE) مختلف حفظ کنند تا از این طریق پس از سوئیچ کردن بین ادیتورهای مختلف، به‌ خاطر اختلاف فضای محیط کدنویسی، دچار سردرگمی نشوند.

اولین کسی باشید که به این سؤال پاسخ می‌دهید

نحوهٔ استفاده از EditorConfig بدین شکل است که در فایل به‌ خصوصی تحت‌ عنوان editorconfig. فرمت‌ و استایل‌های مد نظر را وارد کرده سپس با استفاده از پلاگین‌های اختصاصی هر ادیتور یا IDE، می‌توان این فایل را مورد استفاده قرار داده و از فرمت یکسانی (همچون سینتکس هایلایتینگ یکسان و غیره) در ادیتورهای مختلف برخوردار بود تا در صورت سوئیچ کردن بین ادیتورهای مختلف، دولوپری که به یک نوع هایلایت سورس‌کد و یا یک نوع فرمت نمایش کدها عادت کرده است، سردرگم نشود.

به‌ عنوان مثال، آنچه در ادامه می‌بینید محتویات فایل editorconfig. است که این امکان را به دولوپر می‌دهد تا برخی استایل‌ها همچون Indentation را در زبان‌های پایتون و جاوااسکریپت مشخص سازد:

# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[Makefile]
indent_style = tab

# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

سازوکار EditorConfig بدین صورت است که وقتی در ادیتور دلخواه خود فایلی را باز می‌کنید، این پلاگین به‌ دنبال فایلی تحت‌ عنوان editorconfig. گشته و در صورت پیدا کردن چنین فایلی، تنظیمات اعمال شده در آن‌ را اِعمال می‌کند (از جمله ادیتورهایی که از این پلاگین پشتیبانی می‌کنند می‌توان به ویژوال‌ استودیو، ویژوال استودیو کد، اتم، برکتس، اکلیپس، سابلایم و نودپدپلاس‌پلاس اشاره کرد.)