برنامهی کنسول HelloWorld را که در درس قبل با استفاده از Visual Studio ساختیم، در این درس در محیط Visual
Studio Code و با استفاده از .NET CLI میسازیم. قبل از اینکه به نحوهی ساخت، کامپایل و اجرای
پروژههای .NET
در vscode بپردازیم، ابتدا نحوهی نصب vscode روی پلتفرمهای مختلف را میبینیم.
نصب Visual Studio Code
Visual Studio Code که بهاختصار vscode گفته میشود، یک IDE مستقل از پلتفرم است که محبوبیتش منحصر به
توسعهدهندگان .NET نیست و بسیاری از توسعهدهندگان دیگر نیز از این IDE استفاده میکنند. vscode
بسیار خوشساخت،
کاربرپسند و هوشمند است و قابلیتهای فراوانی دارد و بهخصوص اینکه پلاگینهای زیادی توسط خود مایکروسافت و
سایرین برای این IDE نوشته شده و در دسترس ما قرار دارد. در این بخش، با نحوهی نصب vscode روی ویندوز و لینوکس
آشنا میشویم.
نصب VSCode روی ویندوز
نصب vscode روی ویندوز بسیار ساده است و به راههای مختلفی قابل انجام است. سادهترین راه این است که به وبسایت
این IDE بروید و فایل نصب vscode را دانلود کنید و آن را نصب کنید.
اما اگر با ابزار winget آشنا هستید، میتوانید با استفاده از کامند زیر vscode را روی سیستم ویندوزی خود نصب
کنید.
> winget install --id Microsoft.VisualStudioCode
با اجرای این کامند، آخرین نسخه از vscode روی سیستم ما نصب میشود.
در مورد winget
ابزار winget که یک کلاینت برای سرویس Windows Package Manager است، روی ویندوز 11 از قبل نصب است اما قبل از
استفاده به آپدیت نیاز دارد. برای آپدیت winget میتوانید از Microsoft Store استفاده کنید. برای این کار،
ابتدا Microsoft Store را اجرا کنید و در نوار جستجو عبارت App Installer را جستجو کنید. winget در واقع بخشی
از پکیج App Installer است. سپس، روی دکمهی Update کلیک کنید.
نصب VSCode روی لینوکس
نصب vscode روی توزیعهای لینوکسی هم کار سادهای است و به چند روش امکانپذیر است. بهترین راه برای نصب vscode
روی توزیعهای لینوکسی، نصب با استفاده از پکیج snap است. اسنپها پکیجهای universal هستند که به توزیع خاصی
وابسته نیستند و نسبت به پکیجهای اختصاصی توزیعها، مزایای زیادی دارند. کامند زیر vscode را روی یک توزیع
لینوکسی نصب میکند.
$ sudo snap install vscode --classic
اما اگر به هر دلیلی نخواهیم vscode را با استفاده از پکیج snap نصب کنیم، میتوانیم ورژن مختص هر توزیع را
دانلود کرده و آن را نصب کنیم. برای مثال، در مورد توزیعهای مبتنی بر Debian مانند Ubuntu باید پکیج
.deb را
دانلود و نصب کنیم. این کار را میتوانیم با استفاده از کامندهای زیر انجام دهیم.
کامند اول با استفاده از ابزاری با نام wget (که باید روی توزیع لینوکسی شما نصب باشد)، پکیج .deb
مربوط به
vscode را دانلود میکند و کامند دوم، آن را نصب میکند. دقت داشته باشید که در کامند دوم، code.deb به فایل
دانلود شده اشاره میکند و بنابراین، اگر از یک دایرکتوری دیگر این کامند را اجرا کنیم، باید آدرس کامل فایل را
وارد کنیم.
اگر در طول فرایند نصب با مشکلی در ارتباط با وابستگیهای پکیج مواجه شدیم، میتوانیم با کامند زیر این مشکل را
رفع کنیم.
$ sudo apt --fix-broken install
نصب پلاگین C# Dev Kit
بعد از اینکه vscode را نصب کردید، آن را اجرا کنید و از پنل سمت چپ، روی آیکون
Extensions کلیک کنید. سپس، در باکس جستجو عبارت C# Dev Kit را وارد کنید و
این پلاگین را نصب کنید. بعداً پلاگینهای دیگری را هم نصب خواهیم کرد اما برای شروع،
نصب پلاگین C# Dev Kit کفایت میکند.
ایجاد اپلیکیشن
خوب، در این مرحله باید vscode روی سیستم شما نصب باشد و بنابراین، میتوانیم کار ایجاد پروژهی HelloWorld را
شروع کنیم. با طی کردن گامهای زیر، یک پروژهی کنسول با نام HelloWorld ایجاد میشود.
ابتدا vscode را اجرا کنید و از منوی اصلی گزینهی File > Open Folder
را انتخاب کنید. در کادری که باز میشود،
یک پوشه با نام HelloWorld ایجاد کرده و آن را انتخاب کنید و روی Select folder کلیک کنید. نامی که برای این
پوشه تعیین میکنیم، به طور خودکار به پروژه و فضای نام (namespace) هم اختصاص داده میشود. اگر کادر
Do you trust the authors of the files in this folder? نمایش داده شد، روی Yes کلیک
کنید.
حالا از منوی اصلی گزینهی View > Terminal را انتخاب کنید تا پنل
ترمینال در vscode باز شود. دستور زیر را در
ترمینال وارد و اجرا کنید.
$ dotnet new console --framework net8.0 --use-program-main
حالا فایل Program.cs را باز کنید تا کدهای تولید شده توسط تمپلت را ببینید.
درون متد Main() از کلاس Console و یک متد این کلاس با نام WriteLine() استفاده شده که یک رشتهی متنی را به عنوان
آرگومان دریافت کرده و آن را در کنسول نمایش میدهد.
در کامندی که برای ساخت پروژهی HelloWorld وارد کردیم، آپشنی با نام --use-program-main دیده میشود. کاربرد این
آپشن این است که ویژگی Top-level statements را غیرفعال میکند که یک ویژگی نسبتاً جدید از C# است که
باعث
میشود کلاس Program و متد Main() ایجاد نشوند و در واقع، به طور
ضمنی ایجاد شوند. اگر این ویژگی فعال باشد، کلاس
Program و متد Main() نمایش داده نمیشوند و کدی که در ریشهی فایل
(یعنی بیرون از هر کلاس یا متد دیگر)
مینویسیم، به طور ضمنی به متد Main() اختصاص داده میشود.
اجرای اپلیکیشن
برای اجرای اپ کافیست کامند dotnet run را در ترمینال اجرا کنید.
$ dotnet run
به این ترتیب، برنامه ابتدا کامپایل و سپس، اجرا میشود و نتیجهی زیر را مشاهده خواهیم کرد.
انتخاب یک Shell برای ترمینال VSCode
دیدیم که که .NET CLI ابزاری است که امکان ساخت و اجرای اپهای C# را با استفاده از خط
فرمان فراهم میکند. در
واقع، به کمک این ابزار ما حتی بدون یک IDE هم میتوانیم اپهای خود را ایجاد کنیم (البته با کمی کار بیشتر).
برای ساخت اپهای C# تنها چیزی که واقعاً نیاز داریم، همین ابزار .NET CLI و یک ویرایشگر
متن (حتی به سادگی
Notepad) است. اما طلبیعتاً استفاده از یک IDE قدرتمند مانند vscode که به یک پنجرهی ترمینال داخلی هم مجهز
است،
کار ما را خیلی راحتتر میکند.
هانطور که میدانید، در یک پنجرهی ترمینال، ابتکار عمل در دست موجودی است به نام Shell که کامندها را دریافت
کرده و یا اجرا میکند یا اینکه برای اجرا به سیستمعامل میدهد. این که ترمینال vscode از کدام شِل استفاده
میکند، به سیستمعاملی که استفاده میکنید، بستگی دارد.
در ویندوز، اگر PowerShell روی سیستم نصب باشد، به عنوان شِل پیشفرض ترمینال در vscode به کار گرفته میشود
و در غیر این صورت، Windows PowerShell شِل پیشفرض خواهد بود. توجه داشته باشید که Windows PowerShell نام
شِل کلاسیک مایکروسافت است که روی ویندوز نصب است اما PowerShell یک شِل مدرن و مستقل از پلتفرم است که به نصب
دستی نیاز دارد. PowerShell بر خلاف Windows PowerShell میتواند روی سیستمهای غیر ویندوزی هم نصب شود.
در لینوکس، شِل پیشفرض در ترمینال vscode به توزیع لینوکسی بستگی دارد اما در اکثر توزیعها این شِل bash
است.
در مکینتاش،شِل پیشفرض در ترمینال vscode به ورژن سیستمعامل بستگی دارد؛ برای ورژنهای جدیدتر zsh و برای
ورژنهای قدیمیتر bash.
اما شِل پیشفرض را میتوان به راحتی تغییر داد. برای این کار، ابتدا کلیدهای CTRL-SHIFT-P را فشار
دهید تا
Command Palette باز شود و سپس، عبارت Terminal: Select Default Profile را در آن وارد کنید. در ادامه،
میتوانید شِل مورد نظرتان را از لیست موجود انتخاب کنید تا جایگزین شِل فعلی شود. اگر Git را نصب کرده باشید،
شِل Git Bash نیز در این لیست دیده میشود و قابل انتخاب است. همچنین، اگر با استفاده از WSL از توزیعی مثل
Ubuntu روی ویندوز استفاده میکنید، گزینهی Ubuntu (WSL) نیز قابل انتخاب است که منجر به انتخاب شِل پیشفرض
Ubuntu یعنی bash میشود.