Работа с Github Copilot

Как ИИ может значительно улучшить скорость написания кода

Пристегните ремни безопасности

Недавно мне разрешили использовать Github Copilot с моей частной учетной записью Github, и с тех пор я могу использовать этот инструмент во время повседневного программирования. В этой статье я хочу поделиться своим первым опытом работы с этим мощным помощником по работе с кодом.

Что делает Github Copilot, а что нет

Github Copilot исключительно хорошо разбирается в контексте, в котором вы сейчас работаете, и поэтому может предоставить очень точные предложения по завершению кода. Это также означает, что разработчики будут все меньше и меньше полагаться на предопределенные фрагменты кода, например, для быстрого создания асинхронной функции или компонента React.js.

Github Copilot может обнаружить шаблон, который вы использовали, например, путем анализа массива точек данных или интерфейса, и может правильно использовать эту информацию при доступе к этим данным в вызове функции, чтобы предоставить простой пример.

Инструмент не все кодирует за вас. Он понимает текущий контекст и ваши намерения и может предоставить очень точные предложения кода на основе этой информации.

Реальное использование в моих хобби-проектах

Хорошо, хватит справочной информации! Если вы хотите узнать больше о реализации Github Copilot, воспользуйтесь ссылками в приложении в конце страницы.

В оставшейся части этой статьи я расскажу о моем реальном опыте работы с Github Copilot. В целом я могу сделать вывод, что это самый мощный помощник по программированию, который я когда-либо видел. Учитывая, что это всего лишь первая версия, еще более впечатляет то, как Github Copilot понимает мои намерения и может предоставить правильные предложения.

Javascript

Начнем с некоторых простых доработок кода Javascript. Предложения правильно определяют контекст и понимают мое намерение написать новый маршрут или

Image 3a745b6b4325

Image 1b10f916ba56

Image fce20a54bd33

React.js и хуки

Следующие снимки экрана показывают мои первые встречи с предложениями по хукам React, все они впечатляюще точны. На первом снимке экрана показан обработчик вкладок, который еще не был реализован в компоненте (реализован сам контейнер вкладок).

Другой снимок экрана был сделан в компоненте статьи, и, как вы можете видеть, он правильно предполагает, что я также хочу загрузить соответствующие переводы в этой части кода.

Image 2349c4814bb3

Image b0b4e779d117

Следующие примеры показывают, как Github Copilot правильно определяет другие части при разработке React.js-компонентов.

Image ee9960a38080

Image 8a25c744f100

Image 811cfdc2ad44

Image afa67dbd0151

Предложения по редуктору

Вероятно, самый впечатляющий опыт, который у меня был, был, когда инструмент предоставлял в основном полный редуктор для использования с useReducer.

Image 60c212ca3a8e

JSON-файлы для переводов

Следующие предложения также действительно впечатляют, поскольку они не обеспечивают завершение кода, а обеспечивают правильный перевод. Все переводы привязаны к каждой локали, а для немецких файлов Github Copilot предоставил немецкие переводы для английских ключей. Сногсшибательные вещи!

Image 527d8f89f516

Image 2862682d35a2

Image e733d5a797ca

Завершение CSS

Также очень хороши предложения для стилей Tailwind.css. Предоставленные дополнения кода точны и правильно выводятся из контекста.

Image 4835f6a1a839

Image 10bd8559f56a

Image 9d593d7bd6c9

Image fbfcc0b75a5c

Next.js

Помимо React.js, Github Copilot также понимает контекст проекта Next.js и может предоставить соответствующие предложения, например, при написании серверного кода для стратегий создания статических сайтов.

Image db94b45feb59

Image 202c014c2cad