Want to master Clean Architecture? Go here: https://dub.sh/clean-architecture
Want to master Modular Monoliths? Go here: https://dub.sh/modular-monolith
Join the .NET Architects Club: https://www.skool.com/mj-tech-community-5418/about
Get the 2026 .NET Developer roadmap here → https://the-dotnet-weekly.ck.page/2026-roadmap
GitHub Copilot became my main AI coding tool after I stopped using Cursor.
I had been using Cursor for a while, and I still think it’s a solid AI coding IDE. But after getting hit with a surprise $100 bill, I started looking more seriously at GitHub Copilot again.
And honestly, I was surprised by how good it has become.
In this video, I compare Cursor and GitHub Copilot side by side and show what the workflow looks like in practice.
We’ll look at:
- Why I stopped using Cursor
- What surprised me about Cursor’s pricing
- How GitHub Copilot compares inside VS Code
- Plan mode and agent mode workflows
- Code generation and reviewing changes
- Using Copilot inside Visual Studio
- Why Copilot now fits better into my daily workflow
This is not a “Cursor is bad” video. Cursor has a lot of great features.
But for how I work, GitHub Copilot now gives me a very similar AI coding experience, better integration with the tools I already use, and a pricing model that feels easier to trust.
Check out my courses:
https://www.milanjovanovic.tech/courses
Read my Blog here:
https://www.milanjovanovic.tech/blog
Join my weekly .NET newsletter:
https://www.milanjovanovic.tech
Chapters
Оглавление (2 сегментов)
Segment 1 (00:00 - 05:00)
I stopped using cursor as my main AI powered coding IDE after getting hit by a surprise $100 bill. To say this was a bit frustrating would be an understatement, but this led me to explore GitHub Copilot, and after using it for several weeks, I haven't looked back. So, let's talk some more about AI coding IDEs in this video. First, I want to talk about the $100 bill that I got hit by on February 21st. Cursor's pricing plan was a fixed cost for quite a while before they turned into some pay-per-use model where you get a fixed usage for a monthly subscription, and then you get charged for any overage. So, what I did was build a simple feature using Claude 4. 6 Opus, which is a pretty expensive model, and I was well aware of that. However, what surprised me was that after implementing this feature, which cost not that many tokens, I kept getting these charges basically every couple of seconds, I guess. And you can see that each charge is like 50 cents, 30 cents, and they quickly added up. Now, I did have a spending limit set on my account, but it blew through it right away, and I wasn't even using Claude for any work while I was getting these charges. This was very confusing. Now, if I take a look at the spent tokens for each of these charges, you can see that there's some cache read that contains a bunch of tokens, and I got charged for this even when I wasn't doing any work. Now, all of this might be just me being stupid and not realizing how cursor actually works, but to me, I don't expect to get charged if I'm not actually using a large language model from any IDE. Obviously, this isn't the case with cursor, but nonetheless, this led me to explore GitHub Copilot. So, Copilot starts from 10 bucks a month, and it gives you quite a bit of usage for that cost. To compare this with cursor, it starts at 20 bucks a month as the baseline price, and I think you're definitely getting more bang for your buck if going with GitHub Copilot. You also get access to pretty powerful models within Copilot, and this somewhat compensates for the differences in features between these two services. Now, a couple of things that you do get with GitHub Copilot is code reviews inside of your GitHub repos. You can also use Copilot inside of VS Code and Visual Studio. So, if you're already using these, it's a natural extension to your ecosystem without having to use external tools. For the longest time, what I did was use Cursor to generate the code and then switch to VS Code or Visual Studio to validate that it all works correctly. Also, if you ever use up your monthly allowance, you can always set a budget to pay for additional usage. Just wanted to note that. Now, let's actually compare what it looks like to work with Cursor and then GitHub Copilot from VS Code. One thing I really like with Cursor, and I've used it quite often, is the plan mode where I can give it a prompt where I tell it to analyze my application's use cases, which are located in the application project, and I want it to tell me which key use cases are currently missing that we're going to implement after the fact. So, I can hand this off to Cursor, and I don't expect to get any impressive results right now because I'm on the free plan, which has limited models and limited usage. Nonetheless, this should give you a high-level idea of what the plan mode does. So, after it completes with the analysis of my code base, it's going to output this markdown document that represents my plan, and it gives me what my application currently supports, and then it identifies some key functional gaps or missing use cases. And after I have this plan, I can then hone in on a specific missing use case and instruct Cursor to go ahead and implement that. Switching to VS Code and GitHub Copilot, the UI is pretty similar. We've got a couple of modes here, agent, ask, and plan. So, the plan mode would be analogous to what we had in Cursor, and I can also use more powerful models since I'm on the paid plan, and I've been using Claude Opus 4. 6 for a couple of weeks now, and it's an absolute beast. Anything I give it, it can implement in one shot. So, I'm going to give it the same prompt that we gave Cursor, and I'm going to let it do its work. So, that's going to proceed with the analysis, and I expect this to complete significantly faster. However, it's not going to output its findings into a nice markdown document like Cursor does. On the other hand, this isn't really an issue because I can then just switch to agent mode and tell it to output its analysis into a markdown. So, it's going to give me its analysis in a format like this, and there's actually an open in editor button that I clicked, and it automatically injects a prompt to create a respective file. So, now I can actually open it, and then I can analyze the contents inside. From here, I can continue iterating on my features. So, I'm going to go ahead and save this. I'll go ahead and create a new document at the directory root. I'll call this the missing use cases plan. I'll make it a markdown document, and I'll just drop our plan inside, and I'll use this as the baseline for implementing our new features. Now, let's first try to use this from Cursor. I'll go into agent
Segment 2 (05:00 - 08:00)
mode, open up our plan, and I'll make sure to use this in the contents, and I'll tell it to implement the first feature from our plan. I'll hit enter and let it do its work. Once it has some concrete instructions, it's actually pretty fast to work with, and what I want to show you is just what the UI looks like when Cursor generates the respective files. You can see that we're getting the updated files here. It's also going to prompt us when it wants to build a solution or do anything else, and it created my update to do command validator, which was previously missing, and it also defined my missing API endpoint with the incoming request, and it also called my respective command, basically just mimicking the coding conventions that I already have in place. So, obviously, nothing too complicated here, but just note the UI changes. You can switch between these files, and once I'm happy with them, I can say keep, and then move on to the next feature. From VS Code, this is going to be pretty similar. Now, let's task it with a bit more complex feature, where it will need to add all the missing pieces, and I'll just say, "Can you implement? " And I'll drop the complete row from our plan. And I'm going to let it do its work, and you'll see that it looks very similar to what was already happening in Cursor. It's going to create a list of to-dos, so that you can actually track what the plan is for the implementation, and how the progress is moving along. And as it's moving through the steps, you can see how the to-dos get updated one by one. Eventually, we'll start also getting some new files that we can go ahead and review, and the review experience is very similar to what we have in Cursor. So, you can see we're getting some error here, an additional domain event. It also asks for a permission when it wants to perform something, like building our solution, and it's going to scaffold all of the things I need to implement this use case, including the command, the respective handler, the validator, and anything else that's needed inside of my domain. So, overall, a pretty similar experience of using an AI coding IDE, except you pay less for Copilot, and you also have access to Claude Opus 4. 6, which is, as I said, insanely powerful. So, I'm going to accept all of these changes, as I'm happy with this new feature, and then if I want to, I can switch to Visual Studio and continue working there. And since I'm using GitHub Copilot, I also have access to Copilot Chat within Visual Studio, which is managed by the same subscription. Currently, it's not nearly as powerful as it has the agent and ask mode. However, you still have access to pretty much the same models as you do in VS Code, but that's still a positive in my opinion. So, all in all, I stopped using Cursor, I switched to GitHub Copilot, and I'm pretty happy with my decision, and I've been using it for several weeks with a lot of success. If you want to see how I approach building with AI, go ahead and take a look at this video next. If you enjoyed watching this video, consider gently tapping the like button. We don't want to be too aggressive there, no smashing or anything like that. Thanks a lot for watching, and until next time, stay awesome.