4 ms·
I tried Copilot in the early days but stopped using it pretty quickly as it just wasn't that useful in an already established codebase. Often times I'm not writ
by _fat_santa 3y ago
I tried Copilot in the early days but stopped using it pretty quickly as it just wasn't that useful in an already established codebase. Often times I'm not writing completely new code but rather implementing a pattern that I've previously defined somewhere else. In this case Copilot just completely falls over because it doesn't know about that existing code. My other gripe is language specific but in VSCode it breaks Typescript hints, often times I'm writing something like `MyCustomObject.` and expect Typescript to help me autofill the field, this breaks with Copilot as it always tries to suggest some other code.
The second issue I could work around but combined with the fact that it doesn't have context of my current codebase, my impression was that it would be a fantastic tool for someone going to school for CS but practically useless in a professional codebase.
- stephendause 3y agoIt's very interesting to me that you say that because it hasn't been my experience. I am working in a ~20k-50k SLOC codebase with a few common patterns, and it seems to have picked up on most of them. It's not always right, but even when it isn't, I can write a comment above an empty line to nudge it in the right direction.
- simonw 3y agoCopilot pulls in similar code from your current project as part of its prompt. If you understand how it works you can sometimes lay out your code in a way that makes it more likely to include the relevant examples to get the effect that you want. There is no guidance or documentation for this at all! I've been running a hack to help me see the prompts in order to better understand what's going on: https://gist.github.com/simonw/30fec0ac20244b4b921532b63b8b04e5 https://gist.github.com/simonw/30fec0ac20244b4b921532b63b8b0...
- GrinningFool 3y agoCould it be the language and/or the editor's integration? In neovim w/ a medium-sized go project, I"m finding that it's really good at providing meaningful and at least directionally-accurate contextual suggestions. It seems that the plugin is providing a good bit of context, but maybe the vscode one doesn't?
- wrs 3y agoI have found it surprisingly good at some pretty sophisticated “grunt work”. For example, I’m converting some code to TypeScript. Looking at a long and twisty “getSomething” JavaScript function that builds up an object one field at a time, it can complete “interface Something {“ with all those fields, with types! It might duplicate or miss a field sometimes but it makes fewer mistakes than I would. I’m pretty sure it pulls context from at least the other open files in VS Code, if not the ones on disk. Hard to tell for sure. It’s kind of like having an eager, well-read, but naive and over-caffeinated intern as a pair programmer.
- nvm0n2 3y agoIt uses the contents of other editor tabs.