نحوه باز کردن ریپازیتوری در VS Code بدون کلون کردن آن

شنبه 5 تیر 1400

اکنون می‌توانید هر چیزی (که به آن دسترسی دارید) را مستقیما از VS Code با اکستنشن رسمی Remote Repositories در گیت هاب باز کنید. و منظور ما این است که بدون کلون کردن (clone) این کار را انجام دهید. بدون دانلود.

نحوه باز کردن ریپازیتوری در VS Code بدون کلون کردن آن

بیاید بررسی کنیم که چگونه اکستنشن Remote Repositories برای VS Code به شما امکان می‌دهد بدون نیاز به کلون کردن چیزی به راحتی با هر پروژه‌ای در گیت‌هاب تعامل داشته باشید.

نحوه نصب اکستنشن Remote Repositories

ابتدا باید اکستنشن Remote Repositories گیت هاب را برای Visual Studio Code نصب کنید.

گزینه جدیدی را برای "Open Remote Repository" خواهید دید.

اگر اکستنشن‌های ریموت دیگری برای VS Code نصب کرده‌اید، گزینه‌های بیشتری در این لیست مشاهده خواهید کرد، بنابراین فقط گزینه مناسب را جستجو کنید.

اگر کلیک کردن بر روی موارد مختلف با موس برای شما سخت است می‌‌توانید از Command Palette نیز به این گزینه برسید.

اگر این مورد را در کلیپ بورد خود کپی کرده‌اید می‌توانید آن را در URL پیست کنید یا می‌توانید با انتخاب "Open Repository from GitHub" به گیت هاب بپردازید. گزینه سوم به شما امکان می‌دهد برنچ Pull Request را باز کنید تا بتوانید وانمود کنید که آن را کاملا بررسی می‌کنید.

VS Code دوباره باز می‌شود و آن ریپازیتوری را دقیقا مانند کار کردن با آن به صورت لوکال خواهید دید. اما آن را بر روی گیت هاب از طریق پنجره VS Code بررسی می‌کنید.

می‌بینید که شما در "Restricted Mode" هستید.

این بخشی از تنظیمات جدید فضای کار مطمئن در VS Code است.

به طور پیش‌فرض، VS Code اکنون تسک‌ها، دیباگینگ، برخی از تنظیمات workspaceها و هر اکستنشنی که ممکن است اولین باری که فولدر را باز می‌کنید چیزی را اجرا کنید را غیرفعال می‌کند. شما باید به VS Code بگویید که این جالب است، شما این کد را می‌دانید و به آن اعتماد دارید و 100% مطمئن هستید که oil pipeline شما را خاموش نمی‌کند.

بسیار خوب، هشدارهای امنیتی ترسناک منفصل شده است، اینجا چه کاری می‌توانیم انجام دهیم؟

نحوه کار با Remote Repository

شما دارای قابلیت ویرایش کامل هستید با این تفاوت بزرگ که نیازی به ذخیره چیزی ندارید. تغییرات شما فقط هنگام رفتن ذخیره می‌شوند.

آن‌ها به طور خودکار به گیت هاب کامیت نمی‌شوند. برای اینکه تغییرات در ریپازیتوری ذخیره شوند، باید آن‌ها را ازsource control  کامیت کنید.

مجبور نیستید آن‌ها را push کنید زیرا از قبل در گیت هاب هستند. یک کامیت یک کامیت است، نیازی به push نیست. این همان چیزی است که فایل را مستقیما در گیت هاب ویرایش کنید.

تا آنجا که ویرایش پیش می‌رود، شما بیشتر از آنچه که در VS Code انتظار دارید را به دست می‌آورید.

Intellisense مخصوص زبان کار می‌کند. مثلا اگر نوشتنfetch  را شروع کرده اید، VS Code به شما کمک می‌کند زیراfetch  را می‌شناسد.

اما در فایل‌های پروژه‌ای که VS Code هنگام اجرای پروژه به صورت لوکال به شما می‌دهد intellisense را ندارید.

مثلا به صورت لوکال، وی اس کد useEffect را می‌شناسد که از ایمپورت react می‌آید. این را می‌شناسد چون ایمپورتی که یک ماژول node است را بررسی می‌کند.

اما با Remote Repositories ما مستقیما گیت هاب را بررسی می‌کنیم و فولدر node_modules هرگز به گیت هاب پوش نمی‌شود. بنابراین intellisense برای useEffect وجود ندارد زیرا این کد در واقع در ریپازیتوری وجود ندارد.

شما می‌توانید از مواردی مثل Emmet برای ساخت HTML استفاده کنید و از پیش نمایش Markdown صفحه تقسیم شده زیبایی برخوردار می‌شوید.

همچنین می‌توانید از "Find" و "Find in Files" استفاده کنید.

بسیاری از مواردی که به صورت لوکال کار می‌کنند وقتی مستقیما در گیت هاب به یک پروژه کانکت می‌شوند، به همان روش کار می‌کنند، اما درک اینکه همه این‌ها چگونه کار می‌کنند تا حدودی انتظار شما را روشن می‌کند.

چطور به Full VS Code سوئیچ کنیم

اگر همین حالا روی دکمه سبز بخش سمت چپ نوار وضعیت کلیک کنید که می‌گوید "GitHub" گزینه‌ای برای "Continue Working On" را مشاهده خواهید کرد.

این گزینه به شما امکان می دهد پروژه را به صورت لوکال کلون کنید، یا آن را در GitHub Codespace باز کنید.

اگر در Codespaces Beta هستید، می‌توانید ریپازیتوری را در Codespace باز کیند. این VS Code در حال اجرا در مرورگر است، اما توسط یک محیط محاسباتی پشتیبانی می‌شود که در آن می‌توانید هر چیزی را دقیقا مانند آنچه در دسکتاپ بود اجرا کنید. این به این دلیل کار می‌کند که VS Code به طور اصلی به عنوان یک برنامه وب طراحی شده است.

یا به صورت لوکال کلون کنید! اکنون فولدر "Documents" شما در OneDrive بک آپ می‌گیرد و 900 ترابایت node_modules در آن وجود دارد. اکنون 920 است.

جالب است، اما چرا؟

سوال طبیعی که ممکن است در حال حاضر از خود بپرسید این است "بسیار عالی! اما چرا من به این نیاز دارم؟"

سوال خوبی است.

سناریوهای زیر را در نظر بگیرید:

شما می‌خواهید یک ریپازیتوری گیت هاب را بررسی کنید و به کد نگاه کنید. GitHub یک سایت عالی است، اما بهترین روش برای جستجوی سریع فایل‌ها و بررسی پروژه نیست. شما برای این کار واقعا به یک ادیتور نیاز دارید و Remote Repositories زحمت و دردسر و مرحله کلون کردن را برمی‌دارد تا به سادگی کد را بررسی کنید.

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

شما در حال کار بر روی Markdown هستید. اگر در حال کار بر روی مستندات، READMEها یا Markdown دیگری در گیت هاب هستید، دیگر نیازی به کلون کردن ریپازیتوری به صورت لوکال برای انجام این کار نیستید. در صورت عدم اجرای یک سرور لوکال برای پیش نمایش Markdown، استفاده از پیش‌ نمایش داخلی راهی بسیار سریع‌تر برای انجام سریع تر 5k کلمه در مورد API شما است.

جمع بندی

اکنون که Remote Repositories را دارید، می‌توانید فولدرdev  را پاک کنید. فقط کلیک راست کنید و آن را حذف کنید.

Remote Repositories یکی از چندین روش برای توسعه از راه دور با VS Code است.  

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

نویسنده 3256 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید