Більше, ніж Tab та Cmd+K: налаштування курсора для контексту, безпеки та масштабу
Групова екскурсія по менш використовуваним функціям Cursor: від правил у межах контексту та @context до списків дозволів автоматичного виконання, контрольних точок та фонових агентів, а також пояснення того, коли кожна з них є корисною.
Більшість розробників опановують три основні функції Cursor вже протягом першої години: клавішу Tab для автодоповнення, Cmd+K (Ctrl+K у Windows та Linux) для редагування всередині тексту, а також панель чату для постановки запитань щодо відкритих файлів. Багато хто більше ніколи не повертається до налаштувань, через що функції, які найбільше впливають на швидкість та безпеку, залишаються невикористаними. У цьому посібнику п’ятнадцять таких більш складних функцій згруповано за проблемами, які вони вирішують: швидше редагування, надання моделі правильного контексту, вибір правильного режиму, забезпечення безпеки автономних виконань та масштабування поза межі одного репозиторію. Cursor швидко змінюється, і деякі функції між версіями отримували нові назви, об’єднувалися або видалялися, тому сприймайте назви та місцезнаходження меню як початкову інформацію та підтверджуйте їх у актуальній документації Cursor.
Швидше редагування в редакторі та терміналі
Клавіша Tab передбачає ваше наступне редагування, а не лише наступний токен
Клавіша Tab часто сприймається як розумніший функціонал автодоповнення, але вона працює інакше. Вона бере до уваги ваші нещодавні зміни в файлі, а не лише текст біля курсора, та прогнозує наступну зміну, яку ви, ймовірно, здійсните в іншій частині цього файлу. Якщо ви змінюєте назву змінної у верхній частині компонента чи віджета, клавіша Tab часто автоматично переходить до наступних використань цієї змінної та пропонує їх перейменувати ще до того, як ви скроллите до них. Прийняття серії таких прогнозів часто є швидшим, ніж використання функції пошуку та заміни, оскільки клавіша Tab також адаптує навколишній код, а не просто сліпо замінює рядки.
Cmd+K також працює в інтегрованому терміналі
Швидкий спосіб внутрішньої edycji не обмежується лише редактором. У вбудованому терміналі Cursor ви можете описати потрібну команду шеллу простою мовою, і він створить відповідну синтаксис. Це зручно для команд, флаги яких ви рідко пам’ятаєте, наприклад git rebase --onto. Прочитайте створену команду перед натисканням Enter, особливо коли вона стосується історії змін чи видаляє файли.
Надання моделі правильного контексту
Якість відповіді сильно залежить від того, що бачить модель. Існує кілька функцій, призначених саме для контролю цього.
@Codebase шукає в усьому індексованому проекті
Згадка про @Codebase у запиті змушує Cursor переглядати весь індекс проекту у пошуках відповідних файлів, тож він не обмежується лише вікнами, які є відкритими. У мобільному додатку з п’ятнадцятьма файлами-віджетами це різниця між тим, що модель припускає спосіб керування станом, та реальним знаходженням вже написаного вами постачальника даних. У новіших версіях агент може самостійно шукати в кодбазі без прямої згадки, тож перевірте, як поводиться ваша версія.
@Docs індексує документацію сторонніх розробників
Ви можете вказати Cursor на сайт документації бібліотеки, і він буде її індексувати для використання у чаті. При впровадженні нового пакета це краще, ніж щоразу при появі запитання копіювати сторінки документації в розмову, адже це забезпечує, що відповіді ґрунтуються на справжньому API бібліотеки, а не на пам’яті моделі про неї.
@Web дозволяє сесії перевіряти власні твердження
Коли модель стверджує щось про API чи версію з більшою впевненістю, ніж це є обґрунтованим, @Web запускає пошук у реальному часі замість того, щоб змушувати вас перевіряти це у браузері. Це не замінює читання офіційної документації, але є швидким способом виявити вигадану назву методу ще до того, як вона потрапить у ваш код.
Правила з обмеженим діапазоном у .cursor/rules
Ще підтримується окремий файл .cursorrules у корені репозиторію, проте сучаснішою структурою є каталог .cursor/rules, який містить файли .mdc, кожен з яких призначений для певних шаблонів файлів. Це дозволяє одному репозиторію містити окремі набори правил — наприклад, один для компонентів Flutter та інший для скриптів Python — замість одного величезного файлу, який намагається охопити все та розмиває кожну інструкцію. Крім того, короткі та цілеспрямовані правила залишають більше простору у вікні контексту для вашого коду.
Зошити для повторного використання контексту
Нотатник — це збережений блок контексту, такий як нотатки щодо архітектури, специфікації функцій чи повторно використовувані уривки, які можна вставити в будь-яке чат-спілкування або сесію Composer за допомогою @. Замість того, щоб щоразу на початку сесії повторювати фразу „У цьому проекті використовується Riverpod для керування станом та Supabase для бекенду“, ви пишете її один раз та посилаєтесь на неї. У останніх версіях Cursor нотатники були перероблені, і правила чи файли документації проекту також можуть виконувати ту саму функцію, тож використовуйте той механізм, який підтримує ваша версія.
.cursorignore допомагає підтримувати індекс у чистоті
.cursorignore функціонує так само, як .gitignore, але стосується того, що індексує та шукає Cursor. Результати пошуку в @Codebase забруднюються результатами компіляції, генерованого коду та залежностей, які були включені до проекту, якщо їх не виключити. Надмірно великий індекс не лише уповільнює роботу, але й збільшує ймовірність того, що модель буде посилатися на застарілі генеровані файли замість справжнього вихідного коду. Додавайте записи про ігнорування якомога раніше, бажано відтворюючи шляхи, які вже є у .gitignore.
Вибір правильного режиму для завдання
Режим Composer проти режиму Agent
Це різні інструменти. Composer обробляє редагування кількох файлів та відображає різницю для перегляду перед тим, як щось застосувати. Режим Agent виконує розширений цикл: він читає кодову базу, редагує файли, виконує команди терміналу, перевіряє результат та продовжує діяльність, поки завдання не буде виконане або не зустрінеться перешкода. Вважати їх взаємозамінними призводить до двох протилежних помилок: не використовувати режим Agent для масштабних переробок, де він найкраще підходить, та використовувати його для змін, які потребують лише одного чіткого та придатного до перегляду варіанту.
Режим Ask, коли ще нічого не повинно змінюватися
Режим запитань — це звичайна розмова, під час якої Cursor відповідає на запитання та пояснює функціонування вашого коду, не надаючи можливості його редагування. Він відрізняється від кроку планування з лише читальним доступом, який може виконувати режим Агента. Використовуйте його під час дослідження, наприклад для виявлення тонких помилок, коли вам потрібен чесний аналіз без того, щоб розмова переходила на редагування, якого ви не просили.
Забезпечення безпеки автономних виконань
Автоматичне виконання зі списками дозволів та заборон
Режим, який давно відомий як режим YOLO (у новіших версіях його описують через автоматично виконувані команди), — це не простий перемикач «ввімкнути/вимкнути». Ви налаштовуєте список дозволених команд, таких як npm test або flutter analyze, які виконуються без підтвердження, та список заборонених команд, таких як rm -rf або git push, які завжди вимагають вашої згоди. Спочатку необхідно визначити список заборонених команд, а вже потім — список дозволених. Якщо порушити цю послідовність, агент без нагляду може перетворитися на джерело тривалих проблем під час відновлення. Також пам’ятайте, що список заборонених команд працює за принципом збігу шаблонів: команди можна поєднувати або обгортати у скрипти, тому цей список лише зменшує ризик, але не усуває його повністю.
Відновлення чекпоїнта для часткового скасування змін
Курсор фіксує контрольні точки вашої кодової бази у певні моменти під час виконання агента. Якщо більшість змін агента є корисними, але деякі порушили процес збірки, функція «Відновити контрольну точку» дозволяє повернутися до певного попереднього стану без необхідності ручного порівняння файлів. Вона знаходиться у вікні історії Composer чи чату, тому багато хто навіть не помічає її. Контрольні точки — це зручність, а не заміна системи керування версіями, тому продовжуйте також зберігати значущі стани у Git.
Агенти на задання для чітко визначених обов’язків
Замість того, щоб спостерігати за роботою агента, ви можете передати обмежене завдання фоновому агенту та повернутися пізніше до запиту на зміни. Хорошими кандидатами є прості, чітко визначені завдання, такі як оновлення залежностей, виправлення помилок лінтингу у всьому репозиторії чи додавання підказок про типи до старого модуля. Будь-що, що ви не можете точно описати в одному повідомленні, є поганою ідеєю, адже не буде нікого, хто міг би відповісти на запитання агента протягом виконання завдання.
Робота поза межами одного репозиторію
MCP з’єднує Cursor із зовнішніми системами
Протокол Model Context Protocol дозволяє Cursor безпосередньо під час сеансу запитувати зовнішні інструменти, включаючи системи обробки замовлень, внутрішні API та бази даних, що усуває необхідність ручного копіювання та вставки. Команди, які вже використовують сервери MCP для Claude Code або іншого клієнта, часто можуть використовувати їх у Cursor. Надавайте кожному серверу лише ті права доступу, які йому потрібні, адже агент може діяти через те, з чим він підключений.
Робочі простори з кількома коренями охоплюють кілька репозиторіїв
Коли додаток взаємодіє з бекендом, який знаходиться у власному репозиторії, робочий простір з кількома коренями дозволяє Cursor бачити обидва одночасно, тож не доводиться перемикати вікна щоразу, коли зміни впливають на обидві сторони. Для систем, побудованих як взаємопов’язані сервіси, а не як моноліт, саме це вже варте часу на налаштування, оскільки модель може дотримуватися контракту API від клієнта до сервера.
Основні висновки
- Найважливішими є функції контексту:
@Codebase,@Docs, правила з обмеженим діапазоном, повторно використовувані нотатки та чистий файл.cursorignoreвизначають, що насправді бачить модель. - Підбирайте режим під завдання: Composer для перегляду відмінностей, режим Agent для довгих багатоетапних операцій, режим Ask для аналізу без змін.
- Налаштовуйте безпеку перед автономністю: спочатку складіть список заборон, дізнайтеся, де знаходиться Restore Checkpoint, та продовжуйте зберігати зміни у Git.
- Доручайте лише ті завдання, які можна повністю описати для фонових агентів.
- Очікуйте, що назви та місця розташування функцій змінюватимуться між версіями, і перевіряйте їх за поточною документацією, якщо щось здається відсутнім.