GitHub Copilot now available for Visual Studio 2022 | The GitHub Blog

Documentatia oficiala:

Cateva exemple:

1 Like

Anul 2033: “hire a human to supervise your copilots”

1 Like

E valabil 60 zile in free trial pentru toata lumea si in mai multe IDE.
Dupa o prima vedere nu am fost impresionat.
Nu am sters plugin-ul si am uitat de el.
Spre surprinderea mea a facut niste super-sugestii.
A redus durata scrierii unui cod de la vreo 60 de secunde la 5 secunde – pentru ca a trebuit sa verific daca e corect.

Si posibilul bug de la 1 ora la cateva zile sau mai mult :grin:

2 Likes

Asta in rarele situatii in care chiar propune ceva bun si nu o tampenie.
Caz in care pierzi timp suplimentar ca sa-ti dai seama ca tampenia propusa e tampenie.

There is no silver bullet.

Folosesc Tabnine de vreo 6 luni si mai da rateuri, dar per ansamblu are plus valoare.
Copilot face unele lucruri diferite si cred ca are potential.

Update.
M-am decis să ii fac un review, aici.

Folosesc GitHub Copilot ca plugin in Jetbrain WebStorm, pentru următoarele limbaje/tehnologii/frameworks:

  • TypeScript
  • JavaScript
  • HTML
  • CSS

Update 1:
(TypeScript) intuiește când vreau să șterg un element dintr-o mulțime si imi sugerează codul.
Exemplu:

users = [];

removeFromUsers(user){
  if
}

După if, Copilot sugerează:

if(this.users.includes(user){
  this.users.splice(this.users.indexOf(user), 1);
}

Bănuiesc că semantica variabilelor cântărește mult.

1 Like

Ma joc cu el si java

  • Sugereaza bine numele de metode. Vorba aia, naming-ul este al doilea cel mai dificil lucru dupa invalidarea cache :smiley:
  • Te ajuta la date de test
  • Interfereaza cu Tab. Vrei poate sa dai tab doar ca sa aliniezi.
  • Cel putin in Java, foloseste api-uri mai vechi

La proiect personal, merge, dar la munca zic pas. Sau pentru a scrie ceva intr-un limbaj semi necunoscut. Plus ca daca dai tot tab, nu mai treci prin filtrul gandirii linia de cod. Pana si aia pe care o iei cu copy paste de pe StackOverflow.

Sigur, in viitor o sa vedem imbunatatiri.

Cod scris de AI

import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class Main {

    record User (String name, Long id) {}

    List<User> users = List.of(
        new User("John", 1L),
            new User("Jane", 2L),
            new User("Jack", 3L),
            new User("Jill", 4L));


    public static void main(String[] args) {
        System.out.println("Hello World!");
    }

    /**
     * Dear John,
     * Sincerely, Computer Science
     * Java is a programming language.
     * I have a lot of experience with Java.
     * I am a Java developer.
     * I am a Java programmer.
     * I am a Java programmer.
     * I am a Java programmer.
     * I am a Java programmer.
     * I am a Java programmer.
     * I am a Java programmer.
     * I am a Java programmer.
     * I am a Java programmer.
     * PHP is a programming language.
     * I have a lot of experience with PHP.
     * I am a PHP developer.
     * I am a PHP programmer.
     * I am a PHP programmer.
     * @param user
     */
    public void removeUser(User user) {
        users.remove(user);
    }
    public Date calculateDate(Date date, int days) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.DATE, days);
        return cal.getTime();
    }

    public boolean isLeapYear(int year) {
        return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
    }

    public boolean isOdd(int number) {
        return number % 2 != 0;
    }

    public boolean isEven(int number) {
        return number % 2 == 0;
    }

    public int getNumberOfDaysInMonth(int year, int month) {
        if (month == 2) {
            if (isLeapYear(year)) {
                return 29;
            } else {
                return 28;
            }
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            return 30;
        } else {
            return 31;
        }
    }
}

Mie nu imi e clar cu liceenta pt munca, daca e safe

Acolo nu ma bag cu el.

Cod propietar, licenta, etc :slight_smile:

1 Like

N-am inteles concluzia.

Mie mi se pare super util. Il folosesc cu PhpStorm si chiar ma ajuta.
Nu stiu insa daca o sa dau 10$ pe luna din august incolo

Si eu il evaluez pana atunci.
Mai am si Tabnine, plus sugestiile default din WebStorm.

E posibil ca Copilot sa isi imbunatateasca functionalitatea pe masura ce e folosit.
Mai vedem.