عکس از Mathew Schwartz در Unsplash.
عکس از Mathew Schwartz در Unsplash.

بررسی Warp برای ویندوز توسط توسعه‌دهنده: یک ترمینال هوش مصنوعی

تصویری از صفحه انتخاب پوسته در Warp
تصویری از صفحه انتخاب پوسته در وارپ

درحالی‌که من مدتی است که از ترمینال Warp در مک‌بوک خود استفاده می‌کنم، همیشه یک مشکل وجود داشته است: هیچ‌وقت نسخه‌ای برای ویندوز نداشت.

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

بنابراین من همیشه می‌خواستم یک ترمینال داشته باشم که بتوان از آن در همه‌جا استفاده کرد. در نهایت، Warp برای ویندوز ظهور کرده است. و اگرچه هنوز کاملاً برای استفاده‌ی گسترده آماده نیست، اما در حال حاضر قدرت ویرایش مدرن Warp را به ویندوز ارائه می‌دهد.

دستگاه ویندوز توسعه‌ی من یک جعبه پردازنده قدیمی AMD Phenom II است که ویندوز 10 را اجرا می‌کند. مایکروسافت با افتخار به من می‌گوید که چون این دستگاه برای اجرای ویندوز 11 بسیار قدیمی است، به‌زودی فقط برای ضایعات مناسب خواهد بود. اما خوشبختانه تمام ابزارهای توسعه‌ی من را اجرا می‌کند. بااین‌حال، تا امروز، به دلیل مشکل شناخته‌شده‌ی تراشه قدیمی (سازگاری SSE4.1)، نمی‌توانست Warp را اجرا کند. اما انتظار داشتم که کار کند - ازاین‌گذشته، دستگاه من Fortnite را نیز اجرا می‌کند.

مشکل دیگر ویندوز این است که پوسته فرمان اصلی (CMD) توسط Warp پشتیبانی نمی‌شود، زیرا برای ادغام با آن بسیار ابتدایی است. اما قبل از اینکه به این موضوع بپردازیم، ابتدا Warp را برای ویندوز راه‌اندازی کنیم.

دیگر نیازی به ورود به سیستم نیست. من قبلاً این واقعیت را که Warp به‌عنوان یک شرکت اداره می‌شود، تحسین کرده‌ام، اما ورود به سیستم باعث دلسردی بسیاری از افراد شده بود. اگر بدون قید و شرط این کار را شیطانی می‌دانید، احتمالاً به‌هرحال با پروژه Warp همسو نبوده‌اید. اما اکنون، فقط چند وظیفه توسعه‌یافته نیاز به ورود به سیستم دارند.

خروجی دستور tree در Warp
خروجی دستور tree در وارپ

برای شروع یک جلسه، یک تب را باز می‌کنیم و سپس پوسته‌ای را که می‌خواهیم استفاده کنیم، انتخاب می‌کنیم. می‌توانید ببینید که Warp هم PowerShell و هم اولویت نصب‌شده‌ی من را که پوسته Git Bash است، تشخیص می‌دهد. پوسته Git Bash موردعلاقه‌ی توسعه‌دهندگان است زیرا امکان ادغام مناسب دستورات شبه یونیکس را برای استفاده با git فراهم می‌کند. متأسفانه، این پوسته برای من کار نکرد، اما برای دیگران کار کرده است و به‌طور کامل توسط تیم پشتیبانی می‌شود. در ماشین‌های جدیدتر، می‌توانید از Windows Subsystem for Linux (WSL) در Warp نیز استفاده کنید.

اکثر توسعه‌دهندگان چیز زیادی در مورد PowerShell یاد نگرفته‌اند، زیرا نسبتاً مبهم و ناخوشایند است. بااین‌حال، دارای چند نام مستعار یونیکس است که خوب است. این موضوع ما را به نحوه‌ی استفاده Warp از هوش مصنوعی می‌رساند. مانند اکثر توسعه‌دهندگان، من در مورد استفاده از مدل‌های بزرگ زبان (LLMs) ملاحظاتی دارم، اما آن‌ها در دنیای پر از پرچم‌های گزینه‌ی سیستم‌عامل‌ها بسیار مفید هستند. بیایید ببینیم که چگونه کار می‌کند.

برای اکثر کاربران ویندوز، قابلیت استفاده از بلوک‌های Warp که دستورات و پاسخ‌ها را بسته‌بندی می‌کنند و امکان ویرایش کامل را فراهم می‌کنند، بزرگ‌ترین لذت خواهد بود. به‌عنوان‌مثال، اگر من به‌سادگی tree را در یک دایرکتوری ریشه تایپ کنم، پاسخ طولانی 38 ثانیه‌ای را در یک بلوک قرار می‌دهد، اما کل پوسته را غیرقابل‌استفاده نمی‌کند:

پرسش از هوش مصنوعی Warp در مورد دستور tree
پرسش از هوش مصنوعی وارپ در مورد دستور tree

من هنوز هم فکر می‌کنم Warp بیش‌ازحد با هوش مصنوعی همه‌جانبه شده است، اما در این مثال می‌خواستم کمی بیشتر با tree کار کنم، بنابراین از یک اعلان برای صحبت به سبک چت با LLM استفاده کردم:

اجرای دستور پیشنهادی توسط هوش مصنوعی
اجرای دستور پیشنهادی توسط هوش مصنوعی

این یک سؤال کمی جعلی است، زیرا tree قبلاً دایرکتوری‌ها را نشان می‌دهد اما آن‌ها را چاپ نمی‌کند. توجه کنید که چگونه LLM (در این مورد Claude Sonnet) با خودش در مورد کاری که می‌تواند انجام دهد استدلال می‌کند و پاسخی را نشان می‌دهد که می‌توانم از آن استفاده کنم. سپس می‌توانم آن را اجرا کنم، اگر بخواهم:

اعمال دستورات با کلیک راست در Warp
اعمال دستورات با کلیک راست در وارپ

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

جستجو در بلوک خروجی
جستجو در بلوک خروجی

بنابراین می‌توانم با استفاده از «جستجو در بلوک» جستجو کنم و در این مثال فقط به دنبال دنباله «time» می‌گردم:

پیشنهاد تکمیل دستور در Warp
پیشنهاد تکمیل دستور در وارپ

این همه مفید بود، زیرا من هیچ تمایلی به یادگیری PowerShell ندارم. اما Warp مزایای بسیار ساده‌تری را ارائه می‌دهد - مانند تکمیل‌های پیشنهادی. در این مثال من به‌اشتباه درخواست کمک می‌کنم و Warp آنچه را که واقعاً نیاز دارم پیشنهاد می‌کند:

پیشنهاد دایرکتوری در Warp
پیشنهاد دایرکتوری در وارپ

به‌طور مشابه، هنگام تایپ دایرکتوری‌ها، Warp به‌طور هوشمندانه مداخله می‌کند تا جایگزین‌های موجود را پیشنهاد دهد:

مدیریت تب‌ها در Warp
مدیریت تب‌ها در وارپ

این‌ها چیزهای نسبتاً ساده‌ای هستند که یک پوسته فرمان باید همیشه ارائه می‌داد و Warp در نهایت به ما می‌دهد.

همان‌طور که هنگام بررسی Ghostty اشاره کردم، کنترل جلسات با تب‌ها یک مزیت بزرگ است و این کار بسیار شبیه مک‌بوک من است. به‌عنوان‌مثال، برای تغییر نام یا اعمال رنگ‌ها به تب‌ها، کافی است راست کلیک کنید:

(بله، آن پوشه مربوط به سال 2012 است)

Warp Drive and Workflows
Warp Drive and Workflows

Warp Drive و Workflows را قبلاً پوشش داده‌ام، اما آن‌ها سرمایه‌گذاری‌های زمانی در سیستم Warp هستند که ممکن است ارزش انجام دادن را داشته باشند. این‌ها به شما امکان می‌دهند دستورات پارامتری شده را نام‌گذاری و ذخیره کنید و آن‌ها را در یک تیم به اشتراک بگذارید. به‌عنوان‌مثال، به اشتراک گذاشتن عبارات git مشابه در یک تیم ایده خوبی است:

این امکان احتمالاً برای DevOps بسیار مفید است، زمانی که تعدادی از اعضای تیم با سطوح مهارت مختلف نیاز به اجرای دستورات در تعدادی از سیستم‌ها دارند.

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

لوگوی Warp
لوگوی وارپ