هوش مصنوعی Cursor همراه با 10 مثال عملی
خیلی از برنامه نویسان اغلب کدها را در ChatGPT کپی و پیست میکنند تا بپرسند چرا کار نمیکند، آن را اصلاح نموده یا به سادگی آن را برایشان توضیح بدهد. با این حال، تغییر بین ویرایشگر کد و ChatGPT ممکن است کمی خسته کننده باشد.
ویرایشگرهای هوش مصنوعی این مشکل را با ادغام GPT به طور مستقیم در ویرایشگرهای کد، حل میکنند. با ادغام مستقیم با کد ، GPTها کانتکست بیشتری را در مورد پروژه کلی به دست میآورند که به طور قابل توجهی خروجی آنها را افزایش میدهد.
در این مطلب، Cursor AI را به عنوان یکی از محبوبترین ویرایشگرهای کد بررسی میکنیم که مورد اعتماد مهندسان OpenAI و Perplexity است و کدنویسی به کمک هوش مصنوعی، پیشنهاد کد هوشمند و ادغام با ابزارهای مختلف توسعه را ارائه میدهد.
هوش مصنوعی Cursor چیست و چه کاری میتواند انجام دهد؟
Cursor AI یک ویرایشگر کد مبتنی بر هوش مصنوعی است که برای تسهیل توسعه نرم افزار طراحی شده است. به عنوان یک انشعاب (fork) از کد ویژوال استودیو (VS Code)، رابط کاربر پسند و اکوسیستم گسترده VS Code را حفظ نموده که کار را برای توسعه دهندگانی که قبلا با پلتفرم آشنا هستند، آسانتر میکند.
Cursor AI قابلیتهای پیشرفته هوش مصنوعی را از طریق ChatGPT و Claude OpenAI یکپارچه میکند. این ادغام به هوش مصنوعی Cursor اجازه میدهد تا پیشنهادات کد هوشمند، تشخیص خودکار خطا و بهینه سازی کد پویا را ارائه دهد.
ویژگیهای کلیدی تکمیل خودکار (autocompletion )
Cursor ویژگیهای کلیدی تکمیل خودکار (autocompletion) و پیش بینی کد (predictive code) را ارائه میدهد:
- تکمیل خودکار(Autocomplete) و پیشبینی کد (code prediction): Cursor عملکرد تکمیل خودکار را ارائه میکند که ویرایشهای چند خطی را پیشبینی و بر اساس تغییرات اخیر تنظیم میکند.
- تولید کد(Code generation): با تغییرات اخیر آشنا است، Cursor پیش بینی میکند که چه کاری میخواهیم انجام دهیم و کدی را بر اساس آن پیشنهاد میکند.
- ویرایش های چند خطی(Multi-line edits): می تواند ویرایشهایی را پیشنهاد کند که چندین خط را در بر میگیرند.
- بازنویسیهای هوشمند(Smart rewrites): ویرایشگر میتواند به طور خودکار کد ما را تصحیح و بهبود بخشد، حتی اگر بیدقت تایپ کنیم.
- پیشبینی مکاننما (Cursor prediction): موقعیت مکاننمای بعدی را پیشبینی و امکان پیمایش یکپارچه در کد را فراهم میکند.
ویژگیهای چت
Cursor همچنین ویژگیهای پیشرفته چت را برای تسهیل تعامل بهتر ادغام میکند:
- پاسخهای Codebase: از Cursor در مورد کدبیس کوئری بپیرید تا در میان فایلها جستجو تا پاسخ های مرتبط را ارائه دهد.
- مرجع کد: ارجاع به بلوکهای خاص کد یا فایلها، ادغام آنها در زمینه پرس و جوهای ما.
- پشتیبانی از تصویر: تصاویر را به چت بکشید یا از دکمهها برای افزودن زمینه بصری استفاده کنید.
- جستجوی وب: جدیدترین اطلاعات را از اینترنت مستقیم در جستجوی کد دریافت کنید.
- درخواست فوری: پیشنهادات کد را از چت مستقیم در پایگاه کد با کلیک یک دکمه پیاده سازی کنید.
- یکپارچه سازی اسناد: به کتابخانههای محبوب مراجعه و اسناد خود را برای دسترسی سریع اضافه کنید.
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
آموزش نصب Cursor AI
Cursor AI یک فایل نصبی برای Linux، Windows و MacOS ارائه میکند که میتوان آن را به صورت رایگان از وبسایت آنها دانلود کرد.
برای نصب آن در ویندوز و MacOS، آن را از صفحه اصلی، دانلود نموده و فایل دانلودی را مانند هر برنامه دیگری نصب میکنیم.
در لینوکس، به عنوان یک فایل AppImage ارائه میشود. قبل از اجرای آن، باید آن را با استفاده از:
chmod a+x cursor-0.40.3x86_64.AppImage
سپس، می توانیم آن را با استفاده از:
./cursor-0.40.3x86_64.AppImage
بسته به اینکه کدام نسخه دانلود شده است، ممکن است لازم باشد نسخه 0.40.3x86_64 را در دستورات بالا جایگزین کنیم. برای دستورالعملهای بیشتر در مورد نحوه نصب فایلهای ایمیج برنامه، وب سایت آنها را بررسی کنید.
پس از نصب، صفحه پیکربندی زیر از ما خواسته می شود:
- Keyboard: این گزینه به ما امکان میدهد میانبرهای صفحه کلید را پیکربندی کنیم. به طور پیش فرض، از میانبرهای VS Code استفاده میکند، که توصیه میکنم مگر اینکه با ویرایشگر کد دیگری در لیست آشنا باشید.
- Language for AI: این گزینه را داریم که از زبان غیر انگلیسی برای تعامل با هوش مصنوعی استفاده کنیم.
- Codebase-wide: فعال کردن این گزینه به هوش مصنوعی اجازه میدهد تا موضوع کل پایگاه کد را درک کند.
- Add terminal command: در صورت نصب، به ویرایشگر هوش مصنوعی Cursor اجازه میدهد تا از ترمینال اجرا شود.
10 مثال برای آموزش استفاده از Cursor AI
در سراسر این راهنما، میانبرهای MacOS را با کلید⌘ Cmd ارائه میدهیم. اگر از Cursor در ویندوز یا لینوکس استفاده میکنید، میانبرها یکسان هستند، فقط به جای آن از کلید Ctrl استفاده میشود.
تولید کد درون خطی (Inline)
ما از میانبر Cmd+K برای باز کردن inline code generator استفاده میکنیم. با این کار یک پنجره کوچک باز میشود که در آن یک اعلان برای تولید کد وارد می کنیم:
برای تولید کد، یک اعلان تایپ نموده و سپس بر روی دکمه generate کلیک میکنیم:
کد شروع به تولید میکند و ما آن را با کلیک روی دکمه accept به پروژه خود اضافه میکنیم:
در این مورد از مدل cloud-3.5-sonnet استفاده کردیم. ما می توانیم مدل دیگری را با استفاده از سلکتور dropdown انتخاب کنیم:
تعامل با کد موجود (Interact with existing code)
همچنین می توانیم از چت درون خطی (اینلاین) برای تعامل با کدهای موجود با انتخاب کد مربوطه قبل از استفاده از میانبر Cmd+K استفاده کنیم. این را میتوان برای ایجاد تغییرات در کد، مانند refactoring، یا پرسیدن سوالات در مورد کد استفاده کرد. پس از تایپ دستور، روی دکمه Submit Edit کلیک میکنیم تا تغییرات را دریافت کنیم:
تغییرات کد در Cursor به صورت یک تفاوت ارائه میشود. خطوط قرمز نشان دهنده خطوطی هستند که با تغییر حذف میشوند، در حالی که خطوط سبز نشان دهنده تغییرات جدیدی هستند که اضافه میشوند:
پرسیدن سوال در مورد کد موجود
به همین ترتیب، میتوانیم با انتخاب یک کد و استفاده از میانبر Cmd+K در مورد آن سوال بپرسیم. در مورد سوال، روی دکمه quick question کلیک میکنیم تا درخواست ارسال شود:
پس از ارسال سوال، سیستم پاسخ را تولید کرده و به صورت زیر نمایش میدهد:
تکمیل خودکار با tab
در حین نوشتن کد،Cursor تکمیل کدهای ایجاد شده با استفاده از هوش مصنوعی را پیشنهاد میکند. مشابه تکمیل کد سنتی، میتوانیم از کلید Tab برای گنجاندن این پیشنهادات در کد خود استفاده کنیم.
به عنوان مثال، فرض کنید ما شروع به پیاده سازی تابعی به نام maximum() میکنیم. Cursor قصد ما را تشخیص داده و اجرای مناسب را پیشنهاد میکند. با فشردن Tab میتوانیم کد پیشنهادی را اضافه کنیم:
نمای کلی رابط چت
برای باز کردن پنجره چت، از میانبر Cmd+L استفاده کنید. پنجره چت نسبت به inline generator تطبیق پذیرتر است، زیرا به ما اجازه میدهد نه تنها کد تولید کنیم بلکه سوال بپرسیم. در اینجا یک نمای کلی از رابط چت است:
تولید کد با چت
مشابه تولید با چت درون خطی، میتوانیم با استفاده از ویژگی چت، کد تولید کنیم. کد تولید شده در چت را میتوان با کلیک بر روی دکمه Apply در گوشه سمت راست بالای پنجره کد در پروژه، ادغام کرد.
بهبود کانتکست کوئری با @
شاید مهمترین ویژگی پنجره چت گزینه Mention@ باشد. این گزینه ما را قادر میسازد تا دادههای بیشتری را برای هوش مصنوعی ارائه دهیم تا پاسخ را ایجاد کند، از فایلها و پوشههای ساده گرفته تا جستجوهای وب یا دسترسی هوش مصنوعی به مخزن GitHub را شامل میشود.
برای مثال، میتوانیم از Web@ استفاده کنیم تا به هوش مصنوعی اجازه دهیم تا پاسخ را در وب جستجو کند.
به خاطر داشته باشید که در برخی موارد ممکن است اشتراک گذاری کل code base یا یک مخزن خصوصی GitHub با هوش مصنوعی مشکل ساز باشد. ما باید مراقب آنچه با هوش مصنوعی به اشتراک میگذاریم باشیم و از به اشتراک گذاری دادههای حساس یا خصوصی خودداری کنیم.
سوالات code base گلوبال
در قسمت چت Cursor AI، قابلیت استفاده از codebase به شما امکان میدهد تا با کل پروژه برنامهنویسی تعامل کنید و سوالات خود را مستقیم در ارتباط با تمام کدهای پروژه مطرح کنید. برای مثال، فرض کنید میخواهید بدانید که یک تابع خاص (مثل UserContext) در چه جاهایی از پروژه استفاده شده است. در این حالت، میتوانید از دستور codebase@ در چت Cursor استفاده کرده و عبارت «همه موارد استفاده تابع UserContext را پیدا کن» را بنویسید تا ابزار تمام نمونههای استفادهشده از این تابع را در کد شما شناسایی کند. این ویژگی به شما اجازه میدهد تا بدون جستجوی دستی، بهسرعت به بخشهای مرتبط کد دسترسی داشته باشید و تغییرات لازم را در سراسر پروژه اعمال کنید.
پشتیبانی از تصویر
چت Cursor از ورودیهای تصویر پشتیبانی میکند. برای مثال، میتوانیم یک طراحی UI برای یک وبسایت ترسیم نموده و بخواهیم کد HTML و CSS را برای آن تولید کند. برای افزودن یک تصویر، میتوانیم آن را در پنجره چت کشیده و رها کنیم.
افزودن مستندات
یکی از ویژگیهای بسیار مفید Cursor AI امکان افزودن مراجع مستندات است. این امر به ویژه برای کتابخانههای کمتر شناخته شده یا خصوصی که ممکن است از اسناد آنها در فرآیند آموزش هوش مصنوعی استفاده نشده باشد، مفید است.
برای افزودن یک ورودی مستندات، از نماد @ استفاده مینمائیم و سپس Docs را از منوی کشویی انتخاب میکنیم:
مراجع اسناد را می توان در تب Features از تنظیمات Cursor نیز مدیریت کرد.
ویژگیها و مزایای اضافی Cursor
پشتیبانی از زبان
نمونههایی که در این مقاله نشان دادیم در پایتون، HTML و CSS بودند. اما Cursor برای پشتیبانی از زبان خاصی ساخته نشده است. از آنجا که تولید کد آن بر اساس LLM های همه منظوره است، Cursor میتواند کد را در هر زبان برنامه نویسی تولید کند. از پسوند فایل برای حدس زدن زبانی که باید استفاده شود استفاده مینماید.
برنامه های افزودنی
از آنجا که Cursor بر روی VS Code ساخته شده است، از اکوسیستم توسعه غنی خود به ارث میبرد. ما می توانیم در منوی View به این موارد دسترسی داشته باشیم.
همکاری با دیگران
استفاده از ابزارهای مشارکتی مانند Git با Cursor شبیه به استفاده از آنها با هر ویرایشگر کد است. این ابزارها به نحوه نوشتن کد وابسته نیستند. افزونههایی وجود دارند که به طور خاص برای کمک به Git طراحی شدهاند.
به یاد داشته باشید که چت Cursor به شما امکان میدهد از مخازن Git در فریمورک با استفاده از اپراتور @ استفاده کنید. به خاطر داشته باشید که اگر مخزن حاوی دادههای خصوصی است، باید با احتیاط از آن استفاده کرد.
تنظیم قوانین AI سفارشی
Cursor به ما اجازه میدهد تا با استفاده از قوانین خاص هوش مصنوعی را هدایت کنیم. این موارد در منوی general settings قابل دسترسی هستند.
این قوانین میتوانند رفتار هوش مصنوعی را بدون نیاز به درخواست مکرر تغییر دهند. برای مثال، ما میتوانیم با افزودن قاعدهای مانند «همیشه از راهنماییهای type در تعاریف تابع پایتون استفاده کن» اطمینان حاصل کنیم که هوش مصنوعی همیشه از نکات type در پایتون استفاده میکند.
مدلهای سفارشی هوش مصنوعی
یکی دیگر از ویژگیهای جالب Cursor ، امکان اضافه کردن مدلهای هوش مصنوعی دیگر است. این گزینه را میتوانید در تنظیمات Models پیدا کنید.
در اینجا میتوانیم مدلهای جدید اضافه کنیم. این تنظیمات مدل، همچنین این امکان را فراهم میکند که در صورت تمایل، کلیدهای API خود را اضافه کنیم.
مقایسه Cursor AI با GitHub Copilot
Cursor AI و GitHub Copilot هر دو دستیار کد مجهز به هوش مصنوعی هستند که هر کدام ویژگیهای منحصر به فردی را ارائه میدهند.
هوش مصنوعی Cursor بر روی VSCode ساخته شده است و به عنوان یک ویرایشگر مستقل عمل میکند. برای خودکارسازی وظایف و ارائه پیشنهادات کد بصری، که به سادهسازی کدنویسی و بازآفرینی کد کمک میکند، از نزدیک با محیط کدنویسی ادغام میشود که به ویژه برای توسعه دهندگانی مناسب است که ادغام عمیق با یک IDE آشنا را ترجیح میدهند.
GitHub Copilot که توسط GitHub و OpenAI توسعه یافته است، با ویرایشگرهای کد محبوب مختلف مانند Visual Studio Code ادغام میشود. پیشنهادات کد آگاه از متن را بر اساس سبک کدنویسی کاربر و کانتکست پروژه ارائه میدهد. GitHub Copilot در پیش بینی خطوط بعدی کد، برتری دارد و از طیف گستردهای از زبانهای برنامه نویسی و فریمورکها پشتیبانی مینماید.
از منظر یکپارچهسازی، Cursor AI سفارشیسازی قابل توجهی را در محیط مستقل مبتنی بر VSCode خود ارائه میکند که به طور بالقوه گردش کار را برای برخی از کاربران افزایش میدهد. در مقابل، GitHub Copilot به دلیل راه اندازی و ادغام آسان با IDE های پرکاربرد، که پذیرش را برای بسیاری از توسعه دهندگان تسهیل میکند، مورد توجه قرار گرفته است.
هر دو ابزار پیشنهادات کد real-time و پشتیبانی از چندین زبان و فریمورک را ارائه میدهند. هوش مصنوعی Cursor ممکن است به دلیل یکپارچگی عمیق آن برای کارهای تخصصی مفید باشد، در حالی که پشتیبانی گسترده IDE GitHub Copilot و راه اندازی ساده آن را برای مخاطبان وسیع تری در دسترس قرار می دهد.
در نهایت، انتخاب بین Cursor AI و GitHub Copilot ممکن است به عواملی مانند نیازهای سفارشیسازی، اولویتهای یکپارچهسازی و بودجه بستگی داشته باشد. هدف هر دو ابزار افزایش کارایی کدنویسی به روش های مختلف است.
نتیجه گیری
ابزارهایی مانند ChatGPT با اجازه دادن به کاربران برای نوشتن کد به سادگی با توضیح اهداف خود به زبان طبیعی، برنامه نویسی را بسیار در دسترستر کردهاند. Cursor با ادغام مستقیم با ویرایشگر کد، این کار را یک قدم جلوتر میبرد و نیاز به جابجایی بین ویرایشگر و رابط چت را از بین میبرد.
در حالی که Cursor AI یک راه حل مستقل جامع را ارائه میدهد که به طور خاص برای یکپارچه سازی عمیق در محیط VSCode طراحی شده است، ابزارهایی مانند GitHub Copilot تطبیق پذیری را در بین IDE های مختلف محبوب ارائه میدهند. انتخاب بین این دو در نهایت به نیازها و ترجیحات فردی برای سفارشی سازی و سهولت راه اندازی بستگی دارد.
به طور خلاصه، Cursor AI یک ویرایشگر کد قدرتمند و مبتنی بر هوش مصنوعی است که قول داده نحوه رویکرد توسعه دهندگان به کدنویسی، بازآفرینی و دیباگ را تغییر دهد.