{"id":495973,"date":"2024-07-23T15:50:38","date_gmt":"2024-07-23T14:50:38","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=dotnet&#038;p=495973"},"modified":"2025-09-16T18:58:50","modified_gmt":"2025-09-16T17:58:50","slug":"resharper-20-years","status":"publish","type":"dotnet","link":"https:\/\/blog.jetbrains.com\/en\/dotnet\/2024\/07\/23\/resharper-20-years","title":{"rendered":"ReSharper 20 years!"},"content":{"rendered":"\n<p>JetBrains celebrated <a href=\"https:\/\/www.jetbrains.com\/lp\/annualreport-2024\/\" target=\"_blank\" rel=\"noopener\">24 years<\/a> this February! Now, the company comprises 2,200 employees, 40 products, 3M total customers, and 11.4M users who regularly use and trust our tools. But how did it all start? IntelliJ IDEA was the first flagship product we launched, but right after that came ReSharper, which is celebrating 20 years on the market this week!<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video autoplay controls loop src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Twitter.mp4\"><\/video><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Back in 2004<\/h2>\n\n\n\n<p>You still can find this <a href=\"https:\/\/resharper-support.jetbrains.com\/hc\/en-us\/community\/posts\/206097229-ReSharper-1-0-is-released\" target=\"_blank\" rel=\"noopener\">message<\/a> on our support forum from July 21, 2004:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><\/p>\n<cite>We are proud to announce that ReSharper 1.0 have just been released today.<\/cite><\/blockquote>\n\n\n\n<p>Well, since then, we created <a href=\"https:\/\/lp.jetbrains.com\/grazie-for-software-teams\/\" target=\"_blank\" rel=\"noopener\">Grazie<\/a> to help check the quality of our texts before we publish them and avoid grammar mistakes ?. Grazie has been integrated into ReSharper as the main spell-checking engine since <a href=\"https:\/\/blog.jetbrains.com\/en\/dotnet\/2023\/12\/07\/resharper-2023-3-release#grammar-and-spelling-checking\">v2023.3<\/a>. But the most important thing is that 20 years ago, one of JetBrains\u2019 most popular and exceptional products was released! And it\u2019s still evolving to this day \u2013 check out the timeline:<\/p>\n\n\n\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/jetbrains.com\/lp\/resharper-20\/\" target=\"_blank\" rel=\"noopener\" data-test=\"blog-article-cta\"><i class=\"download-icon\"><\/i>RESHARPER 20 TIMELINE<\/a><\/p>\n\n\n\n<p>The first release announcement was posted by the then ReSharper team:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"271\" height=\"271\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/ReSharper1.png\" alt=\"\" class=\"wp-image-496031\"\/><\/figure><\/div>\n\n\n<ul>\n<li>Valentin Kipyatkov<\/li>\n\n\n\n<li>Dmitry Shaporenkov<\/li>\n\n\n\n<li>Oleg Stepanov<\/li>\n\n\n\n<li>Andrey Simanovsky<\/li>\n\n\n\n<li>Eugene Pasynkov<\/li>\n\n\n\n<li>Nikolay Pultsin<\/li>\n\n\n\n<li>Sergey Coox<\/li>\n\n\n\n<li>Dmitry Lomov<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Many of these people are still with JetBrains after all these 20 years! Hard to believe, right? But it&#8217;s true! Some of the others are now driving other market leaders to their success. But back then, all together, these people took a brave and unique step in our company history \u2013 they created a tool for another vendor ecosystem, relying on it as a foundation and doing their best to improve it in the only way they knew and could utilize themselves.<\/p>\n\n\n\n<p>We used to say that <em>ReSharper makes Visual Studio a much better IDE<\/em>. And, due to our branding research, many .NET developers (40%) strongly agree with that. With all of its 2,200 on-the-fly code inspections for C#, VB.NET, ASP.NET, and other technologies, as well as quick-fixes, 60+ handy refactorings and 450+ context actions, unique guidance throughout the standards, and best coding practices, ReSharper is there to set the .NET development standard for all developers and other tools.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Did you know that\u2026<\/h2>\n\n\n\n<p>ReSharper was not just a pioneer product, it also served as the main breadwinner for JetBrains for several years in a row and influenced .NET and other ecosystems a lot through these years.<\/p>\n\n\n\n<p>We\u2019ve included all the major milestones in the <a href=\"http:\/\/jetbrains.com\/lp\/resharper-20\/\" target=\"_blank\" rel=\"noreferrer noopener\">timeline<\/a>, but we also want to share a few fun facts from our long history.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Did you know that there was almost a ReSharper IDE back in 2005?<\/h3>\n\n\n\n<p>After the release of Visual Studio 2005 and C# 2.0, plans to release a ReSharper IDE were scrapped due to the significant workload of building it from scratch in C#. Because ReSharper&#8217;s sales as a Visual Studio extension were growing and the Visual Studio Marketplace was expanding, we decided to focus on improving the existing extension. We never lost sight of our vision to create a .NET IDE, which was later achieved in the form of JetBrains Rider.<\/p>\n\n\n\n<p>Some code from the ReSharper IDE project remained in use for a long time, including the standalone app interface shell (tool windows and editor) that\u2019s partially used in <a href=\"https:\/\/www.jetbrains.com\/decompiler\/\" target=\"_blank\" rel=\"noopener\">dotPeek<\/a>, <a href=\"https:\/\/www.jetbrains.com\/profiler\/\" target=\"_blank\" rel=\"noopener\">dotTrace<\/a>, <a href=\"https:\/\/www.jetbrains.com\/dotmemory\/\" target=\"_blank\" rel=\"noopener\">dotMemory<\/a>, and <a href=\"https:\/\/www.jetbrains.com\/dotcover\/\" target=\"_blank\" rel=\"noopener\">dotCover<\/a>, as well as a unit test runner, and an algorithm for diff comparisons in solution files.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXcZCdEDVe73YhYQQMsUyc7VGR106NA94l6taKHou7XTLToEcT8aUDNZdsRh3Y4dmBcfgZvL6vlZUQshZ7zmlFPIM12bS9KCu1XcnL2RtZnFolI5Yx5tgRMBhzSbmTWuBAkIoyOJGsui7UsBkbPpcoEOLbB0.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Did you know the ReSharper team once used an external utility app to tackle the limitations of the 32-bit Visual Studio process?<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"1238\" height=\"1880\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/image-5-1.png\" alt=\"\" class=\"wp-image-496085\" style=\"width:200px\"\/><\/figure><\/div>\n\n\n<p>ReSharper faced memory limitations in Visual Studio, restricted to a few hundred MB, which was inadequate for complex projects. Additionally, .NET\u2019s 16 MB block memory allocation caused severe fragmentation, leaving few continuous free blocks. To address this, Leonid Shalupov developed an app that launched before Visual Studio, intercepting VirtualAlloc\/VirtualFree system calls to reduce fragmentation. The ReSharper Support team provided this app to customers until Visual Studio updates resolved the issue.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Did you know that there is a Clippy extension for ReSharper?<\/h3>\n\n\n\n<p>With support for Office 2003 coming to an end, we decided to offer Clippy another job in ReSharper. What started as an April Fool\u2019s Day joke actually became a working extension, which you can watch <a href=\"https:\/\/www.youtube.com\/watch?v=dHB47VCR1MA\" target=\"_blank\" rel=\"noopener\">in action in a screencast<\/a> by its author, Matt Ellis.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXcu6QFqA8u2nocqCRNSHGwqWa31PwJyS_C9SkSmqHSRP3i1w4g-TjTyCPKFhutbsXQ9G1NPwS0mL5C2P-hHzwNktqBTr-6XrAVABMrjmfOa3rcU6EVKDlRq7VFG0U4lV0_-s50xSCq7nUn-P8jpZPI6RRA.png\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Appreciations<\/h2>\n\n\n\n<p>During the Oscar award ceremony speech, actors and actresses, filmmakers, producers, and others express gratitude to the audience, acknowledge the award recipient\u2019s achievements, and inspire others. We want to follow this tradition here as well.<\/p>\n\n\n\n<p>First, we\u2019d like to thank Microsoft. Without Visual Studio, there would be no ReSharper. And that means no Rider, dotTrace, dotMemory, dotCover, nor many other tools born from that experience at JetBrains. Visual Studio is the product that set the bar for us and made it possible for us to drive ReSharper\u2019s innovations for years. And we are grateful to have such an inspiring companion! If we could invite one best friend to this birthday party, that would be you, our beloved Microsoft. ?<\/p>\n\n\n\n<p>Second, we want to say a huge thank you to the whole JetBrains team. For the inspiration, dogfooding, critique, crazy ideas, and fantastic execution. These people not only bring you new versions of C# and smart AI actions, integrate essential tools, and do amazing demos teaching you the best .NET practices, they also create fun quizzes \u2013 like this one hidden in the C# example on the <a href=\"https:\/\/www.jetbrains.com\/lp\/mono\/\" target=\"_blank\" rel=\"noopener\">JetBrains Mono page<\/a>, for example.<\/p>\n\n\n\n<p>Last but not least, we\u2019d like to thank all our users for being with us, many for as long as 20 years. It&#8217;s an incredible feeling to keep seeing messages from developers who have been with us for years now. And we would love to tell you all in person today just how much we appreciate your support and trust. Please continue communicating your excitement, inspiration, and (of course) pain points to us, throwing out ideas, and triggering reminders for things we might have forgotten.<\/p>\n\n\n\n<p>A recent ReSharper brand survey we ran made some of you worry about our plans for ReSharper&#8217;s future. But we want to assure you that it\u2019s not going anywhere. The way the .NET developers community sees ReSharper makes us think we are on the right track. The majority of the people we reached out to said:<\/p>\n\n\n\n<ul>\n<li><em>\u201cA tool powered by the ReSharper code engine is the most productive tool for .NET developers.\u201d<\/em> JetBrains Rider, Fleet, Qodana, AI Assistant for Visual Studio confirms that. And we keep brainstorming new ideas. Have some of your own? Share them with us!<\/li>\n\n\n\n<li><em>\u201cReSharper serves as an inspiration for Visual Studio.\u201d<\/em> And we are happy to perform this role! We know that with Visual Studio, our ideas and vision will reach a wider audience. Guiding the whole community through the tool is an achievement that not that many vendors can boast.<\/li>\n\n\n\n<li><em>\u201cReSharper helps you learn C#<\/em>.\u201d With many teachers and educators working on the team, this is essential! Just check out our recent series on C# 12 (<a href=\"https:\/\/blog.jetbrains.com\/en\/dotnet\/2023\/11\/23\/primary-constructors-using-csharp-12-in-rider-and-resharper\">Primary Constructors<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/en\/dotnet\/2024\/01\/16\/interceptors-using-csharp-12-in-rider-and-resharper\">Interceptors<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/en\/dotnet\/2023\/09\/25\/rsrp-2023-3-eap1\">Alias Any Type<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/en\/dotnet\/2024\/03\/26\/collection-expressions-using-csharp-12-in-rider-and-resharper\">Collection Expressions<\/a>).<\/li>\n<\/ul>\n\n\n\n<p>We know there are things you expect from us, things we should change or improve, and things we want to achieve with ReSharper in the future. And we hope that, for many years to come, we will keep shaping .NET developers\u2019 habits. Check this timeline to see how it all started and what it\u2019s going to look like in the nearest future:<\/p>\n\n\n\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/jetbrains.com\/lp\/resharper-20\/\" target=\"_blank\" rel=\"noopener\" data-test=\"blog-article-cta\"><i class=\"download-icon\"><\/i>RESHARPER 20 TIMELINE<\/a><\/p>\n\n\n\n<p>Let us know&nbsp;in the comments if you want us to add something or if you found any mistakes on this timeline. <strong>If we pick your story to be featured, you\u2019ll get a ReSharper T-shirt or a voucher for the JetBrains Merch Store!<\/strong><\/p>\n\n\n\n<p>To wrap up, a few words from our team members:<\/p>\n\n\n\n<p><strong><em>Sergey Coox<\/em><\/strong><em>, ex-.NET Department Lead in JetBrains, Principal Engineer at JetBrains<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>By the time I joined JetBrains in 2004 to create a C# IDE, I\u2019d been programming in C++ for 5\u20136 years. So, it was more logical for me to develop my new project in C++ and not in C#, which I didn\u2019t know at that time. Also, C# was still quite young and less powerful than now. But developing in C# with ReSharper was such a pleasure that I started easily diving into C# and never regretted it. ReSharper 1.0 fully justified our company motto at that time, \u201cDevelop with pleasure!\u201d, and stayed true to it throughout these past 20 years. Many ReSharper features became an industry standard and entered other languages and products.<\/p>\n\n\n\n<p>ReSharper always cares about the details, and that\u2019s what makes it unique among the others. Maybe \u201cDetails matter!\u201d will become our new motto for the whole industry, thanks to ReSharper!<\/p>\n<\/blockquote>\n\n\n\n<p><strong><em>Aleksandr Shvedov<\/em><\/strong><em>, Team Lead in the IDE Core (Language support) team at JetBrains<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>The reason I started using ReSharper was the mind-blowing &#8220;smartness&#8221; of the IDE \u2013 ReSharper was catching the bugs in my code at the speed of thought, suggesting ways to make my code clearer and more concise in the process. It felt almost like the whole software developer job was about to be completely automated pretty soon.<\/p>\n\n\n\n<p>I was also fascinated by the people who managed to build this kind of experience. Luckily enough, I was noticed by the ReSharper team members and eventually joined the team, where I got to work alongside the smartest and most inspiring people I know. For me, the &#8220;smartness&#8221; of ReSharper\u2019s features turned into an infinite sequence of challenging technical tasks in a quite complex domain. During my 13-year journey at JetBrains, we implemented countless IDE features, survived the pressure from our competitors, successfully adapted new .NET technologies, and influenced other JetBrains IDEs.<\/p>\n\n\n\n<p>During those years, the world has changed a lot. Many of the things that felt &#8220;smart&#8221; back in the day have now become the standard for IDE tools we use today. However, the window of opportunities to innovate in IDE tools is wider than ever. With the rapid evolution of programming languages, new hardware, new UI\/UX ideas, the ML &amp; AI revolution, and remote\/collaborative\/cloud development \u2013 I&#8217;m very excited to keep pushing our .NET IDEs forward in this new world!<\/p>\n<\/blockquote>\n\n\n\n<p><strong><em>Maria Pleskunina<\/em><\/strong><em>, Support Engineer<\/em> <em>in .NET Support at JetBrains<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>Twelve years ago, I discovered ReSharper while starting my C# development journey. Back then, I was amazed at how much better my code could look by using the quick fixes suggested by the tool. I felt proud that my name, as the author, would be next to such polished written code. A while later, I found myself on the ReSharper team.<\/p>\n\n\n\n<p>Now, I understand the impact ReSharper has had on the development world as a whole. It boosts developer productivity, enhances code quality, and allows developers to focus on solving complex problems without wasting energy on housekeeping. As one of our users said: &#8220;ReSharper has made us lazy, and we want more&#8221;. And that&#8217;s exactly how it is!<\/p>\n\n\n\n<p>I&#8217;m proud to be part of a team dedicated to improving ReSharper. Thanks to everyone who contributes to this incredible tool, especially our users. Working alongside such talented individuals worldwide is a privilege. I wish our team to continue to create magic and inspire developers around the world.<\/p>\n<\/blockquote>\n\n\n\n<p><strong><em>Matt Ellis<\/em><\/strong><em>, Head of .NET Developer Advocacy Team<\/em> <em>at JetBrains<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>I first encountered ReSharper while working as a developer, but I didn&#8217;t get what the fuss was about until I was pair programming with someone who really knew how to use it. My immediate reaction was an amazed &#8220;How did you do that?&#8221;, and like the rest of the team, I was soon obsessed with discovering new features, swapping keyboard shortcuts, and &#8220;coding to green&#8221; \u2013 aiming for that green check mark to show we&#8217;d evaluated all of ReSharper&#8217;s suggestions.<\/p>\n\n\n\n<p>Very quickly, I became interested in the technology that powered ReSharper and started maintaining the xUnit.net test runner plugin. It was easy to see how the products were so smart and innovative. After joining JetBrains as a developer advocate, I could see that the main reason for that is that the people are just as smart and innovative and just as obsessed with providing a great developer experience as I was with using it. If there&#8217;s one thing better than JetBrains products, it&#8217;s JetBrainers.<\/p>\n<\/blockquote>\n\n\n\n<p><strong><em>Dmitry Matveev<\/em><\/strong><em>, Technical Writer<\/em> <em>at JetBrains<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>I join my colleagues in expressing appreciation for the incredible ReSharper team I&#8217;ve had the pleasure and honor of being part of. I want to take this opportunity to extend my thanks to our users for the invaluable feedback provided over the years. Your sophisticated insights have been instrumental in identifying and rectifying a lot of difficult-to-spot edge-case scenarios, which has immensely improved ReSharper&#8217;s overall performance and functionality.<\/p>\n\n\n\n<p>We have many diligent users whose names have become familiar to everyone on the team. We often mention these users in our internal meetings, and everyone instantly knows who they are. They&#8217;re more than just users; they\u2019re a vital part of our development process. Once again, a huge thanks to all of our users. Your active involvement and commitment truly make a significant difference.<\/p>\n<\/blockquote>\n\n\n\n<p><strong><em>Slava Tutushkin<\/em><\/strong><em>, Software Developer<\/em> <em>at JetBrains<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>The main reason I was really unhappy having to switch to C# 1.0 as my main development language was the lack of something like IntelliJ IDEA for C#. A few moments later, and the world became a much better place to live: we got all that intelligence (and even more) with ReSharper 1.0, while being able to continue to use VS. I started converting everyone around me to JetBrains adepts. After some time it became evident to me that just <em>using<\/em> ReSharper was not enough, so I made the life-changing decision to join the ReSharper team.<\/p>\n<\/blockquote>\n","protected":false},"author":266,"featured_media":495998,"comment_status":"closed","ping_status":"closed","template":"","categories":[4992,89],"tags":[46],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/495973"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/dotnet"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/266"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=495973"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/495973\/revisions"}],"predecessor-version":[{"id":614359,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/495973\/revisions\/614359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/495998"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=495973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=495973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=495973"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=495973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}