Loading…

درباره قالب‌بندی آنلاین سی‌شارپ

کد سی‌شارپ خود را جایگذاری کنید (یا یک فایل رها کنید) و روی "قالب‌بندی" کلیک کنید. این ابزار سبک استاندارد CSharpier را برای diffهای یکپارچه و بازبینی کد بدون اصطکاک اعمال می‌کند. ویژگی‌های مدرن سی‌شارپ مانند رکوردها، تطبیق الگو، رشته‌های خام، فضای نام محدود به فایل و موارد بیشتر را درک می‌کند — بنابراین آنچه اینجا تست می‌کنید مانند یک پروژه .NET واقعی رفتار می‌کند.

چرا توسعه‌دهندگان از این قالب‌بندی سی‌شارپ استفاده می‌کنند

  • سبک استاندارد و نظرپردازانه از طریق CSharpier برای diffهای پایدار و قابل پیش‌بینی در کل تیم شما
  • فاصله‌های سفید، تورفتگی، شکستن خطوط و چیدمان آکولادها را بدون دست زدن به منطق کد شما نرمال می‌کند
  • از سینتکس مدرن سی‌شارپ پشتیبانی می‌کند (رکوردها، تطبیق الگو، رشته‌های خام، دستورات سطح بالا، فضای نام محدود به فایل و موارد بیشتر)
  • کپی و دانلود آسان کد سی‌شارپ قالب‌بندی شده از پنل خروجی — عالی برای اصلاحات سریع یک‌باره
  • ایده‌آل برای بازبینی کد، بازآرایی، کاتاها و پاکسازی فایل‌های .cs قدیمی قبل از مهاجرت به .NET 6/7/8
  • با لینترها و آنالایزرها به خوبی کار می‌کند — اجازه دهید CSharpier چیدمان را مدیریت کند و آنالایزرها قوانین و سبک را مدیریت کنند
  • طراحی شده برای قالب‌بندی کوتاه‌مدت — از جایگذاری کدهای بسیار حساس یا محرمانه خودداری کنید؛ برای پروژه‌های محرمانه از CLI CSharpier استفاده کنید

🔧 نحوه قالب‌بندی کد سی‌شارپ (گام به گام) for csharp-formatter

1

1. کد سی‌شارپ خود را پیست یا رها کنید

📥 کد سی‌شارپ خود را در ویرایشگر ورودی پیست کنید، یا یک فایل .cs را روی منطقه رهاسازی بیندازید. فرمت‌کننده انتظار کد سی‌شارپ معتبر از نظر نحوی دارد — هر چیزی که بتوانید در یک پروژه معمولی .NET کامپایل کنید.

2

2. اجرای فرمت‌کننده

⚙️ دکمه "فرمت" را کلیک کنید تا طرح‌بندی استاندارد CSharpier اعمال شود. تورفتگی، آکولادها و شکستن خطوط نرمال‌سازی می‌شوند در حالی که رفتار حفظ می‌شود. برای قطعه کدهای بزرگ، این کار منطق عمیقاً تودرتو یا خطوط لوله LINQ را بسیار آسان‌تر برای خواندن می‌کند.

3

3. بررسی، کپی یا دانلود

🔍 کد اصلی و فرمت‌شده را مقایسه کنید. هنگامی که راضی شدید، نتیجه را به ویرایشگر خود کپی کنید یا فایل .cs فرمت‌شده را دانلود کنید. از آن به عنوان یک پاک‌سازی سریع قبل از کامیت یا به عنوان مرجع برای سبک تیم خود استفاده کنید.

جزئیات فنی و نکات سبک

موتور فرمت‌بندی و سبک

این فرمت‌کننده از CSharpier برای اعمال یک طرح‌بندی استاندارد و نظرخواهانه به منبع سی‌شارپ شما استفاده می‌کند. این کاملاً بر روی فرمت‌بندی متمرکز است و رفتار برنامه را تغییر نمی‌دهد.

جنبهکاری که انجام می‌دهدیادداشت‌ها
تجزیهنحو سی‌شارپ را تجزیه و طرح‌بندی کد را بازنویسی می‌کندهیچ تغییر معنایی یا رفتاری ندارد؛ فقط منبع را تغییر شکل می‌دهد.
تورفتگیتورفتگی را به یک سبک یکنواخت نرمال‌سازی می‌کندتورفتگی 4-فضا در پروژه‌های سی‌شارپ رایج است و توسط بسیاری از تیم‌ها استفاده می‌شود.
آکولادها و بلوک‌هایک سبک یکنواخت آکولاد و خط جدید اعمال می‌کندخوانایی را بهبود می‌بخشد و تفاوت‌ها را کوچک‌تر و آسان‌تر برای بررسی می‌کند.
فضای خالیفضاهای اضافی را پاک و خطوط خالی را نرمال‌سازی می‌کندبه برجسته کردن تغییرات واقعی به جای نویز فرمت‌بندی در بررسی‌ها کمک می‌کند.
خطوط طولانیعبارات طولانی را بر اساس قوانین CSharpier می‌شکنداسکرول افقی را کاهش و کد را از نظر بصری قابل اسکن نگه می‌دارد.
این ابزار بر روی طرح‌بندی و فضای خالی متمرکز است. نمادها را تغییر نام نمی‌دهد، کد را بازآرایی نمی‌کند، usingها را مرتب نمی‌کند یا آنالایزرها را اعمال نمی‌کند.

ورودی پشتیبانی شده و محدودیت‌ها

فرمت‌کننده برای فایل‌های معمولی سی‌شارپ استفاده شده در برنامه‌های .NET، کتابخانه‌ها، APIها و پروژه‌های بازی طراحی شده است.

پارامترمحدودیت / رفتاریادداشت‌ها
پسوند فایل.csبهترین برای فایل‌های منبع استاندارد سی‌شارپ، شامل اسکریپت‌های یونیتی و کنترلرهای ASP.NET.
انواع MIMEtext/x-csharpبرای تشخیص ورودی سی‌شارپ در ویرایشگر و پیکربندی برجسته‌سازی نحو استفاده می‌شود.
حداکثر اندازه ورودی≈ ۲ مگابایت کد منبعراه‌حل‌های بسیار بزرگ بهتر از طریق CLI یا یکپارچه‌سازی ویرایشگر CSharpier مدیریت می‌شوند.
رمزگذاریUTF-8 توصیه می‌شودرمزگذاری‌های قدیمی (مانند Windows-1252) را قبل از قالب‌بندی برای بهترین نتایج تبدیل کنید.

مثال: قبل و بعد

در اینجا یک مثال کوچک نشان می‌دهد که چگونه کد به هم ریخته سی‌شارپ به یک طرح تمیز و آماده برای بازبینی تبدیل می‌شود.

// قبل
using System;using System.Collections.Generic;namespace App{class Z{public static int Sum(List<int> xs){int s=0;foreach(var x in xs){s+=x;}Console.WriteLine($"Sum={s}");return s;}}}

// بعد
using System;
using System.Collections.Generic;

namespace App
{
    class Z
    {
        public static int Sum(List<int> xs)
        {
            int s = 0;
            foreach (var x in xs)
            {
                s += x;
            }

            Console.WriteLine($"Sum={s}");
            return s;
        }
    }
}

یکپارچه‌سازی‌های خط فرمان و ویرایشگر

اگر می‌خواهید همان سبک قالب‌بندی را در گردش کار محلی یا خط لوله CI خود داشته باشید، CSharpier را به عنوان یک ابزار .NET نصب کرده و آن را در ساخت، ویرایشگر یا هوک‌های پیش‌از کامیت یکپارچه کنید.

تمام پلتفرم‌ها (ابزار .NET)

نصب جهانی CSharpier

dotnet tool install -g csharpier

CLI `csharpier` را به PATH شما اضافه می‌کند تا بتوانید آن را از هر پروژه‌ای اجرا کنید.

قالب‌بندی تمام فایل‌های سی‌شارپ در یک مخزن

csharpier **/*.cs

به صورت بازگشتی هر فایل .cs را در دایرکتوری جاری قالب‌بندی می‌کند.

بررسی CI بدون تغییر فایل‌ها

csharpier --check **/*.cs

اگر فایل‌ها به درستی قالب‌بندی نشده باشند، با وضعیت غیر صفر خارج می‌شود، ایده‌آل برای دروازه‌های درخواست کشیدن.

یکپارچه‌سازی‌های ویرایشگر

Visual Studio, VS Code, Rider

افزونه CSharpier را نصب کنید یا آن را به عنوان یک ابزار خارجی پیکربندی کنید، سپس "قالب‌بندی هنگام ذخیره" را فعال کنید.

کدبیس شما را بدون مراحل دستی به طور یکنواخت قالب‌بندی نگه می‌دارد.

یک مانیفست ابزار محلی مخزن با `dotnet new tool-manifest` و `dotnet tool install csharpier` اضافه کنید تا هر مشارکت‌کننده از همان نسخه CSharpier استفاده کند.

موارد استفاده محبوب برای قالب‌بند سی‌شارپ

یکنواختی در سراسر تیم

یک سبک استاندارد واحد را در کدبیس .NET خود اعمال کنید و تفاوت‌ها را کوچک نگه دارید.

  • همان قالب‌بندی را به تمام فایل‌های .cs در مخازن مشترک اعمال کنید.
  • CSharpier را در CI اجرا کنید تا تغییرات قالب‌بندی نشده در درخواست‌های کشیدن مسدود شوند.
  • با جلوگیری از بحث‌های فقط سبکی، نویز در بازبینی کد را کاهش دهید.

بازآرایی سریع

پس از ویرایش‌های بزرگ یا بازآرایی‌ها، دوباره قالب‌بندی کنید تا خوانایی و ساختار بازیابی شود.

  • نرمال سازی تورفتگی پس از جابجایی یا تکثیر بلوک‌های کد.
  • خواندن پرس‌و‌جوهای طولانی LINQ و رشته‌های درونیابی را آسان‌تر کنید.
  • پاکسازی فضاهای خالی پراکنده، آکولادهای ناسازگار و شکست‌های ناجور.

یونیتی و توسعه بازی

اسکریپت‌های گیم‌پلی و یکپارچه‌سازی‌های موتور را در پروژه‌های بزرگ یونیتی مرتب نگه دارید.

  • آکولادها و چیدمان یکسان در صدها اسکریپت کوچک.
  • بازبینی کد آسان‌تر در مخزن‌های تک‌پارچه بزرگ و پروژه‌های چندتیمی.
  • ترکیب با تحلیلگرها برای نگهداری کد حیاتی عملکردی تمیز و ایمن.

ASP.NET Core، APIها و Blazor

کنترلرها، سرویس‌ها، کامپوننت‌های Razor و DTOها را برای خواندن و نگهداری آسان‌تر کنید.

  • چیدمان قابل پیش‌بینی برای ویژگی‌ها، رکوردها و APIهای مینیمال.
  • diffهای تمیزتر هنگام تغییر نقاط پایانی، قراردادها یا شکل DTOها.
  • عضوگیری سریع‌تر اعضای جدید تیم با یک سبک واحد و قابل اعتماد.

❓ Frequently Asked Questions

🆚فرمتر در مقابل لینتر — تفاوت چیست؟

یک فرمتر چیدمان کد شما را بازنویسی می‌کند (فاصله‌ها، خطوط جدید، تورفتگی، آکولادها). یک لینتر کد شما را برای مشکلات بالقوه، مسائل سبکی یا تخلفات از بهترین روش‌ها تحلیل می‌کند. بسیاری از تیم‌ها از هر دو استفاده می‌کنند: فرمتر برای ساختار، لینتر برای راهنمایی و تشخیص.

🔒آیا فرمت کردن رفتار کد C# من را تغییر می‌دهد؟

خیر. CSharpier فقط بر روی فرمت و چیدمان تمرکز دارد. این ابزار طوری طراحی شده که معناشناسی کد شما را حفظ کند در حالی که فاصله‌های سفید، تورفتگی و شکست‌های خط را تغییر می‌دهد.

🧩آیا این ابزار usingها را مرتب می‌کند یا importها را بهینه می‌سازد؟

خیر. این فرمتر دستورات using را مرتب نمی‌کند یا کد را بازآرایی نمی‌کند. اگر نیاز به مرتب‌سازی importها، پاکسازی کد یا تحلیلگرهای اضافی دارید، از قابلیت‌های IDE یا ابزارهایی مانند `dotnet format` استفاده کنید.

📦آیا از ویژگی‌های مدرن C# پشتیبانی می‌کند؟

بله. CSharpier با در نظر گرفتن C# مدرن ساخته شده و از ویژگی‌هایی مانند رکوردها، فضای نام محدود به فایل، تطبیق الگو، دستورات سطح بالا، رشته‌های تحت اللفظی خام و بیشتر پشتیبانی می‌کند.

🏗️چگونه این سبک فرمت را در CI اعمال کنم؟

CSharpier را در محیط CI خود نصب کنید و `csharpier --check **/*.cs` را اجرا کنید. اگر دستور با وضعیت غیرصفر خاتمه یابد، می‌توانید ساخت را شکست داده و از ادغام کد بدون فرمت جلوگیری کنید.

🔐آیا چسباندن کد C# اختصاصی یا محرمانه در اینجا ایمن است؟

این ابزار برای فرمت کردن موقت کد چسبانده شده طراحی شده، اما به عنوان یک قاعده کلی باید از آپلود منطق تجاری بسیار حساس یا محرمانه به هر سرویس آنلاین خودداری کنید. برای پروژه‌های محرمانه، ترجیحاً CSharpier را به صورت محلی یا در محیط CI میزبانی شده خود اجرا کنید.

Pro Tips

Best Practice

یک مانیفست ابزار محلی مخزن را کامیت کنید تا کل تیم شما از نسخه دقیقاً یکسان CSharpier استفاده کند و از تفاوت‌های "روی دستگاه من کار می‌کند" جلوگیری شود.

Best Practice

یک `.editorconfig` با عرض خط و تنظیمات سبک مورد نظر خود اضافه کنید تا قالب‌بندی C# در بین IDEها، مشارکت‌کنندگان و CI یکسان بماند.

Best Practice

از یک هوک پیش‌کامیت Git یا ابزارهایی مانند pre-commit/Husky استفاده کنید تا فایل‌های `.cs` مرحله‌ای قبل از هر کامیت به طور خودکار قالب‌بندی شوند.

Best Practice

این فرمت‌کننده را با تحلیل‌گران Roslyn یا سایر لینترها ترکیب کنید تا هم چیدمان تمیز و هم تشخیص‌های قابل اقدام دریافت کنید.

Additional Resources

Other Tools