Skip to content
| Marketplace
Sign in
Visual Studio>Tools>FullStackCodeLens
FullStackCodeLens

FullStackCodeLens

Extended Plugins

|
36 installs
| (0) | Free Trial
Full-stack visibility for ASP.NET + JavaScript/TypeScript/Blazor: correlates controller/Minimal API routes, SignalR hubs, and Razor methods with their JS/TS/Blazor call sites, with inline CodeLens and
Download

FullStackCodeLens shows you who calls what across your whole ASP.NET stack - right in the editor, above the code. Open any controller action, JavaScript function, Razor page, Blazor component or WebForms page and you see, in one line above it, which code calls it and where it calls out to. Every name is clickable.

🎥 Watch the 3-minute demo: https://www.youtube.com/watch?v=wWjM8H6ghSU

What's new in this version

  • Every file, every folder. Labels now show in every JavaScript file of every project - including Scripts\WebForms, the ASP.NET framework scripts and third-party libraries. Each library is linked only to itself, so you never get false links between unrelated scripts.
  • Multi-line labels. One target, one line. Several targets: a header ("12 callers") and one line per caller with file:line, at most 5, then a clickable +N more / show less.
  • JavaScript -> JavaScript links across files, object members (Cart.refresh), namespaced members (Sys.WebForms.Menu.show), jQuery plugins (this.refresh inside $.fn.invoicePanel) and constructors.
  • Razor everywhere: MVC views and partials (.cshtml), Razor Pages (.cshtml + .cshtml.cs), Blazor components (.razor + .razor.cs).
  • VB.NET and WebForms: VB.NET Web API 2 controllers (conventional MapHttpRoute and attribute routes), .aspx, .ascx, .master, code-behind (.aspx.vb / .aspx.cs), .ashx handlers and .asmx web services.
  • Smarter route matching, the way ASP.NET does it: /api/products/search goes to the search route, not to {id}; attribute routes win over conventional ones.
  • Works side by side with Visual Studio's own "N references" CodeLens - the two lines stack, they never overlap.

What you see in the editor

JavaScript and TypeScript - in every file

Above every function: who calls it, from which file and line. Above every call: where it goes. Calls to the server show the controller action they reach.

  • AJAX calls in every common style - fetch, axios, jQuery $.ajax / $.get / $.post / $.getJSON and XMLHttpRequest - including URLs built by concatenation ("/api/products/" + id) or template literals.
  • Calls between scripts, object members (Invoices_Ajax.load), jQuery plugins and constructors.
  • Inline scripts in pages, onclick="..." / OnClientClick="..." attributes, and functions declared in user controls (.ascx) and master pages.
  • Your own unsaved edits count - the open file is read live.

Controllers and Minimal APIs (C#)

Above every action: how many AJAX calls reach it and from where. MVC actions also list the views that link to them.

MVC views and partials (.cshtml)

Every asp-action, Html.ActionLink, Html.BeginForm, Url.Action and <partial> is linked to its target; partials show "N usages"; @functions methods and inline <script> blocks are linked too.

Razor Pages

asp-page-handler="Save" links to OnPostSave, @Model.Method() to the PageModel method - and each handler in the .cshtml.cs shows the form or link that calls it.

Blazor components (.razor)

Event bindings (@onclick), @Method() expressions and child components (<CartLine>) are linked; the component and its .razor.cs code-behind work as one unit, and every component shows where it is used.

VB.NET Web API 2

Classic conventional routing (MapHttpRoute, verb from the action name) and attribute routing (RoutePrefix + Route) are both understood.

WebForms: .aspx, .ascx, .master, code-behind, .ashx, .asmx

  • Pages, user controls and master pages: inline scripts, onclick / OnClientClick handlers and the objects a user control declares (InvoiceDialog.show).
  • Code-behind: page methods (<WebMethod>) with their callers, and script sent from the server (RegisterStartupScript, ResponseScripts.Add) linked to the page function it calls.
  • Generic handlers (.ashx) and web services (.asmx) with the JavaScript that calls them.

SignalR

Hub methods show their invokers and listeners; in JavaScript, invoke("Method") points to the Hub method and each connection.on("Event") shows which Hub method pushes it.

Tool windows

All four have a search box and double-click navigation.

  • AJAX Call Map - every controller action next to the JavaScript functions that call it.
  • Route Explorer - every route in the solution (attribute, conventional, Minimal API, Web API 2, .ashx, .asmx, page methods) with conflict, unused, unprotected and DTO drift flags, and one-click export to a .http file or an OpenAPI document. (The "unprotected" flag is a textual check for [Authorize] / [AllowAnonymous] / .RequireAuthorization() on the route itself; a global authorization policy isn't reflected.)
  • SignalR Map - every Hub method and push event with its JavaScript callers and listeners.
  • Razor Method Map - the methods of your .razor files and where each one is called from.

Toolbar: turn the AJAX labels on/off, Rescan the whole solution, open the four tool windows, and Buy License (shows the days left in your trial).

How it works

Fast text scanning of your whole solution in the background - not a full compile - so it works with any project type, including classic WebForms and VB.NET projects, without wiring your JavaScript to your server code in any special way. The open file is read live as you type; everything else updates on save and with Rescan.

Requirements

  • Visual Studio 2026 or Visual Studio 2022 (17.14 or later) - Community, Professional or Enterprise.
  • Using Visual Studio 2019? Install the separate FullStackCodeLens for VS2019 listing.
  • ASP.NET Core (MVC, Web API, Minimal APIs, Razor Pages, Blazor, SignalR) and classic ASP.NET (MVC 5, Web API 2, WebForms), in C# and VB.NET.

Pricing

FullStackCodeLens is free to try for 30 days, full-featured, no credit card required. After the trial, a one-time €12 lifetime license unlocks it permanently - no subscription. Buy and activate it inside Visual Studio: click Buy License on the toolbar, complete checkout in the window that opens, and paste in the license key you receive.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft