• voxel@sopuli.xyz
    link
    fedilink
    arrow-up
    77
    arrow-down
    4
    ·
    edit-2
    6 months ago

    don’t get the negativity towards copilot in other comments.
    it’s a really smart autocomplete, and this is exactly what i wanted for the past 5 years.
    (yeah it’s not going to replace programmers or whatever people’s exaggerated opinions of it are)

    wanna quickly create a wgpu bind group?
    let texture_bind_group = <tab> <tab> and it’s smart enough to understand the context and pull in texture and texture sampler that are already defined as local variables.

    too lazy to type this obvious thing in?
    (like of course the next opcode islet op = self.fetch();) just press tab and move on with your life.

    wanna quickly refactor something?
    select, ask CP Chat to “replace all if statements with match”, check if it’s correct and click confirm (it will even show git-style diffs, so it’s hard for something unexpected to slip in)

    it’s not perfect, and it’s suggestions do not match your intention like 50% of the time but when they do match or your intention is REALLY obvious (like you already wrote a clear and concise variable name and need to complete the value), you’re a single keypress away from completing those 2 lines of code

    It’s not a total deal breaker but it’s definitely very useful. (especially for me, because of my very short attention span. unless i can quickly complete a thing I’m currently working on in less than a minute i will forget about the next 10 things I was thinking of doing)

    also i don’t believe the price is justified, but it’s free for students so of course I’m gonna use it.

    (you just need to verify your student email and upload a photo of your student id on education.github.com, and you get a free gh copilot subscription, gh pro account, priority support and promos on loads of services like heroku etc while you’re a student)

    • evatronic@lemm.ee
      link
      fedilink
      English
      arrow-up
      28
      ·
      6 months ago

      I’ve been using it a lot lately in the day job.

      My experience has been it’s close but wrong often.

      It shines when I am doing the same thing for 20 variables, but then I should be using a loop instead and copilot won’t go there.

    • bisby@lemmy.world
      link
      fedilink
      English
      arrow-up
      17
      ·
      edit-2
      6 months ago

      too lazy to type this obvious thing in?

      This has been the thing for me. I get really bored and lose focus when doing all the obvious repetitive stuff. And the obvious stuff is the stuff I find copilot does best. For anything that requires thought I’m engaged. Those are the fun parts of the job. It lets me do more of the fun part.

      The one major downside that I’ve found is that sometimes I just want to tab complete a long variable/function name, and because of copilot i dont have “old style” tab completion anymore. (I could definitely still handle this myself, but i haven’t)

      edit: this all to say that I don’t use copilot to write code that I don’t know how to write, I use copilot to write code that I’ve written 1000 times before and don’t want to write again. Copilot does a good job of looking through all the open files for context to help make sure the suggestions actually fit into the codebase’s pre-existing style.

    • oldfart@lemm.ee
      link
      fedilink
      arrow-up
      8
      ·
      6 months ago

      What’s CP Chat? Im a bit afraid to type that into a search engine but it seems to be what I’m missing in my Copilot-assisted flow. It’s a great autocomplete but sometimes refactoring would be useful too.

      • voxel@sopuli.xyz
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        6 months ago

        well I’m using lower-ish-level stuff like wgpu a lot, so there’s a lot of repeated code in my codebase with only small variations, but I can’t really encapsulate it into anything since all of my pipelines are completely different and have different requirements (it’s basically already as encapsulated as it gets without limiting freedom)