اگر شما هم معمولا کدها را در ChatGPT کپی و پیست میکنید تا بپرسید که چرا کار نمیکنند یا آن را بازنویسی میکنید و یا از AI میخواهید که به شما نحوه کار کردن کدها را توضیح دهد، به احتمال زیاد جابجایی بین ویرایشگر کد و ChatGPT برایتان کار جالبی نیست. در حال حاضر، ویرایشگرهای AI این مشکل را با ادغام مستقیم GPT در ویرایشگرهای کد حل کردهاند. یکی از مفیدترین، محبوترین و پرکاربردترین ویرایشگرهای کد، هوش مصنوعی cursor یا Cursor AI نام دارد. در این مطلب، قصد داریم به بررسی هوش مصنوعی cursor یا همان Cursor AI پرداخته و نحوه نصب آن بر روی ویندوز، macOS و لینوکس را یاد بگیریم و در ادامه، با ۱۰ مورد استفاده مختلف آن آشنا شویم.
Cursor AI چیست و چه کارهایی میتواند انجام دهد؟
Cursor AI یک ویرایشگر کد مبتنی بر هوش مصنوعی است که بهطور خاص برای آسانتر کردن مراحل توسعه نرمافزار طراحی شدهاست. این ویرایشگر یکی از شاخههای Visual Studio Code (که با نام اختصاری VS Code میشناسیم) است که با حفظ رابط کاربری دوستانه و اکوسیستم گسترده VSCode، کار را برای توسعهدهندگانی که با این پلتفرم آشنا هستند، راحتتر کردهاست.
Cursor AI قابلیتهای پیشرفته AI را از طریق ChatGPT و Claude ادغام میکند. این ادغام به Cursor AI اجازه میدهد تا ابزارهایی مانند پیشنهادات هوشمند کد، تشخیص خودکار خطاها و بهینهسازی داینامیک کد را به کاربرانش ارائه دهد.
ویژگیهای کلیدی تکمیل خودکار کد
Cursor دارای ویژگیهای کلیدی تکمیل خودکار و پیشبینی کد است. این ویژگیها عبارتنداز:
- تکمیل خودکار و پیشبینی (Autocomplete and code prediction): از این قابلیت برای پیشبینی ویرایشهای چندخطی براساس تغییرات اخیر استفاده میشود.
- تولید کد (Code generation): Cursor با آگاهی از تغییرات اخیر، پیشبینی میکند که ما چه کاری میخواهیم انجام دهیم و مطابق با آن، کد مناسب را پیشنهاد میدهد.
- ویرایشهای چندخطی (Multi-line edits): از این قابلیت برای پیشنهاد ویرایشهایی که شامل چند خط هستند، استفاده میشود.
- بازنویسی هوشمند (Smart rewrites): بااستفاده از این قابلیت، حتی اگر کد را با بیدقتی تایپ کنید، ویرایشگر میتواند کد شما را بهطور خودکار اصلاح کرده و بهبود بخشد.
- پیشبینی موقعیت نشانگر (Cursor prediction): این قابلیت پیشبینی میکند که نشانگر بعدی در کجا قرار خواهد گرفت و امکان ناوبری (توانایی حرکت بین صفحات، بخشها یا عناصر مختلف) آسان در کد را فراهم میکند.
ویژگیهای چت
همانطور که میدانید، کاربران با IP کشور ایران در استفاده از ابزارهای AI مانند ChatGPT دارای محدودیتهایی هستند و برای دور زدن این محدودیتها، باید از راهکارهای میانبر استفاده کنند. یکی از این راهکارها خرید vps است. با متصلشدن به VPS یک کشور خارجی، شما میتوانید مانند یک کاربر ساکن در آن کشور به اینترنت متصل شده و با IP ثابت از تمام خدماتی که برای شهروندان آن کشور مجاز هستند (مانند ChatGPT) استفاده کنید.
هوش مصنوعی cursor برای بهبود و راحتتر کردن تعامل با کاربرانش، ویژگیهای پیشرفته چت را ادغام کرده است. این قابلیتها عبارتنداز:
- پاسخهای مربوط به کد (Codebase answers): با کمک این قابلیت، میتوانید از Cursor درباره کد پایه سوال کرده و درصورت نیاز آن را جستجو کنید تا پاسخهای مرتبط را به شما ارائه دهد.
- ارجاع به کد (Code reference): بااستفاده از این قابلیت میتوانید به بلوکهای خاصی از کد یا فایلها ارجاع دهید و آنها را در متن دستورات کوئریهای خود ادغام کنید.
- پشتیبانی از تصاویر (Image support): میتوانید تصاویر را به صفحه چت درگ کرده (بکشید و رها کنید) و یا از دکمههای موجود برای افزودن محتوای بصری استفاده کنید.
- جستجوی وب (Web search): میتوانید بهراحتی آخرین اطلاعات را از اینترنت بهطور مستقیم به کوئریهای کد وارد کنید.
- اعمال فوری (Instant apply): بااستفاده از این قابلیت میتوانید کدهای پیشنهادشده را بهطور مستقیم با یک کلیک از چت به کدپایه وارد کنید.
- ادغام مستندات (Documentation integration): میتوانید کدتان را به کتابخانههای محبوب ارجاع داده و مستنداتتان را برای دسترسی سریع اضافه کنید.
اکثر توسعهدهندگانی که با تسکهای AI سروکار دارند، از قدرت پردازش بالای سرور هوش مصنوعی برای پردازش برنامههایشان استفاده می کنند. با کمک این سرور میتوانید انواع پردازشهای سنگین مانند آموزش شبکههای عصبی، یادگیری عمیق، شبیهسازیهای علمی و تحلیل دادههای بزرگ را بهراحتی انجام دهید.
چگونه Cursor AI را نصب کنیم؟
اول از همه، اگر میخواهید کدهایتان را بهراحتی و بدون هیچ مشکلی اجرا کنید، به شما توصیه میکنیم یک سرور GPU که دارای کارت گرافیک با قدرت پردازش بالاست را تهیه کنید. این سرور در مقایسه با سرورهای معمولی دارای واحد پردازش گرافیکی بسیار خوبی است و بااستفاده از آن میتوانید انواع مدلها با دیتاستهای بزرگ را اجرا کنید. پس از آن، میتوانید با خیال راحت بهسراغ نصب Cursor بروید.
Cursor AI یک فایل نصب برای لینوکس، ویندوز و macOS ارائه میدهد که میتوانید آن را بهصورت رایگان از وبسایت خودش دانلود کنید.
مانند تصویر بالا، برای نصب این فایل بر روی ویندوز و macOS، فقط کافی است از صفحه اصلی وبسایت Cursor آن را دانلود کرده و فایل دانلودشده را مانند هر برنامه دیگری نصب کنید.
در لینوکس، این نرمافزار بهصورت فایل AppImage وجود دارد و قبل از اجرا، باید آن را بااستفاده از دستور زیر قابلاجرا کنید:
chmod a+x cursor-0.40.3x86_64.AppImage
حالا میتوانید آن را با دستور زیر اجرا کنید:
./cursor-0.40.3x86_64.AppImage
البته بسته به نسخهای که دانلود کردهاید، باید نسخه فایل دانلودشده را با عبارت 0.40.3x86_64 جایگزین کنید.
پس از نصب این فایل، صفحه پیکربندی زیر برای شما ظاهر میشود:
پارامترهای پنجره بالا عبارتنداز:
- Keyboard: این گزینه به شما اجازه میدهد تا میانبرهای کیبورد را به دلخواه خودتان تنظیم کنید. حالت default یا همان پیشفرض، از میانبرهای VS Code استفاده میکند. درصورتی که با ویرایشگر کد دیگری در لیست آشنا هستید، میتوانید این گزینه را تغییر دهید.
- Language for AI: در اینجا میتوانید از یک زبان غیرانگلیسی برای تعامل با AI استفاده کنید.
- Codebase-wide: با فعالکردن این گزینه به AI اجازه میدهید تا متن و محتوای کلی کد پایه را درک کند.
- Add terminal command: درصورتی که ترمینال نصب شدهباشد، این گزینهها به ویرایشگر Cursor AI اجازه میدهند تا از طریق ترمینال اجرا شود.
چطور از Cursor AI استفاده کنیم؟ ۱۰ مورد استفاده رایج از Cursor AI
در این راهنما، از طریق کلید Cmd ⌘ به میانبرهای macOS دسترسی خواهیم داشت. درصورت استفاده از Cursor در ویندوز یا لینوکس، عملکرد این میانبرها مشابه macOS است، با این تفاوت که از کلید Ctrl استفاده میشود.
تولید کد درونخطی (Inline code generation)
برای بازکردن این قابلیت، از میانبر Cmd+K استفاده میکنیم. بااستفاده از این میانبر، یک پنجره کوچک باز میشود که در آن میتوانید یک درخواست (متن) را برای تولید کد وارد کنید.
برای تولید کد، درخواست خود را تایپ کرده و سپس روی دکمه generate کلیک کنید:
با انجام این کار، کد موردنظر شما تولید میشود و میتوانید با کلیک بر روی دکمه accept، آن را به پروژهتان اضافه کنید:
در این راهنما، ما از مدل cloude-3.5-sonnet استفاده کردهایم. شما میتوانید مانند تصویر زیر، مدل دیگری را بااستفاده از منوی کشویی مدل انتخاب کنید:
تعامل با کد موجود
بااستفاده از این قابلیت، میتوانید از چت درونخطی برای تعامل با کدی که نوشتهاید استفاده کنید. برای انجام اینکار، فقط کافی است کد مربوطه را انتخاب کرده و سپس از میانبر Cmd+K استفاده کنید. توسعهدهندگان از این قابلیت برای ایجاد تغییرات در کد مانند بازنویسی یا پرسیدن سوالات مختلف درباره کد موردنظرشان استفاده میکنند. پس از تایپ درخواست، با کلیک بر روی دکمه “Submit Edit” تغییرات انجامشده برای شما ظاهر میشود:
تغییرات کد در هوش مصنوعی cursor با نام اختصاری diff نمایش داده میشوند. در تصویر زیر، خطوط قرمز نشاندهنده خطوطی هستند که با تغییر حذف خواهند شد و خطوط سبز نمایانگر تغییرات جدیدی هستند که به کد اضافه میشوند:
پرسیدن سوالات مختلف درباره کد موجود
شما میتوانید سوالات مختلفی را درباره قطعه کدی که نوشتهاید بپرسید. برای انجام این کار فقط کافی است کد موردنظر را انتخاب کرده و از میانبر Cmd+K استفاده کنید. سپس، میتوانید با کلیک بر روی دکمه “Quick Question” سوال خود را تایپ کنید:
پس از تایپ و ارسال سوال، AI بهترین پاسخ ممکن را تولید کرده و بهصورت زیر نمایش میدهد:
تکمیل خودکار با کلید Tab
Cursor میتواند در حین نوشتن کد توسط شما، پیشنهادات تکمیل کد که بااستفاده از AI تولید شدهاند را برایتان ارسال کند. مشابه همان کاری که برای تکمیل کد در محیط VS Code میکنید، میتوانید از کلید Tab برای واردکردن این پیشنهادات به کد خود استفاده کنید.
بهعنوان مثال، فرض کنید قصد پیادهسازی یک تابع به نام ()maximum را دارید. هوش مصنوعی cursor قصد شما را شناسایی کرده و یک پیادهسازی مناسب را بهصورت هایلایتشده پیشنهاد میدهد. با فشار دادن کلید Tab، میتوانید کد پیشنهادی را به ادامه کدتان اضافه کنید:
همچنین، قابلیت تکمیل خودکار میتواند با کدی که به زبان طبیعی نوشته شدهاست نیز کار کند. بهعنوان مثال، اگر بخواهید یک حلقه for دوگانه برای تکرار بر روی تمام جفتها در یک لیست ایجاد کنید، میتوانید مانند تصویر زیر، این کار را به سادگی به زبان ساده توصیف کنید. سپس، Cursor پیشنهاد تکمیل خودکار مربوطه را ارائه میدهد و شما میتوانید با فشار دادن کلید Tab آن را با کدتان ادغام کنید:
مرور کلی رابط چت
از میانبر Cmd+L برای بازکردن پنجره چت استفاده کنید. پنجره چت نسبت به تولیدکننده درونخطی (inline generator) قابلیتهای بیشتری دارد و بااستفاده از آن نهتنها میتوانید کد موردنظرتان را تولید کنید، بلکه میتوانید تمام سوالاتتان را هم بپرسید. تصویر زیر، یک بررسی کلی از رابط چت و ابزارهای آن را نشان میدهد:
تولید کد با چت
مانند قابلیت تولید کد در چت درونخطی، میتوانید از چت برای تولید کد موردنظرتان استفاده کنید. برای اینکه کد تولیدشده در چت را به پروژهتان اضافه کنید، فقط کافی است بر روی دکمه “Apply” در گوشه بالا سمت راست پنجره کد کلیک کنید.
تقویت محتوای کوئری با @
یکی از مهمترین ویژگیهای پنجره چت، گزینه Mention@ است. این گزینه به شما اجازه میدهد تا اطلاعات دقیقتر و بیشتری به AI بدهید تا بتواند پاسخ بهتری برایتان تولید کند. این اطلاعات میتواند شامل فایلها و پوشههای ساده، لینک جستجوهای وب یا دادن دسترسی به یک مخزن GitHub باشد.
بهعنوان مثال، میتوانید مانند تصویر زیر از Web@ استفاده کنید تا به AI اجازه دهید تا برای تولید پاسخ بهتر، در وب جستجو کند:
حواستان باشد که در برخی موارد اشتراکگذاری کل کدپایه یا یک مخزن خصوصی GitHub با AI میتواند برایتان مشکلساز باشد؛ مخصوصا اگر خطر بهسرقت بردن اعتبار کد وجود داشتهباشد. همیشه مراقب باشید که چه اطلاعاتی را با AI بهاشتراک میگذارید و از اشتراکگذاری دادههای حساس یا خصوصی خودداری کنید.
سوالات code base
میتوانید خیلی سریع یک قطعه کد را با پرسیدن سوالی از code base پیدا کنید. اما این به چه معنی است؟! بهعنوان مثال، فرض کنید میخواهید یک تابع در یک پروژه پیدا کنید که دایرکشن ناوبری در یک اپلیکیشن را محاسبه میکند. با کمک Cursor، میتوانید آن را با توصیف عملکرد تابع پیدا کنید:
توجه داشته باشید که در اینجا از گزینه code base استفاده کردیم. با اینکه بنا به دلایلی هوش مصنوعی cursor کد واقعی را نمایش نداد، اما با کلیک بر روی باکس کد میتوانید فایل صحیح را باز کرده و تابعی که به دنبالش بودید را مشاهده کنید:
پشتیبانی از تصاویر
یکی از قابلیتهای خوب دیگر چت Cursor این است که از ورودیهای تصویری پشتیبانی میکند. بهعنوان مثال، میتوانید طراحی UI یک وبسایت را ترسیم کرده و از Cursor بخواهید کد HTML و CSS مربوطه را تولید کند. برای افزودن یک تصویر، میتوانید آن را به پنجره چت بکشید و رها کنید:
اضافه کردن مستندات
بااستفاده از هوش مصنوعی cursor میتوانید ارجاعات مستندات را بهراحتی اضافه کنید. این ویژگی مخصوصا برای کتابخانههای کمتر شناختهشده یا خصوصی که ممکن است در فرآیند آموزش AI استفاده نشدهباشند، بسیار مفید و کاربردی است.
برای اضافهکردن یک ورودی مستندات، مانند تصویر زیر ابتدا از نماد @ استفاده کرده و سپس “Docs” را از منوی کشویی انتخاب کنید:
با انجام اینکار یک پنجره باز میشود که از شما آدرس URL مستندات را میخواهد. در این مثال میخواهیم مستندات PyTorch را اضافه کنیم:
پس از واردکردن آدرس URL، میتوانید یک نام برای ورودی مستندات درنظر بگیرید. در اینجا ما از نام PyTorch استفاده کردیم. سپس، میتوانید بااستفاده از @PyTorch از این نام برای ارجاع به این مستندات در متن درخواست چت استفاده کنید.
همچنین میتوانید ارجاعات مستندات را در تب Features در بخش Cursor settings مدیریت کنید.
ویژگیها و مزایای دیگر Cursor AI
در ادامه به بررسی برخی دیگر از ویزگیها و مزیای هوش مصنوعی Cursor AI میپردازیم:
پشتیبانی از زبانهای برنامهنویسی مختلف
مثالهایی که در این مقاله نشان دادهایم به زبانهای پایتون، HTML و CSS بودند. با این وجود، هوش مصنوعی cursor بهطور خاص برای پشتیبانی از هیچ زبان خاصی ساخته نشده است؛ زیرا تولید کد آن براساس LLM عمومی است و میتواند کد را به هر زبان برنامهنویسی که بخواهید تولید کند. این نرمافزار از پسوند فایل برای حدس زدن زبان موردنظر شما استفاده میکند.
افزونهها
از آنجاییکه Cursor بر روی VS Code ساخته شدهاست، از اکوسیستم غنی افزونههای آن بینصیب نیست. شما میتوانید از منوی View به تمام این افزونهها دسترسی داشتهباشید.
همکاری با دیگران
دقیقا مشابه استفاده از ابزارهای همکاری مانند GIT با هر ویرایشگر کدی، میتوانید از Cursor با این ابزارها استفاده کنید. خوبی این ابزارها این است که به نحوه نوشتن کد وابسته نیستند. در هوش مصنوعی cursor افزونههایی را داریم که بهطور خاص برای کمک به Git طراحی شدهاند.
به یاد داشته باشید که چت هوش مصنوعی cursor به شما اجازه میدهد تا بااستفاده از عملگر @ از مخازن Git در متن استفاده کنید. درصورتی که مخزن حاوی دادههای خصوصی است، باید مراقب باشید و این کار را با احتیاط انجام دهید.
تنظیم قوانین سفارشی AI
Cursor به شما اجازه میدهد تا AI را بااستفاده از قوانین خاص خودتان راهنمایی و تنظیم کنید. این قوانین در منوی تنظیمات عمومی قابلدسترسی هستند:
بااستفاده از این قوانین میتوانید یکبار برای همیشه رفتار AI را بدون نیاز به درخواست مکرر تغییر دهید. بهعنوان مثال، میتوانید AI را با دستوری مانند « Always use type hints in Python function definitions. » طوری تنظیم کنید که همیشه از نوع hint در Python استفاده کند.
مدلهای سفارشی AI
ویژگی جالب دیگر Cursor این است که شما در آن قادر به اضافهکردن مدلهای AI دیگر هستید. این گزینه در تنظیمات Models وجود دارد:
در این قسمت میتوانید مدلهای جدیدی اضافه کنید. همچنین، در قسمت پایین تنظیمات امکان اضافهکردن کلیدهای API را هم دارید.
Cursor AI در مقابل GitHub Copilot
Cursor AI و GitHub Copilot هر دو دستیاران کد مبتنی بر AI هستند و هر کدام ویژگیهای منحصربهفرد خود را دارند.
هوش مصنوعی cursor بر روی VSCode ساخته شدهاست و بهعنوان یک ویرایشگر مستقل کار میکند. این نرمافزار با ادغام با محیط کدنویسی، امکان خودکارسازی وظایف را به کاربرانش میدهد و با قابلیت پیشنهادات کد فوقالعادهای که دارد، به سادهسازی نوشتن و بازنویسی کد کمک میکند. توسعهدهندگانی که ترجیح میدهند از ادغام AI با یک IDE آشنا استفاده کنند، معمولا بهسراغ این ابزار میروند.
ابزار GitHub Copilot که توسط GitHub و OpenAI توسعه یافتهاست نیز با ویرایشگرهای کد محبوبی مانند Visual Studio Code ادغام میشود. پیشنهادات کد مبتنی بر محتوای این ابزار براساس سبک کدنویسی و زمینه پروژه کاربر ارائه میشود. GitHub Copilot در پیشبینی خطوط بعدی کد نسبت به Cursor AI برتری دارد و از طیف وسیعی از زبانهای برنامهنویسی و فریمورکها پشتیبانی میکند.
هوش مصنوعی cursor سفارشیسازی قابلتوجهی را در محیط مستقل مبتنی بر VSCode خود ارائه میدهد و میتواند برای برخی کاربران که با این محیط آشنا هستند، راحتی بیشتری را بههمراه داشتهباشد. در مقابل، GitHub Copilot به خاطر راهاندازی آسان و ادغام با انواع IDE پرکاربرد شناخته شدهاست و به همین دلیل، در بین بسیاری از توسعهدهندگان محبوبیت بالایی دارد.
هر دو ابزار دارای قابلیتهای بسیار خوبی مانند پیشنهادات کد بلادرنگ و پشتیبانی از چندین زبان و فریمورک هستند. Cursor AI به خاطر ادغام عمیقاش برای وظایف تخصصی بهتر است. این در حالی است که پشتیبانی گسترده GitHub Copilot از انواع مختلف IDE و راهاندازی سادهاش، آن را برای طیف گستردهتری از کاربران مناسب کردهاست.
درنهایت، هوش مصنوعی cursor و GitHub Copilot بهدنبال بهبود و تسهیل کدنویسی به روشهای مختلف هستند و اینکه باید از بین این دو ابزار کدام یک را انتخاب کنید به عوامل مختلفی مانند نیازهای سفارشیسازی، ترجیحات ادغام و بودجه پروژه شما بستگی دارد.
نتیجهگیری
ابزارهایی مانند ChatGPT برنامهنویسی را بسیار راحتتر و سریعتر کردهاند؛ زیرا به کاربران این امکان را میدهند که تنها با توضیح ساده اهداف خود به زبان طبیعی، کدهای موردنظرشان را در کمترین زمان ممکن بنویسند، آنها را بازنویسی کرده و حتی اشکالزدایی کنند. Cursor این روند را یک قدم جلوتر میبرد و بهطور مستقیم با ویرایشگر کد ادغام میشود و دیگر نیازی نیست که کد خود را در رابط چت کپی/پیست کنید.
هوش مصنوعی cursor یک راهحل مستقل جامع است که بهطور خاص برای ادغام عمیق در محیط کدنویسی VSCode طراحی شدهاست. در مقابل، ابزارهای دیگری مانند GitHub Copilot را داریم که تنوع بیشتری در ادغام با انواع IDE محبوب ارائه میدهند. اینکه باید از بین این ابزارها کدام یک را انتخاب کنید به عوامل مختلفی مانند نیازها و ترجیحات فردی برای سفارشیسازی و راحتی راهاندازی بستگی دارد.
سوالات متداول
Cursor AI چیست؟
ابزار Cursor AI یک ویرایشگر کد مبتنی بر AI است که با هدف سادهسازی و بهبود فرآیند کدنویسی طراحی شدهاست. این نرمافزار از AI برای بکارگیری ویژگیهای پیشرفتهای مانند تکمیل هوشمند کد، تولید کد و درک کدپایه استفاده میکند.
چطور میتوانم ابزار AI را در ویرایشگر Cursor باز کنم؟
میتوانید بااستفاده از میانبرهای کیبورد مانند Ctrl+K یا با تعامل با قطعات خاص کد، اقداماتی از AI را فعال کنید. بهعنوان مثال، با انتخاب کد و فشار دادن Ctrl+K میتوانید کد را ویرایش کرده و یا کد جدیدی را براساس توضیحات خود تولید کنید.
آیا Cursor رایگان است؟
بله، Cursor یک ابزار رایگان با ویژگیهای فوقالعاده AI است. البته یک طرح Pro با قابلیتهای اضافی مانند دسترسی به مدلهای AI قویتر و پنجرههای محتوای گستردهتر برای درک عمیقتر کد وجود دارد که با خرید آن میتوانید کدنویسی را سادهتر کنید.
آیا Cursor از Claude استفاده میکند؟
بله، Cursor از Claude 3 Opus و Claude 3.5 Sonnet (مدل پریمیوم) استفاده میکند.
آیا Cursor براساس VSCode ساخته شدهاست؟
با اینکه Cursor با VSCode دارای شباهتهای بصری زیادی است، اما بر روی کدبیس مستقل خود ساخته شدهاست. این ویژگی به Cursor اجازه میدهد تا بهطور خاص معماریاش را برای ویژگیهای کدنویسی مبتنی بر AI بهینهسازی کند.