4 ms·
I've been using Copilot during the beta and it's been absolutely amazing. That being said I mainly rely on it to autocomplete the rest of the line only, and it
by chrischen 4y ago
I've been using Copilot during the beta and it's been absolutely amazing. That being said I mainly rely on it to autocomplete the rest of the line only, and it works great as a fancier auto complete. I can't imagine it being a copyright issue for this use case because the completions are what I would have written anyways. I'd probably never trust it to write a whole block of code implementing something and I think they definitely should add a feature to disable that because autocompleting only lines of code is just as useful.
It works even better in languages like Haskell or Ocaml, where often there is only a couple ways (often only one way) valid code could be written once you type part of it out and if it does spit out invalid code you get an instant compiler warning.
- throwntoday 4y agoPersonally I hate autocomplete. I've had peers that were shocked I prefer to type everything out manually, and my IDE is essentially a text editor with syntax highlighting. To each their own of course, but I find the increase in productivity very quickly becomes a crutch for just remembering things.
- chrischen 4y agoThere are 3 ways autocomplete can be used: 1) As automatic documentation in a well-typed application. Autocomplete shows you the public properties or methods available based on what data you have started typing, and it's not guessed but guaranteed to be valid assuming your types are correct. 2) As dumb autocomplete, where it just tries to guess based on the symbols in the document, and save you some keystrokes/remembering. 3) As the Copilot style autocomplete where it will finish the entire line, and not just the next token—with the downside that it's really just guessed. I can see where 2 and 3 can be avoided, but 1) is really invaluable and often almost required in some strictly typed languages. I remember the days of writing PHP where I had to google for the function signatures every time because of inconsistent naming, and lack of typing. Memorizing these things is honestly a waste of a programmer's brain space. But now that I write exclusively in typed languages, auto-complete in the form of 1) has been invaluable not for the purposes of remembering names of things but being able to see what functions/methods are valid and can be used. No need to look up documentation manually anymore.
- coredog64 4y agoAutocomplete has actually turned into a negative for me, at least in VSCode. It keeps autocompleting things that don’t make any sense, it’s overly aggressive on doing it (like 3 characters), and is generally a PITA. I now have to undo the completion and then retype with a rapid escape key action.
- chrischen 4y agoI think this depends on how you configured autocomplete. In my Neovim setup autocomplete is opt in (you have to press tab to complete). It sounds like you have default autocomplete setup for some reason.
- Gigachad 4y agoVscode has it on enter and it autocompletes insane things. You’ll type “end” to finish a block in ruby and it will auto complete to some weird function name.
- Barrin92 4y agoTurning off autocomplete forced me to actually learn and memorize again, not just libraries, but even my own code. I didn't even notice how bad it had gotten when I went from IDE to plain text editing, felt like my brain had atrophied. Like when you hear people say they can't navigate any more without an app.
- throwaway675309 4y agoThat's not really a good comparison, They've done actual tests for London cabbies and found that they had measurable difference in their hippocampus due to the spatial manipulations that they have to do. Whereas the difference between two developers one who remembers the exact parameters for some random arbitrary library and the other who relies on autocomplete is probably negligible. There's a huge difference between rote memorization and fluid intelligence. What's more important is your ability to solve problems and develop new algorithms and you can do that in pseudo code without memorizing a single pointless parameter list.
- omegalulw 4y agoYou are just wasting time. You should upskill yourself to the point you can write code with bare vim. Beyond that, use an IDE with good features to save time, that's what IDEs are for.
- alpaca128 4y agoI enjoy Vim's non-automatic completion where I only get suggestions and completions when I press the key combination. It's helpful to complete long words and still distraction free. Automatic completion or suggestion popups are super annoying, though. Even worse, some IDEs will dynamically reformat the code including the line I'm still typing. Feels like Clippy in MS Word but instead of showing options it automatically just does something random without asking. Efficient keyboard shortcuts make unreliable "helpers" redundant.