ویژگیهای کلیدی فرمتکننده INI
- نرمالسازی فاصلهگذاری اطراف `=` تا کلیدها و مقادیر به طور یکنواخت در هر بخش قابل خواندن باشند
- حفظ بخشها، کلیدها و نظرات در جای خود در حالی که فضاهای اضافی انتهایی حذف میشوند
- تنظیم اندازه تورفتگی (فاصله) و انتخاب بین فاصله یا تب برای سبک تورفتگی
- کنترل سبک پایان خط (LF یا CRLF) برای جلوگیری از تفاوتهای پرسر و صدا در بین پلتفرمها
- پشتیبانی از کشیدن و رها کردن فایلهای `.ini`، `.cfg` و `.conf`، به علاوه چسباندن مستقیم در ویرایشگر
- قالببندی فوری با موتور Prettier آگاه از INI، با پشتیبانی سرور در صورت نیاز
- حفظ نظرات و خطوط خالی تا مستندات و گروهبندی بصری شما دستنخورده باقی بمانند
🔧 نحوه استفاده از فرمتکننده INI for ini-formatter
۱. چسباندن یا بارگذاری پیکربندی شما
محتوای INI خود را در ویرایشگر بچسبانید یا یک فایل `.ini`، `.cfg` یا `.conf` را کشیده و رها کنید. بخشهایی مانند `[core]`، `[user]` و جفتهای استاندارد `key = value` همه پشتیبانی میشوند.
۲. تنظیم گزینههای قالببندی
اندازه تورفتگی را سفارشی کنید، فاصله یا تب را برای تورفتگی انتخاب کنید، و پایان خط خروجی (LF یا CRLF) را برای مطابقت با قراردادهای پروژه یا پلتفرم خود انتخاب نمایید.
۳. کپی یا دانلود نتیجه
خروجی قالببندی شده را در پنل پیشنمایش بررسی کنید، سپس آن را به ویرایشگر خود برگردانید یا فایل تمیز شده را دانلود کرده و به کنترل نسخه commit کنید.
مشخصات فنی
انواع فایل پشتیبانی شده
فرمتکننده بر روی فرمتهای پیکربندی سبک INI کلاسیک که معمولاً در ویندوز، لینوکس و برنامههای مختلف استفاده میشوند، متمرکز است.
| پسوند | توضیحات |
|---|---|
| .ini | فایلهای INI سبک ویندوز کلاسیک با هدرهای `[section]` و جفتهای `key = value` |
| .cfg | فایلهای پیکربندی عمومی با استفاده از نحو شبیه INI |
| .conf | فایلهای پیکربندی سبک Unix/Linux که از قراردادهای INI-ish پیروی میکنند |
گزینههای موجود (رابط کاربری)
گزینههای نمایش داده شده در رابط به طور مستقیم به تنظیمات زیربنایی Prettier / فرمتکننده نگاشت میشوند:
| گزینه | توضیحات |
|---|---|
| سبک تورفتگی | انتخاب بین فاصلهها یا تبها برای تورفتگی |
| اندازه تورفتگی | تعداد فاصلهها در هر سطح تورفتگی هنگام استفاده از فاصله |
| پایان خط | کنترل پایانهای خط (LF `\n` یا CRLF `\r\n`) برای سازگاری چندسکویی |
قوانین قالببندی (متناسب با INI)
قالببند از یک پلاگین Prettier متناسب با INI استفاده میکند و برای حفظ ساختار پیکربندی شما طراحی شده است:
| جنبه | رفتار | یادداشتها |
|---|---|---|
| بخشها | سربرگهای [section] بدون تغییر نگهداری میشوند | فضای سفید اطراف نام بخشها نرمال میشود (مثلاً `[ user ]` → `[user]`) |
| کلیدها و مقادیر | `key = value` نرمال شده | اطمینان از فاصلهگذاری یکنواخت اطراف `=` در حالی که متن اصلی کلید/مقدار حفظ میشود |
| توضیحات | خطوطی که با `;` یا `#` شروع میشوند حفظ میشوند | موقعیت توضیحات در صورت امکان حفظ میشود تا مستندات نگهداری شود |
| خطوط خالی | بین بخشها حفظ میشوند | به حفظ گروهبندی بصری کمک میکند در حالی که فاصلههای اضافی انتها حذف میشوند |
| رمزگذاری | UTF-8 مورد انتظار | رمزگذاریهای غیرمعمول ممکن است نیاز به تبدیل قبل از قالببندی داشته باشند |
خطاها و موارد خاص
INI به صورت سست مشخص شده و فایلهای دنیای واقعی گاهی مرزها را جابجا میکنند. هنگامی که قالببند با مشکل مواجه میشود، معمولاً سریع با یک خطا متوقف میشود:
| نشانه | علت محتمل | چه چیزی را بررسی کنید |
|---|---|---|
| پیام خطای غیرمنتظره | ساختار غیر INI یا فرمتهای ترکیبی | اطمینان حاصل کنید که فایل عمدتاً به سبک `[section]` + `key = value` است |
| خروجی قطعشده / عجیب | دادههای باینری جاسازیشده یا کاراکترهای کنترلی غیرمعمول | بلوکهای باینری را حذف کنید یا آنها را به فرمت دیگری صادر کنید |
| جابجایی توضیحات | نرمالسازی تهاجمی در موارد خاص | بررسی موقعیتیابی در اطراف بلوکهای نظرات سنگین یا جداکنندههای غیرمعمول |
جایگزینهای خط فرمان
ابزارهای CLI را ترجیح میدهید یا میخواهید همه چیز محلی بماند؟ در اینجا چند بلوک سازنده وجود دارد که میتوانید تطبیق دهید.
پایتون
تجزیه و انتشار مجدد INI با configparser (پایه)
python - << 'PY'
import configparser, sys
config = configparser.ConfigParser()
config.read('input.ini', encoding='utf-8')
with open('formatted.ini', 'w', encoding='utf-8') as f:
config.write(f)
PYاز configparser داخلی پایتون برای خواندن و نوشتن بخشها و کلیدها استفاده میکند. توجه: نظرات و ترتیب ممکن است حفظ نشوند.
یونیکس/لینوکس
ترازبندی بسیار تقریبی علامت مساوی با awk
awk -F '=' 'NF==2 { printf "%-24s = %s\n", $1, $2; next } { print }' input.ini > aligned.iniترازبندی ساده ستونی برای خطوط `کلید = مقدار`؛ نظرات و مقادیر پیچیده ممکن است نیاز به بررسی دستی داشته باشند.
موارد استفاده متداول
مدیریت سیستم
- پاکسازی فایلهای `.conf` لینوکس قبل از commit کردن آنها در مخازن زیرساخت
- مرتبسازی فایلهای `.ini` / `.cfg` برنامههای دسکتاپ برای عیبیابی آسانتر
[network]
ip = 192.168.0.1
mask = 255.255.255.0
gateway = 192.168.0.254توسعه نرمافزار
- نگهداری پیکربندیهای INI محیطمحور برای برنامهها یا تستهارنسها
- قابل خواندن نگه داشتن پرچمهای ویژگی و تنظیمات ساخت مبتنی بر INI در کنترل نسخه
[build]
target = production
optimize = true
log_level = infoمستندات و پشتیبانی
- ایجاد مثالهای INI تمیز برای فایلهای README و ویکیها
- اشتراکگذاری پیکربندیهای حداقلی و قالببندی شده با پشتیبانی یا همکاران
❓ Frequently Asked Questions
🔁آیا فرمتکننده منطق کلید/مقدار را تغییر میدهد؟
🧵با علامتهای مساوی چه اتفاقی میافتد؟
📦آیا میتوانم از این برای فایلهای پیکربندی بزرگ استفاده کنم؟
🔒آیا همه چیز در مرورگر من پردازش میشود؟
🧾آیا نحو INI را اعتبارسنجی میکند؟
Pro Tips
قبل از کامیت فایلهای `.ini` فرمتدهنده را اجرا کنید تا تفاوتها فقط تغییرات واقعی پیکربندی را نشان دهند، نه نویز فاصلهگذاری.
در فایلهای INI فاصله را به جای تب ترجیح دهید، مگر اینکه ابزار خاصی تب را الزامی کند—فاصلهها در بین پلتفرمها و ویرایشگرها سازگاری بیشتری دارند.
یک سبک استاندارد برای تمام پیکربندیهای INI در یک مخزن حفظ کنید؛ ترکیب سبکها در بین سرویسها، بازبینی و عیبیابی را سختتر میکند.
اگر پروژه شما از هر دو فرمت INI و YAML/JSON استفاده میکند، فرمتدهندههای اختصاصی را به هر کدام اعمال کنید تا سبک پیکربندی در بین فرمتها ثابت بماند.
Additional Resources
Other Tools
- زیباکننده CSS
- زیباکننده HTML
- زیباکننده JavaScript
- زیباکننده PHP
- انتخابگر رنگ
- استخراجکننده اسپرایت
- دیکودر Base64
- انکودر Base64
- فرمتدهنده C#
- فرمتدهنده CSV
- Dockerfile Formatter
- فرمتدهنده Elm
- فرمتدهنده ENV
- فرمتدهنده Go
- فرمتدهنده GraphQL
- فرمتدهنده HCL
- فرمتدهنده JSON
- فرمتدهنده LaTeX
- فرمتدهنده Markdown
- فرمتدهنده Objective-C
- Php Formatter
- فرمتدهنده Proto
- فرمتدهنده Python
- فرمتدهنده Ruby
- فرمتدهنده Rust
- فرمتدهنده Scala
- فرمتدهنده اسکریپت شل
- فرمتدهنده SQL
- قالببندی SVG
- قالببندی Swift
- قالببندی TOML
- Typescript Formatter
- قالببندی XML
- قالببندی YAML
- قالببندی Yarn
- کوچککننده CSS
- Html Minifier
- Javascript Minifier
- کوچککننده JSON
- کوچککننده XML
- نمایشگر هدرهای HTTP
- PDF به متن
- تستکننده Regex
- بررسیکننده رتبه SERP
- جستجوی Whois