S08E09 1h 04mSeason 8

Episode Summary
Mads Kristensen discussed the upcoming release of Visual Studio 2026, which is currently available as a public preview. He highlighted some of the new features that can be expected in the final version, including improved profiling and debugging agents, which will enable developers to more effectively identify and resolve issues in their code.
Kristensen also emphasized the importance of treating bug reports with care, suggesting that they should be viewed as gifts rather than complaints. This approach encourages developers to take the time to thoroughly investigate and address each issue, ensuring that users receive high-quality support for Visual Studio. By framing bugs as opportunities for improvement, Kristensen believes that this mindset can lead to a better overall user experience.
In contrast to web development, which often involves working with external dependencies and frameworks, developing an IDE like Visual Studio is a more contained process. According to Kristensen, the primary focus of an IDE is on providing a comprehensive environment for writing, debugging, and testing code. As such, many of the features that are designed to address specific issues in web development may not be as relevant or useful for desktop applications.
Despite this, Kristensen noted that the team has made significant progress in addressing user concerns over the past year alone. The number of bugs and improvements is substantial, with much of it focused on improving the overall stability and performance of Visual Studio. By prioritizing bug fixes and feature enhancements, Kristensen believes that the team can deliver a high-quality product that meets the needs of developers.
Episode Transcription
And the first feature we have that take advantage of this deep integration is the Profiler Agent. And this is absolutely bonkers. So you can simply go to the chat window in Visual Studio and you can ask….
Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I’m your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem.
Today, we’re joined by Mads Kristensen to talk about all things IDEs, tooling, and the new functionality that Visual Studio 2026 (aka “Dev 18”) includes and how it has the chance of greatly impacting your development practice, in a fantastic way!
And we want to make sure that You know, we we do as many of those as we can. We want to remove those paper cuts, make you as happy as possible. And so if you look back at the last 12 months, we have of you know of all the bugs people have opened on us, we fixed almost 4500 user-reported bugs. That’s 18 bugs that we fixed every single work day.
Did you know that Mads was present for what many see as the inciting incident that lead to .NET being both open source and cross platform: when jQuery was bundled with ASP .NET Framework and Visual Studio.
We also took some time to talk about bug reports, the things that you and I can do to ensure that our bug reports are read, providing positive feedback, the Visual Studio teams’ velocity, and some of the amazing new features in Visual Studio 2026 like the … well, I’m getting ahead of myself. You’ll have to listen in to the episode to find out what those features are.
It’s also worth noting that I recorded this podcast with Mads back in late August 2025, which was way ahead of the public preview of Visual Studio 2026. Whilst we didn’t talk about anything that was super secret, things might have changed between recording the episode and you listening in.
Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You’ll find all the links in the show notes.
So let’s sit back, open up a terminal, type in dotnet new podcast and we’ll dive into the core of Modern .NET.
Jamie
Mads
Jamie
I guess before we start. Let’s talk a little bit about Mads rather than jumping straight into Visual Studio. I always like to get to know the person a little bit if you’re happy to give us a bit of a quick bio, a little bit of an elevator pitch, who Mads is? Who’s this guy? Because not everyone in .NET may know of you.
Mads
I’m, my name is Mads Kristensen, and I’m been a developer, you know, since I left school. I’ve always been tinkering with some sort of programming since the nineties. And I was, you know, software engineer up through my twenties in different startup companies. And you know, we used Visual Studio. I used to do VB .NET, and then because of a job change I had, so I started doing C# around 2005. you know, I’ve have done C# ever since, and absolutely love it.
But I’ve been a Visual Studio user since back twenty-five years, I guess. As a developer, as someone using Visual Studio all day, every day, and not just for like my work. But then, you know, I had all sorts of side projects. I built like some open source stuff back then. Some of your listeners might might know BlogEngine .NET, which was kind of the .NET blogging platform that was, like, I think it was the most popular at the time, like 2006/7/8, something like that.
And then 2010, Microsoft reached out and basically offers me a job in Redmond to work on the web tooling of Visual Studio for .NET in particular. And so I was already a web developer and a, you know, .NET developer for ten years using Visual Studio, and so this was a dream come true. And so this was 2010. I started in November 2010. I moved to Redmond, and I started working on the ASP .NET team; who was the one building the tooling for anything web related inside Visual Studio. So CSS, JavaScript, HTML, and of course, you know, WebForms. The Web Forms editor. and all the other features that are, you know, relevant to a .NET web developer. And so I did that for for many years.
I wrote a bunch of extensions for Visual Studio that made it even easier to be, or maybe more interesting and fun, to be a web developer. One of the the bigger ones was called Web Essentials. People might know that one. It came out like twelve years ago or something like that. You know, many versions of that, you know, it was just fun. I was a web developer myself, so like having all these features and and building all these features into Visual Studio was fantastic for me, of course, as a web developer. But you know, I could see that other people really liked it too. Like we got a lot of great feedback for it. We got a lot of usage on all that stuff. So that was fantastic a time of my life, really. I look back on that like really fondly.
Later on I moved over to the Visual Studio team, which is separate from the .NET team, but they’re very closely related, but they are organizationally different. On that team I worked on extensibility because at that point I’ve written so many Visual Studio extensions that I became kind of an expert in that. And so that was, I moved over to that team to be the Product Manager for extensibility. And I did that for several years. and I’ve been on the Visual Studio team ever since in different you know, aspects and capabilities and so on. So… or sorry, not capabilities, capacities. You know, I call myself "the junk drawer of Visual Studio," so I do a little bit of everything and absolutely enjoying it.
Nowadays I’m mostly focused on the users, making sure that the users, whatever they need, what they want, what they think about Visual Studio, that all that comes back into the product teams, come back into the engineering teams, and that we can act on it and do something new feature-wise and and you know remove paper cuts, add delighting features, make people happy, and make Visual Studio as as good as it can be.
Jamie
Mads
And we shipped it in Visual Studio. It was part of the project template. When you say "File > New > ASP .NET project," you know, jQuery would be there: jQuery.js. And we built that into NuGet as well. So you could share, you know, your JavaScript frameworks could be shared on NuGet as a transport mechanism. You know, that was, you know, Phil Haack did that back in the days. This is, I’m name-dropping here, but this is all the stuff that took place around the time, like 2010, 2012, somewhere in in in there. So it’s been a while. But you know, of course we’ve fully embraced open source and have done so ever since. Everything is open source these days, almost; at least what makes sense, right?
But that all started with that jQuery thing back then. And it was it was a huge deal because we were not ready for it. We didn’t know, like, is with the legal system and, like, what were we allowed to do and, you know, what would the lawyers allow us. There was a whole lot of new firsts that we had to basically break some new ground, and figure out how all this stuff worked, and how we could ship something open source with our all of our, the rest of our stuff; which is, at the the time, was not open source, right? And so how does all that work? And that was fascinating to be part of.
Jamie
Mads
Jamie
Mads
But me also had MVC. MVC was out at that time, I think it was MVC 2 or 3, and so that you had that kind of stateless nature of web at that time on the .NET side. Of course, before all that when it was ASP classic, that’s how I started with web development, back in the 90s, I mean that was stateless. If we don’t include session variables and stuff like that, but it was stateless.
Yeah, and then when you come over, you you work on the ASP .NET team, but I worked on Visual Studio for the ASP .NET team; for the ASP .NET Developer features in Visual Studio, right? And of course, Visual Studio is a desktop app, and it’s probably one of the largest desktop apps in the world. We don’t really know how many lines of code there is, but an estimate is like around 200 million lines of code. It’s just a very different thing than building websites, that’s for sure, right? It’s a completely different world.
Jamie
Mads
And you know, IDEs: before I started using Visual Studio heavily, I used various different editors and whatnot. And, you know, I think what really happened with Visual Studio was I fell in love with the concept of an IDE. Like the notion that you have, kind of, what you need and you have that, sort of, F5 experience: "just run your code. Set the breakpoint, debug through it." You have the IntelliSense, you have testing built in, you know, test explorer and all that. And it’s all kind of just there. And it all seamlessly, kind of, works together and you can be productive immediately.
That was like something for me that was a hugely empowering thing; because having all that power means that I can go from "idea in my brain" to like "a working prototype" in no time. And knowing that whatever I can dream of, I can also build. Granted, I might have to learn something. I might have to go look at documentation for various different libraries and frameworks or whatnot. But knowing that it’s something that’s within my reach and I can go ahead and do it if I want to, that’s a hugely empowering thing.
And I think IDE has a lot to do with it because it removes a lot of unknowns. Like if I’m not in an IDE, if I’m in a text editor, I have to set up my entire tool chain and, you know, build system and whatnot; like there’s a lot more to to set up. There’s a lot more like mechanical parts, you know, moving parts to the story. And I think not having to worry about that, and just kind of worry about, "hey, that’s the app I want to build, that’s the idea in my brain that I want to see in real life." It seems like the the the distance from idea to working prototype is much shorter. At least for me, that’s my experience. That’s why to this day, twenty-five years later, I’m still like loving Visual Studio. It’s my favourite thing to do is to start up Visual Studio and code something.
And I think that’s the power of the IDE.
Jamie
One of my thing favourite things to do with any IDE is just click around in the menus and see what I can find, right? Because invariably there’s some tool somewhere that someone on the IDE team, say someone on the Visual Studio team has thought, "do you know what would be really good? If I could like deeply inspect the memory?" Or, you know, or I can do like a generate a GUID or something like that in the IDE; so then I don’t have to worry about loading up a page. Or like I can, you know, maybe I can just paste some JSON and have it automatically convert that to C# or whatever, right? It’s just like like you said, dealing with the paper cuts and adding… I forget the, was it the the phrase that you used was, "adding delight?"
And I think that’s the thing that a lot of devs who spend a lot of their time in Visual Studio kind of miss: that there is loads of stuff there that you can actually, "oh wow! It can do this! Oh did you know it can do that! Wait there’s a button for that, too!" Like there’s so much that you can explore and so much joy you can get just by clicking through menus and going, "what does that do? Oh, what’s that do? Why would I need to be able to do this? Wait, now that makes loads of sense." You know what I mean? There’s just so much there to sort of explore.
Mads
And if you’re on the preview version of Visual Studio, which I would recommend anyone to at least try out; you can have it installed side by side with the regular stable version if you wanted to. They don’t interfere with each other. I always just run the preview version. I don’t ever use the stable, I just always run the preview. But in there you got all these preview features where it’s, like, the team is, like, "we want to roll out a new feature but we’re not completely done yet. We want to get some more feedback, or test how people are using it, or something like tha. So we’re gonna just put it behind the feature flag." And so you can go in and you can enable those different features that are, kind of, it’s almost like, kind of, a labs type of thing: where you can get, like, even earlier preview of features by going and exploring what’s available and what you can turn on, what you can enable. And there’s some fantastic things in there. That’s always fun to look at.
Jamie
Mads
Jamie
Mads
Jamie
Mads
Jamie
I guess with that then, does that mean that—and I’m not asking for any kind of secret source or whatever—but does that mean that managing the installer from y’alls perspective becomes more difficult to do, right? Because you’ve previously had lots of different products, lots of different installers. Now suddenly there’s, in effect, one installer to rule them all. And I guess you guys have to manage that too.
Mads
Of course it’s, like, I make it sound like maybe it’s easy and all that. There’s definitely work involved, but it’s designed with that in mind. So it’s not that big a deal, let’s put it that way.
Jamie
So I have a I have a thought on… okay, first off, naming conventions. Naming stuff is hard. Right? And and we’re talking, like we originally got talking about the "Visual Studio 18 Public Preview." And there was 18, is Visual Studio 2026. Or is it 2022? And you know, like it would make sense if it was 26? But like I appreciate that there’s some legacy stuff there, but what’s with that naming convention?
Mads
You know, most of us that even work on the product, we’ve never always liked it, but there there are some reasons why we always have the year as the moniker on, you know, Visual Studio and then followed by a year. The obvious problem is that when that year has come and gone, it now seems like it’s old. Like, that we, today in the year 2025 ,talk about Visual Studio 2022, that now seems like a very old version. You know, Visual Studio 2022 came out in November of 2021. So it’s like four years old, right? But it’s not four years old. We update it all the time. It is an absolute modern developer experience that you’re going to have using Visual Studio 2022, but that name that has the 2022 moniker on it does not make you feel that that’s the case.
There’s a bunch of reasons for why we have it and I don’t understand them all to be quite honest, but it has to do with how the licensing works, how support works, and subscriptions. You can buy a license, for instance, there’s different types of licenses, and so there might be a license that said, "hey, you can you can, use Visual Studio 2022 and all of its updates forever. "It’s like, "oh okay, that means that we have to have a new version." Otherwise, you’re basically saying, "you can buy Visual Studio once and now you have Visual Studio for free for the rest of your life," let’s say, right? If we didn’t adopt kind of a version number change or something like that. And so there’s a bunch of like weird license stuff that like that that comes into the picture.
And I hope that we have something to share that’s gonna be kind of exciting on that front later on, but we’re not quite ready to to talk about that yet. We don’t have it ironed out. That’s, kind of, a little bit of the history of why we have the year and why the year lingers on for several years at a time.
Now the the question about the 18, the Visual Studio 18: Well that’s simply because that’s the internal version number of Visual Studio 2026 is 18, is the 18th version of Visual Studio. And internally we always refer to the different versions of Visual Studio as that number. So we call it, we don’t even call it &quopt;Visual Studio," actually. We call it "Dev." "Dev18." "Dev17." Dev 17 is Visual Studio 2022. Dev 18 is Visual Studio 2026. So 18 is just our internal version number that we use. It was one that we considered. "Oh maybe we should just make it 18." But we’re gonna it 2026, and I think that’s a better better name anyways.
Kind of what people expect a little bit and we have more reasoning around it coming out shortly.
Jamie
Mads
Jamie
Mads
Jamie
Mads
Jamie
Mads
So one aspect is performance. And you know that we’ve always had like a lot of people have had issues with performance when they’re dealing with, like, large solutions in particular. But performance is always something that people are giving us feedback on, that they want to see improved. And we’ve spent a long time and a lot of effort in looking into performance for this particular release. Anything from like solution loads to startup time to typing delays, open documents and so on. Moving things off the UI thread. So oftentimes when you’ve done an, taken an action in Visual Studio, you’ll see that Visual Studio is kind of frozen. Sometimes just for a tiny little bit, sometimes for several seconds, and maybe sometimes even longer. And that’s because whatever operation you’re doing, whatever the process is running, is doing that on the UI thread, which means the UI thread is busy, it cannot do anything else. And so we’ve spent a lot of time moving things off of the UI threat onto background threads. And, you know, this is something we’ve been doing for many years. But this time around we finally got around to some of the big items like solution load and all that that’s like more complex, and we’re able to offload that off of the UI thread. So you’re gonna find it to be much more responsive, faster. It’s just more kind of a fluent experience. So I think performance and fluidity is is a key thing for this release that I’m very, very happy about. And I really enjoy using it and I feel it every day, that difference. So that’s nice. So that’s one thing.
Another thing that I really like is the new UI. So if you’ve been on the preview of Visual Studio 2022 and you’ve enabled that preview feature called the new UI, you’ve seen this before, and it might not be new to you, but if you haven’t, then you’re gonna see that the UI looks very different. It’s using the new fluid UI design principles. It’s much more modern. It is kind of cleaned up. The spacing between things have been optimized. It’s just such a pleasure to look at and when you’re sitting in it all day long, it like makes a huge difference. It’s like just more relaxing. I’m really in love with all the new color themes that are in there. So we ship, in addition to light and dark, we have 11 additional color themes that we ship with. So there’s something for everybody. There’s a bunch of light themes and a bunch of darker themes in all sorts of different colors and whatnot. I just really enjoy some of these themes, to be quite honest with you. The one I prefer the most is the one called "Cool Slate." It’s kind of a dark blue-black kind of thing, and I don’t know. It’s just it’s just yummy.
We got new icons. Yeah, the whole UI has just gotten a big overhaul. So it just feels like much more modern. It feels much more, doesn’t feel maybe as dated. And so that’s nice. It’s nice feeling to have that you’re not sitting in something that seems old, right? It’s this one seems new, it’s fast, it’s delightful. It’s beautiful, and that’s what we hear, both when it comes to performance and the new UI.
These are the two things that we hear the most from people that have tried it so far. Like they are absolutely loving those two aspects. And this is not something we go out and ask. We don’t ask people, "hey, what do you think of the performance? And what do you think of the UI?" This is stuff that people just out of nowhere come and say, "man, this is the most beautiful Visual Studio ever," or whatever. Or, "oh man, it it’s so fast, it’s such a delight to use." I’m not exaggerating. This is what people tell us. These two things. But this is like probably 80% of the feedback we get is that people love the performance and the new UI. And it also happens to be my two favourite things. I would say that those are those are huge.
Another one I could call out, you said three, so let me let me throw one more out there: Copilot. You know, I use AI more and more, not just in Visual Studio, but like, you know, for everything: whenever I write emails, whenever I do PowerPoints, whenever I do, even if I do like social media stuff I have for, you know, I used Copilot to kind of help me out like with my wording and my grammar and all that type of stuff. I use it for deeper research, you know, and then I use it for Visual Studio as well. And the way that it works in Visual Studio 2026 is at a much deeper level than it was kind of possible before. Think of Visual Studio 2026 as a, and part of it is like a platform update or an infrastructure update that makes it possible for AI to get much broader knowledge about what’s going on in the IDE. Because we can integrate the Copilot in Visual Studio much deeper into all the different features from the test explorer, and code coverage to the output window to you know it you know whatever it might be. Some of the Azure publishing and you know, we can go really deep. And so that infrastructure piece is kind of the beginning to what we can do going forward with Copilot. And the first feature we have that take advantage of this deep integration is the Profiler Agent. And this is absolutely bonkers.
So you can simply go to the chat window in Visual Studio and you can ask. And by the way, this is, you know, you can use this for free if you have Copilot free. It doesn’t cost you a cent. You can say, "hey," you know, in the chat one, you can ask the profiler to optimize the performance of your app, your project. And it’s crazy. It will run profiling on your solution, on your executable. It will find out what the hot paths are, it will come up with recommendations to fix them. It will fix them and it will give you a new set of benchmarks to prove that it has a positive effect on the performance. It is absolutely crazy and I encourage you to go see some of the demos that Nate Karpinsky, who’s the lead engineering manager on on the Profiler Agent, that he’s been doing. It is so impressive. I use it all the time. I’ve been starting to use it on all my extensions for Visual Studio. And it’s a complete game changer because I don’t know a bunch of these techniques for how to properly, let’s say. optimize LINQ queries or how to do all these kind of, you know, if I figure out that there’s a hot path somewhere in my code that, "you hit this too many times," or whatever, or "do you you know you allocate too much memory in this, you know, string something, something?" Well, what is the correct course of action? How do I actually fix this? All right. And then also, how do I verify that the fix made a difference?
If you’ve never done profiling before, if this is new to you, if you don’t know the lower level of like how .NET works, let’s say, like what’s the difference between a let’s say a dictionary and a hash set. And what are the different variations of each that are more optimized for certain things, right? Those are things that the Profiler Agent will know and will tell you and and will help you implement. So I’m super excited for that, just simply because it opens up the door for something that to me I’ve never been able to utilize fully before. I’m now able to do something that I’ve always wanted to do but I’ve haven’t had the skills to do properly. If you know what I mean? It’s like there’s a difference between something like this and then, "hey, this is faster and more convenient,and I like using it the product better every day. I get a smile on my face." That’s one category of things. This is a category of thing where I can become a better software developer because this exists. Like it opens a door that wasn’t open to me before. I didn’t have time to look into it, I didn’t, you know, or time to like get to learn these techniques. And now I have it presented for me in a very easy way. So this is one of those very, very empowering things.
And you know, again, this is what I said in the beginning: this is the reason I do what I do is that feeling empowered. And so these is these are the two key aspects, right? I want to feel empowered. I want to be able to build fantastic software. And I want to do it with a smile on my face every day. And I think that is what Visual Studio 2026 is. That is what it is to me, and I think it will be to anyone listening to this as well.
Sponsor Message
Today's episode of The Modern .NET Show is brought to you by RJJ Software: strategic technology consulting for ambitious SMEs.
You know me as the host of this podcast, but here's what you might not know: I'm also a former Microsoft MVP who's helped businesses from Formula 1 teams to funded startups transform technology from a cost center into a competitive advantage. At RJJ Software, we specialize in three things that matter to growing businesses:
- AI that actually delivers ROI: not hype, just practical implementations that pay for themselves
- Developer Experience optimization: we've helped teams achieve 99% faster deployments and 3x productivity gains
- Strategic technology decisions: from architecture reviews to fractional CTO services
The difference? We don't just advise. We ensure successful implementation through knowledge transfer to your team.
If you're an SME leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk.
Visit rjj-software.co.uk/podcast to book a strategic consultation.
Now, let's back to today's episode...
Jamie
Mads
Jamie
Mads
Jamie
Mads
First of all, it helps us make the feature better, the agent better at identifying things. But if we can help speed up libraries that are used by thousands, if not millions of apps and websites and APIs and whatnot out there, then like that would be a huge win for everybody, right? So we’re doing that. And then we’re also pointing it inward toward Visual Studio as well to have it go and explore the code base and come up with some some nice performance gains there as well. And so this is all very exciting stuff. And yeah that’s my number three of exciting things about Visual Studio 2026. But I got a lot more.
Jamie
Mads
Jamie
Mads
You know, I run a bunch of open source stuff and I get a bunch of, you know, I have over two hundred extensions for Visual Studio. And I get, you know, issues and pull requests and stuff all the time. Feature requests, so many of them. I, you know, I can’t handle all that. But I’ve been starting to just a assign some of these simpler things to the coding agent because it, you know, that’s the way I can scale myself and it’s easier for me. But I will say it depends. Like sometimes if there’s a certain complexity to it, then the code review itself can take as long time as implementing the feature myself. But you know, as I’m getting better at understanding some of these feature requests and how AI works, I’m also better at assigning it things that I know it can do kind of on its own. And so I think that’s one aspect. Like scale yourself, to a degree, so you become more efficient, you have higher velocity, let’s say.
Another aspect of it is: things that help you improve your skills. So I think the Profiler Agent is one of those areas where you don’t know how to do something, and now all of a sudden you do. Your capabilities grow. We hear this all the time. Like people really love the debugger in Visual Studio. It’s super powerful. But you also know that sometimes you run into some debug thing where you simply can’t figure out how to debug a certain scenario. It’s complex and whatnot. And there’s always that colleague that’s the go-to person when it comes to debugging, that understands all the low-level stuff that can get into WinDBG and and work from there, and see things that you simply can’t see because it’s like too low level, maybe. What if that could be you? Right? What if you no longer had to go to that colleague that debugger rock star, let’s say, right? What if that could now be you? And so by taking advantage of some of these you, kind of, start learning about, "oh, why is it that a while loop is faster than a like a certain type of LINQ query?" or whatever it might be. You start understanding how these things work. And you become a better developer from it. So profiling is one aspect, debugging is another, unit testing. You know, the list goes on and on. It could be any type of thing. And so I think those are the two aspects that are to me I think something that I use today, but I can see myself using more and more as they also become more capable and that we have more scenarios covered. So that has me very excited, those two aspects.
Jamie
Mads
Then AI it’s, of course I think we often think about it as a category on its own, but I feel it’s kind of just an extension of of what’s already there, of what an IDE is and what we expect from it. It’s kind of just the next wave of of that. So I don’t see it as a separate thing. But anyway, that AI, I think, is a is an important factor. You know, we’re also very, very keen on making sure that the fundamentals are as good as they can be. So we talked about performance already. We consider that a fundamental. But another fundamental is, you know, the paper cuts, features you expect from an IDE.
So let’s say if other IDEs out there, the competitors or whatnot, if they have certain features that you expect. "Oh, you know, it has existed for years." You expect all modern IDEs to have the same feature. Well, Visual Studio, we want to make sure that we have it in Visual Studio as well. It could be keyboard shortcuts, like adopting industry standard shortcuts. And, you know, there’s a whole bunch of things that we want to make sure that we get right. And so a lot of it comes from all the feedback that we get from people, you know, we get a lot of feature requests, we get a lot of bug reports. And we wanna make sure that, you know, we do as many of those as we can. We want to remove those paper cuts, make you as happy as possible. And so if you look back at the last twelve months, of all the bugs people have opened on us, we fixed almost 45,000 user reported bugs. That’s eighteen bugs that we fixed every single workday. And a lot of those are going into 18, going into 2026.
And when it comes to feature requests in the past twelve months, and this, by the way, these numbers are counting. They’re getting higher, right? The trend we have when it comes to user reported feedback is that the rate of which we are implementing them, are they going we’re trending upwards. So these numbers are only gonna go up. When it comes to feature requests, we’ve done 290 in the past year. So that’s 1.2 requested features that we’ve implemented every single workday in the past year. So some of it is small stuff. You know, things where you’re thinking, "hey, how can this… why is this relevant?" Some people might think that, right? And and we do get that, but everybody wants different things and people see different things.
So I have an example that I, kind of, like to use because it illustrates this pretty well. In 2026, we now have the line number margin over on the left side of your screen in the editor used to be pretty wide. Let’s say you only have three numbers in there because you didn’t have more than 999 lines in your file. The line number margin would still be wider. It would still be like it would have room for like five digits instead of just three. So why waste that space? So in the new world, it that line number margin is as small as it can be. So if you only have, you know, two digits, then it’s gonna be the width of two digits of numbers. So a lot of people they just shake their heads, like, "okay, who cares?" And then you have a bunch of people that are absolutely up in arms. They will say something like, "I had no idea I wanted this till I saw it." And and this is about these details. Some details matter to people, to some people, some details matter to other people. What they all share is that some details matter to everybody. We all have our pet peeves, we all have our paper cuts, we all have our things that we encounter that is unoptimized for our workflow or just our liking. And so when we get those feedbacks coming in, when we get those tickets opened up, these are the type of things we want to make sure that we fix as fast as possible, make everyone happy.
This is about what we call making Visual Studio as lovable as possible. So this is a tall order, of course, and like how do you make something lovable that has a you know, Visual Studio has a bunch of problems, like all software, but just the size of Visual Studio and the, you know, the category of app that it is: it’s for developers and developers are very particular, right? You know, we get a lot of, let’s say, negative sentiment about, "hey why is it slow?" or "why doesn’t this work or that work?" We want to make sure that, whenever we do something, we do it in the most lovable way. And we want people to have a smile on their face. We want people to wake up in the morning and be excited to get to work, open Visual Studio, and use, you know, C# or C++ to solve the problems of their business using Visual Studio and love what they do.
And that’s the goal of Visual Studio 2026. It’s the it’s the to create the most lovable developer experience. And I think we are as close that as we’ve ever have been to that And I can only see the business getting better and better with every preview we’re shipping, with every new feature we’re building, we’re getting closer to this. And I think the feedback tells that same story. So yeah, I’m very, very excited.
Jamie
Mads
Jamie
So first off, folks who are listening in, you want to submit some feedback for the Visual Studio team, hit that button. It’ll take you through a wizard on how to do that. But then conscious that we’re all A) running low on time, but also B) I don’t want to give away any secret source that you have over there. Earlier in the season, we talked to Safia over on the ASP .NET team, and one of the things that we brought up was like giving and taking feedback from the user base, from the customers of yourselves, right? So like as part of the Visual Studio team, developers are your customers, right? Or are your users, whatever phrase you want to use.
So I’d be interested to know the experience, I guess, of separating the constructive from the less constructive, shall we say, feedback from developers. You know, you said, you didn’t use these words but you said like developers can be quite opinionated on what they expect and what they will see. You know, I have a feeling, and please correct me if I’m wrong, I have a feeling that by by default, in normal feedback terms, you’re probably gonna get more negative feedback than positive, right? "I expected this to work and it didn’t work. I am now sad." Versus, "this is awesome! Please go tell the developer that implemented this feature that they need a raise because this feature is amazing."
Like, yeah, is there a huge difference between the positive and negative feedback? And how do you, as a team, figure out constructive from non-constructive feedback? Because I feel like that’s some advice that all developers can take, not just to submitting their own feedback, but obviously dealing with bug reports and messages from users, right.
Mads
So yeah, most feedback is by nature negative. Not negative as in: it’s not like personal and they’re calling you names or anything like that, even though that happens. But it’s just, it’s more natural. People say, "hey, something is wrong or unexpected." We have recently, in the last three years or so, we’ve started to get feedback that is just positive. Like, "hey, thank you and the team for doing this," and, "thanks for like this is such a great thing." Or, "wow, Visual Studio." We never really got positive feedback out of the blue before unless we asked for it, like unless it was a part of a survey or something where people could type in, like a verbatim, you know, text, whatever. But we’ve started to see that. And I think that’s that’s part of this whole lovable software that, it situating that lovable software has a lot to do with listening really carefully to the users, treating everyone with respect, doing everything you can to accommodate what the users need and what they want. Like that’s two different things.
Anyway, so we see a lot of that positive feedback coming in for the kind of for the first time in the past few years. The negative feedback, the way we deal with it, because, you know, when you file a bug, it’s never like a happy experience or a happy moment that make you file a bug, right? It’s usually because something negative happened. But the way that we look at it, at least the way we want to look at it, is that every piece of feedback you give is a present. It means you care enough. If you didn’t care about Visual Studio, you wouldn’t write us. You wouldn’t fill out a form saying that, "hey, that, you know, there’s an issue with the intelligence in this particular situation," whatever it might be. It’s only if you really care that you do that. And so the realization that people that open bugs actually do you a favour changes a lot of how you see and value that, let’s say, quote unquote negative feedback. Because it’s not negative feedback, it’s a gift that the bug exists whether you know about it or not. So we we’d rather know about it. And thank you for telling us. And so that’s kind of the mental model I think that you need to have. when it comes to having like an open issue tracker and you let people fill it up and vote for other issues and feature requests and whatnot.
Now the way we kind of prioritize around those bugs, we use various different things to prioritize like what what makes us fix a bug that you’ve opened? Well one is: does it have a lot of votes? That’s something we look at. Of course, something that has a lot more votes is probably has a higher impact. Like it affects more people. And that’s something we always look at, like the size of the impact, like the amount of people that is affected. But then also the severity. How severe is this? Is it just a nuisance? Is there a workaround or is it, you know, is it blocking? Can you no longer do your job because of this bug? So impact and severity are so. And so so when we try to figure out, "well, what is the impact, what is the severity?" So one is like votes. Another one could be paying customers versus version the customers that use it for free. How many of those votes, and comments, and interactions on each of these tickets do we see? I think everybody would expect that, "hey, if you pay for software, you also have a different expectation to any bugs that you find being fixed," right? I think that’s, like most people would would think so. And so with Visual Studio is that’s absolutely true. Like if you pay for Visual Studio, you actually get priority bug fixing and feature request considerations.
So anyway, so that’s that’s one way we look at it. We also look at are there anything that we’re doing in this area anyway? Are we opening that part of the code? We might as well fix the bug when we are in there anyway. So even though it’s a small bug with little you know little impact, let’s say, "hey, we’re we’re doing some work over here anyway. Let’s just fix this." That could be another consideration. There’s not like one clear answer. Every team is a little bit different in how they look at it. But roughly it’s an assessment of impact and severity that we’re looking at.
And then what can be hard sometimes is that people will talk up a big game. They will say, "hey, this is the you know the the biggest issue ever. I can’t do anything. I’m totally blocked." And then you realize it’s such a niche scenario that pretty much only affects this one person. But it could take you a long time to find out that, "hey this might not be as severe as this person makes it out to seem." And we we have people, sometimes, that are absolutely relentless that, you know, they have an issue that affects them and and other people too, but there is a workaround. You’re not blocked. It’s an inconvenience. It’s extremely expensive for us to fix it. And just the investigation alone could mean that it would be other teams. It might be in Windows, might be in, you know, Edge or, you know, some other part of Microsoft, let’s say, and and it just becomes this, it balloons into this huge thing. And it doesn’t seem like that when you’re on the outside. And so you get frustrated and you keep like hammering on social media and commenting and so on. And so how do you then see kind of that kind of false impact or false severity out of the you know. That’s a hard thing and it’s you know, experience helps with that. But there is no clear answer that this is how we always do it in this in this situation. So I would say that’s the kind of subjective. Each team is different, each ticket is different, and that that’s the name of the game.
Jamie
Mads
So the there really is no difference between how you yourself would get a bug report from your users, right? Or your testing team or whatever it is, if you’re a software developer. Like it’s the same for us. So when you do the you go into Visual Studio, go to the help menu and send feedback from there, we do collect logs and traces and stuff. But sometimes that doesn’t give us the entire picture. And so to improve the chances of a fast bug fix is that you have, you know, repro steps. If you can have a code sample or if you can do like a minimal reproducible project, for instance. Like can you isolate the issue into like, "hey, here’s a code file," or "here’s a simple ZIP file with a simple project inside," that if you open a Visual Studio and you, you know, you follow your repro steps, you will see this issue. That is so much easier to deal with because if we cannot reproduce the issue and you don’t really give us anything. Then we’ll have to reply back. We’ll have to kind of send the bug back to you and say, "hey, we need more information. Can you do this and that?" And now, you know, we’ve already used some time here. So that might be a week later, and then maybe it takes you a week to follow up, and then we still can’t reproduce it, and the dance go back and forth, and then it sometimes it fizzles out. And so the best chance of this is to have as strong of a repro step that guarantees that we can reproduce the issue.
Like if we can’t reproduce it, we can’t fix it. Just like in your software world, right, when you get a bug, it’s the exact same thing. That’s the key
Jamie
Mads
I actually do every now and again, whenever I see some nice comment or something, I take a note of it. And then every now and again I send out an email to the team with like all these different tweets and YouTube comments and whatever that have been positive. as kind of a morale boost or kind of like a, "hey look what people say. They’re happy about Visual Studio," and I sent that out and you know the team really, really loves that. And and I’m guessing like, hey, if you’re listening to this, that might be something you want to consider for your team as well. This is something people really like. Like one thing is that when you tell your colleagues that you really appreciate the feature they’ve been building or whatever. It’s different when it’s the external customers, the users that say it. It kind of weighs differently. It feels different. So I can recommend doing that.
Jamie
So somebody’s listening in and going, "right, remind me again how do I get this preview and what that kind of stuff. I just go to visualstudio.com and push the preview button?"
Mads
Jamie
What about, you know, you said earlier on you like to capture positive sentiment on Twitter, on YouTube, and on the blogs. So is it just literally a case of have a look for Mads or the Visual Studio team, on Twitter and just say, "hey, @mads, this is awesome. And I did this amazing thing, and look at how cool it is. Can’t believe it." Send. Like is that the kind of thing you’re after.
Mads
Jamie
Mads
Wrapping Up
Thank you for listening to this episode of The Modern .NET Show with me, Jamie Taylor. I’d like to thank this episode’s guest for graciously sharing their time, expertise, and knowledge.
Be sure to check out the show notes for a bunch of links to some of the stuff that we covered, and full transcription of the interview. The show notes, as always, can be found at the podcast's website, and there will be a link directly to them in your podcatcher.
And don’t forget to spread the word, leave a rating or review on your podcatcher of choice—head over to dotnetcore.show/review for ways to do that—reach out via our contact page, or join our discord server at dotnetcore.show/discord—all of which are linked in the show notes.
But above all, I hope you have a fantastic rest of your day, and I hope that I’ll see you again, next time for more .NET goodness.
I will see you again real soon. See you later folks.
Useful Links
- BlogEngine .NET
- visualstudio.com
- Mads on X (formerly Twitter)
- the Visual Studio team on X
- Supporting the show:
- Getting in touch:
- Podcast editing services provided by Matthew Bliss
- Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
- Editing and post-production services for this episode were provided by MB Podcast Services