<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AKP</title>
    <description>The latest articles on DEV Community by AKP (@akp_2806).</description>
    <link>https://dev.to/akp_2806</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3859837%2F1dc76fd1-12a2-47f1-aacd-3fda5f3e41cd.png</url>
      <title>DEV Community: AKP</title>
      <link>https://dev.to/akp_2806</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akp_2806"/>
    <language>en</language>
    <item>
      <title>I Got Tired of XML Doc Comments, So I Built My Own Visual Studio Extension</title>
      <dc:creator>AKP</dc:creator>
      <pubDate>Fri, 03 Apr 2026 18:24:03 +0000</pubDate>
      <link>https://dev.to/akp_2806/i-got-tired-of-xml-doc-comments-so-i-built-my-own-visual-studio-extension-3hd6</link>
      <guid>https://dev.to/akp_2806/i-got-tired-of-xml-doc-comments-so-i-built-my-own-visual-studio-extension-3hd6</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;If you've written any serious C# code, you know the pain. Your &lt;code&gt;///&lt;/code&gt; doc comments&lt;br&gt;
are packed with useful information — but reading them in the editor looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;/// &lt;span class="nt"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
/// Calculates the total price including &lt;span class="nt"&gt;&amp;lt;paramref&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"taxRate"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt; for a given
/// &lt;span class="nt"&gt;&amp;lt;see&lt;/span&gt; &lt;span class="na"&gt;cref=&lt;/span&gt;&lt;span class="s"&gt;"Order"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;. Returns &lt;span class="nt"&gt;&amp;lt;c&amp;gt;&lt;/span&gt;0&lt;span class="nt"&gt;&amp;lt;/c&amp;gt;&lt;/span&gt; if the order has no items.
/// &lt;span class="nt"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
/// &lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"order"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;The order to calculate.&lt;span class="nt"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;
/// &lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"taxRate"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;The tax rate as a decimal, e.g. &lt;span class="nt"&gt;&amp;lt;c&amp;gt;&lt;/span&gt;0.2&lt;span class="nt"&gt;&amp;lt;/c&amp;gt;&lt;/span&gt; for 20%.&lt;span class="nt"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;
/// &lt;span class="nt"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;The total price as a &lt;span class="nt"&gt;&amp;lt;see&lt;/span&gt; &lt;span class="na"&gt;cref=&lt;/span&gt;&lt;span class="s"&gt;"decimal"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;.&lt;span class="nt"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
/// &lt;span class="nt"&gt;&amp;lt;exception&lt;/span&gt; &lt;span class="na"&gt;cref=&lt;/span&gt;&lt;span class="s"&gt;"ArgumentNullException"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Thrown when &lt;span class="nt"&gt;&amp;lt;paramref&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"order"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt; is null.&lt;span class="nt"&gt;&amp;lt;/exception&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Raw XML noise everywhere. Every single method.&lt;/p&gt;

&lt;p&gt;I tried &lt;strong&gt;PrettyDocComments&lt;/strong&gt;. The concept was right but the aesthetics drove me&lt;br&gt;
crazy — it looked out of place in a modern IDE. So I built &lt;strong&gt;Render Doc Comments&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;Render Doc Comments transforms those cluttered &lt;code&gt;///&lt;/code&gt; tags into clean, formatted&lt;br&gt;
documentation blocks — rendered &lt;strong&gt;inline in your editor&lt;/strong&gt;, not in a separate window&lt;br&gt;
or hover popup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt; Raw XML tags cluttering your view  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsv9pzfud6g0j4e4s4s3b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsv9pzfud6g0j4e4s4s3b.png" alt="Before" width="800" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After:&lt;/strong&gt; Clean, readable documentation with proper formatting, styled parameters,&lt;br&gt;
and clickable &lt;code&gt;cref&lt;/code&gt; links&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhqyplmmms6dlms0htx3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhqyplmmms6dlms0htx3.png" alt="After" width="800" height="685"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Interaction Model
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Caret-Based Mode (Default — Free)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Click into a comment and it reverts to raw XML for editing. Move your cursor away&lt;br&gt;
and the polished render returns. Zero friction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Margin Glyph Mode (Premium)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A glyph in the editor margin lets you toggle between raw and rendered manually,&lt;br&gt;
regardless of cursor position.&lt;/p&gt;




&lt;h2&gt;
  
  
  Language Support
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C#&lt;/strong&gt; — &lt;code&gt;///&lt;/code&gt; XML doc comments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;F#&lt;/strong&gt; — &lt;code&gt;///&lt;/code&gt; XML doc comments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C++&lt;/strong&gt; — Doxygen-style &lt;code&gt;///&lt;/code&gt; comments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VB.NET&lt;/strong&gt; — &lt;code&gt;'''&lt;/code&gt; XML doc comments&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Free vs Premium
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Free Edition&lt;/th&gt;
&lt;th&gt;Premium License&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multi-Language Support (C#, F#, C++, VB.NET)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;High-Fidelity Rendering&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Interactive &lt;code&gt;cref&lt;/code&gt; Links&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Caret-Based Auto-Hide&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ (Always On)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;🔘 Selectable&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Margin Glyph Toggle&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;🔘 Selectable&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Theme Synchronization&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manual (Reopen)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Instant Auto-Sync&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Typography&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Segoe UI (Fixed)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Fully Custom&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Accent Bars&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Left Side Only&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Multi-side Layout&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Color Profiles&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Default&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Full Customization&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The core rendering engine is &lt;strong&gt;free and open source&lt;/strong&gt; (GNU GPL v3). Premium features&lt;br&gt;
fund continued development.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;Documentation should aid readability — not add to the noise. Every other part of&lt;br&gt;
the modern IDE has been polished. Doc comments were stuck in 2005. This is my&lt;br&gt;
attempt to fix that.&lt;/p&gt;




&lt;h2&gt;
  
  
  Get It
&lt;/h2&gt;

&lt;p&gt;Search &lt;strong&gt;"Render Doc Comments"&lt;/strong&gt; in the Visual Studio Marketplace, or go to&lt;br&gt;
Extensions → Manage Extensions inside VS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Direct Links
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/AMit-KP/RenderDocComments" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=AMit-KP.RenderDocComments" rel="noopener noreferrer"&gt;Visual Studio Marketplace&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Would love feedback — especially from C#, F#, C++ and VB.NET users!&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>csharp</category>
    </item>
  </channel>
</rss>
