Як я написав своє перше розширення до Azure Data Studio і до чого тут ChatGPT

GitHub проєкту

Ідея

Коли ти працюєш над великим проєктом де представлення (View) баз даних використовуються повсюдно, навіть незначна зміна таблиці часом несе за собою неприємні наслідки. Видалення чи заміна стовпця може призвести до того, що представлення перестануть працювати. Іноді про це дізнаєшся вже як “фіча“ пішла у реліз. Коли я черговий раз зіштовхнувся з подібною проблемою, я і вирішив написати розширення, яке б полегшило пошук залежних представлень.

Ідея проста: користувач клацає на табличку чи на представлення правою клавішею миші і в випадаючому меню вибирає “покажи всі залежності”, після цього виконується скрипт, результатом якого є список всіх представлень де використовується вибраний елемент.

Реалізація

Я не буду тут поглиблюватися в технічну сторону реалізації, а тільки стисло опишу порядок дій та як мені допоміг в цьому ChatGPT, зрештою готовий проєкт можна знайти на GitHub.

Перше що я зробив, це пішов в ChatGPT і попросив написати мені скрипт, який би показував всі представлення які залежать від певної таблички. І ChatGPT впорався з цим на відмінно.

З готовим скриптом, що дістався мені без особливих зусиль, я пішов шукати, як мені створити своє розширення для Azure Data Studio. На щастя це зробити дуже легко і Microsoft надає зручну покрокову інструкцію.

Та подальші кроки виявилися вже не такими легкими. Першим викликом було додання нової позиції до випадаючого меню. Я раніше не мав справи з написанням розширень ні до Visual Studio Code, ні до Azure Data Studio. То ж я пішов шукати інформацію в документації від Microsoft. Та в тих матеріалах які представленні в Інтернеті знайти те що мене цікавило було доволі складно, то ж я знову звернувся до ChatGPT. І тут він мене теж не підвів 😁 та показав всю потрібну мені інформацію.

Далі лишалося написати логіку відкриття нового вікна і запуску скрипту. І перша ж моя ідея була знову делегувати цю задачу ChatGPT, але тут ШІ не впорався та генерував якусь маячню. Тож довелося працювати самому 😢.

Методом проб та помилок, зрештою, вдалося досягти жаданого результату. Останнім кроком був рефакторинг коду і тести, з написанням яких ChatGPT впорався без особливих проблем. Мені лишалося тільки їх скоригувати під власні потреби. Варто зазначити, що ChatGPT добре розуміє всі можливі успішні та провальні випадки та пише під них окремий тест, що значно заощаджує час.

Висновки

Результатом роботи я лишився задоволений, ChatGPT теж. Для мене рішення від OpenAI вже стало незамінним помічником і економить багато часу на рутинних задачах. Звісно ж варто розуміти, що бездумний копіпаст коду до добра не доведе, але при правильному підході це чудовий інструмент, який раджу спробувати кожному/кожній.

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Петро Копил
Петро Копил@p.kopyl

👨‍💻 Розробник .NET

272Прочитань
8Автори
8Читачі
Підтримати
На Друкарні з 15 квітня

Більше від автора

Вам також сподобається

  • Аспектно орієнтоване програмування в Java

    Стаття про детальний огляд AOP в Java. Weaving: CTW, LTW, RTW. Способи використання. Порівняння інструментів, пояснення анотацій, конфігурування, термінологія.

    Теми цього довгочиту:

    Java
  • Щоденник. Запис 0001

    Вирішила також писати не тільки відгуки чи піднімати конкретні теми, а і просто робити потік думок у вигляді щоденника.

    Теми цього довгочиту:

    Думки

Коментарі (2)

Цілком погоджуюсь, ChatGPT дуже допомагає в роботі, але потрібно розуміти коли він зможе допомогти, а коли його відповіді будуть не потрібні. Особисто для мене це більше як альтернативний погляд на мою проблему і одне з тисяч вирішень її.

Вам також сподобається

  • Аспектно орієнтоване програмування в Java

    Стаття про детальний огляд AOP в Java. Weaving: CTW, LTW, RTW. Способи використання. Порівняння інструментів, пояснення анотацій, конфігурування, термінологія.

    Теми цього довгочиту:

    Java
  • Щоденник. Запис 0001

    Вирішила також писати не тільки відгуки чи піднімати конкретні теми, а і просто робити потік думок у вигляді щоденника.

    Теми цього довгочиту:

    Думки