I've been using Copilot for 3 weeks in a typical web project: typescript, react, css. Feedback:<p>- when i declare a variable or function using a suggestive name, it correctly autocompletes what i want 50% of the time and it also takes into account the context; sometimes it just blows my mind how accurate it can be.<p>- sometimes it doesn't autocomplete even if i delete the line to start over<p>- i changed the way i code: i rely on Copilot more and more. i start typing my code and i know the prompt will correctly autocomplete my intention, but if it doesn't, it will a couple of lines later. If i stop to think, it goes ahead of me<p>- it's now faster for me to get an answer from Copilot than searching on Stackoverlow.<p>Copilot is a great companion, please make it even better! Welcome to the future my friends
Hello! I'm the founder of <a href="https://denigma.app" rel="nofollow">https://denigma.app</a>, an AI that explains code. It's available now, with a free demo and VS Code extension, with an Emacs extension coming soon.<p>Denigma is a product that has been around for a while.<p>Denigma goes beyond a literal line by line explanation, and explains of programming concepts and deduces the business logic and goal of code.<p>I'm excited to see innovation in the field.<p>Here's a sample explanation from Denigma:<p>The code starts by initializing the trampoline. Then it checks to see if there is a passed_info structure in memory, and if so, copies the struct into the passed_info variable. Next, it sets up some variables for use later on:<p>- info_struct - The smp_information struct that will be used throughout this function<p>- longmode - Indicates whether or not we are running in 64 bit mode<p>- lv5 - Indicates whether or not we are running with L1V5 support enabled (if you're unsure what this means google "Intel VT-x" and "L1D cache")<p>- pagemap - The address of our page table entry array (this is where all of our virtual addresses go)<p>- x2apic - Indicates whether or not we are using an Intel X2APIC controller<p>The code is a function that is called when the kernel is booted. The function checks to see if the kernel was booted in long mode or not, and if it was, it sets up a trampoline to call the original kernel.<p>We're small, privacy-focused, and bootstrapped, and don't have the marketing budget of GitHub, so we'd appreciate you talking about Denigma in your communities.
Most (all?) of the commenters here seemed to miss the entire point of this feature:<p>"Create custom prompts<p>We provide a few preset prompts to get you started: three that explain what a particular block of code does, and another that generates example code for calling a function.<p>You can customize the prompt and stop sequence of a query in order to come up with new applications that use Codex to interpret code. Creating these can feel like more of an art than a science! Small changes in the formulation of the prompt and stop sequence can produce very different results. The three different “explain” examples showcase strategies that tend to produce useful responses from the model, but this is uncharted territory! We’re excited to see what you use this for."<p>This isn't for explaining code. That's just an example. This lets us create custom prompts for the OpenAI API using the codex model.
when i first used copilot i thought it wasn’t very useful. But as i’ve used it more i realize it helps a lot. A surprising amount of code is just boilerplate, e.g. a single if-statement is 3 lines but you’re not going to abstract all your if statements, so you write similar if statements over and over again.<p>It especially helps when i’m programming in a language or library i’m not familiar with, because i don’t quite understand the syntax but copilot does.
I'm a fan of CoPilot, but as given in their own example here (and gently mocked in the top response), the "explanations" generated seem to be no more useful than archetypal <i>bad comments</i> that are normally given as examples of how <i>not</i> to comment code in that they simply translate the statements "word-for-token" <i>without</i> explanation or insight.<p>Nevertheless, given Copilot's success so far, hopefully the output will quickly improve.
Hello! I'm one of the founders of <a href="https://cogram.com" rel="nofollow">https://cogram.com</a>, a coding assistant for data scientists and ML practitioners. Cogram brings Copilot-like features to Jupyter Notebook.<p>You can use Cogram by writing ordinary code (and Cogram will complete it), or by writing comments (in which case Cogram completes the code that matches the comment). We've also launched a web app that generates SQL statements from descriptions in simple language.<p>We're just starting out and would love it if you could try it out, give feedback, and spread the word if you like. It doesn't cost anything -- we have a generous free tier (1000 completions / month).
What's the use-case for this? Hopefully not for commenting code.<p>This only seems to be able to explain syntax, which seems pretty useless for anyone who isn't new to the language they're using. Am I missing something?
We've had Code Explanation (based on Codex)[1] in production for over a month and while it leaves a lot to be desired it was surprising that 75% of users thought the explanation were useful to them.<p>[1]: <a href="https://blog.replit.com/codex" rel="nofollow">https://blog.replit.com/codex</a>
My favorite copilot moment recently is rails migrations. I write the up migrating n, copilot gets the down migration right 90% of the time. It's wild.<p>And these aren't vanilla "change" commands. It's triggers and check constraints and changing column types and stuff.
having used copilot for only a couple hours and found it annoying... this might be a but less obstructive. though contrary to the commenter the samples in that thread didnt seem all that great to me. ill try it out tho and since its in the sidebar itll hopefully be less distracting.
Neat! The explain feature is exactly what I had hoped to see built: <a href="https://news.ycombinator.com/item?id=27813639" rel="nofollow">https://news.ycombinator.com/item?id=27813639</a>
I've been using Copilot these past days and it's kind of mindblowing. I was doing some Rails tests, and after writing the factories it suggested me the exact right expectations. Did not expect that, kind of scary. Same for suggesting while commenting code. Wtf.<p>I'd love to keep using it, but I'm way too familiarized with Sublime Text to change now (and I tried to customize VsCode). I know it's a long shot, but it'd be great if they release an extension for Sublime.
I made the first comment on that issue: tbh it does work better than expected on intentionally bad code, but not perfect. It could be useful to speed up documentation though.
Tried Copilot and gave up on it, it was only helping out where it didn't matter, the rare trivial parts. After a few mistakes I concluded it was dragging me down. Maybe I'm a hard customer for it even though I work in ML and have been following closely ever since it started.
I’m currently working on a custom, state of the art zero-knowledge proof smart contract framework, and as I’m writing circuits using it Copilot correctly suggests an insane number of lines to me. It feels like I’m cheating.