NDepend User Voice
Welcome to the NDepend User Voice page. Let us know what you would like to see in future versions of NDepend. This site is for suggestions and ideas. If you need to report a bug, please send us an email at support@ndepend.com
We look forward to hearing from you!
Thanks – Patrick Smacchia
NDepend Team
47 results found
-
I would like to be able to easily remove all default NDepend keyboard shortcuts in VS
I would like to be able to easily remove all default NDepend keyboard shortcuts in Visual Studio.
NDepend shortcuts seem to be all based on using the Alt key and set at the Global scope, to they regularly conflict with the keyboard shortcuts on tool windows in VS. An example of this is the Find in Files window - I cant hit Alt+A to click the Find All button because NDepend has globally mapped that to some element search tool that I dont need or want to use.
There are many NDepend commands and its really tedious to unmap them…
3 votes -
Add support for enumerating count of suppressions/attributes
We have a situation where SuppressMessage attributes are being used very liberally in order to remove issues NDepend finds from the tech debt metrics. This is an unintended side effect of engineers attempting to get their tech debt percent to zero. I don't believe that this aligns with the spirit of the tool and I would like to create some custom rules/gates around issue suppressions in order to discourage their overuse. I am of the strong opinion that these attributes should be used sparingly and an excessive number of these attributes is a sign of tech debt, as it means…
6 votesNDepend v2026.1 let's enumerate count of suppressions/attributes: https://www.ndepend.com/whatsnew
-
Ignore "Avoid having different types with same name" rule for extension classes
For static classes that only contain extension methods for a particular type, often the class name is in the format of "[Type]Extensions". These classes are most often transparent to the consuming code, and so the reasoning behind the critical rule "Avoid having different types with same name" need not apply, and certainly should not be critical.
"Such practice leads confusion and also naming collision in source files that use different types with same name."
1 vote -
Update .NET Profile Directory Resolution
When using a .NET Profile, the NuGet packages directory stored in the <Dirs> element of the project is fully resolved to include the username. This poses a problem when committing the ndproj file to source control since the project settings are specific to a developer machine. It would be better to use %userprofile% instead:
%userprofile%\.nuget\packagesEven further, would it be best to just store the .NET Profile configuration itself in the ndproj project file instead of the corresponding paths? The resolved paths could possibly be saved in the suo file instead. This would also help resolve issues when there are…
6 votesCompleted with NDepend version 2022.2.0
-
Do not open all kinds of (tool) windows when/after running analysis
I prefer to open/select and postion the windows when and how myself.
I often do not need or want to view the default windows opened and it creates a kind of restlessness in the UI.1 votev2021.2.3 released on 22th November 2021 fixes this
-
DebtSettings handling when SettingsFilePath is set
When storing debt settings in an external .ndsettings file, the settings are still pulled in to the ndproj file when the first scan is run. There should be an option to prevent these settings from being copied into the ndproj file. When managing ndproj files using source control, this would lead to fewer changes since the when the external ndsettings file is changed, it would not impact the ndproj files referencing it.
1 voteComplete with version 2022.2.1
-
Remove storage of assembly names from NDepend project file
When NDepend analysis is run for the first time, it adds a list of framework assemblies to the ndproj file, in the <FrameworkAssemblies> section. There doesn't appear to be a way to prevent this from happening. When managing ndproj files in source control, this could lead to additional updates to the ndproj file whenever references within the projects are added or removed. It would be ideal to have an option to prevent this from happening, with these assemblies always being assessed against the build.
1 voteCompleted with NDepend version 2022.2.0
-
Support for embedded PDB
We've moved from portable to embedded PDBs for our .NET projects - this means there is no longer a separate PDB file and the PDB information is embedded in the assembly. Please can NDepend support this so that queries using .PDBFound and NbLinesOfCode etc. continue to work?
7 votesCompleted in NDepend v2020.2
-
Support for builds running inside dockerfiles
Please support NDepend for builds which are running inside (linux) dockerfiles.
9 votesNDepend analysis can be run on Linux since version 2021.2 https://www.ndepend.com/docs/getting-started-with-ndepend-linux-macos
-
2 votes
NDepend v2020.1 has just been released and within this version the dependency graph has been completely rebuilt.
https://www.ndepend.com/whatsnewThe new Cluster feature defines groups of namespaces and view dependency graph among them.
-
ndepend console should run on .NET Standard for Linux based builders
We are beginning to move towards linux based builders using a .NET Core environment for our .NET Core projects that are not dependent on windows. Because NDepend is a part of our build process, we cannot run any analysis at build times on the projects that have moved in that direction.
Make NDepend.Console .NET Core compliant so that it can run on these Linux builders and restore full analysis capability to out builds.
35 votesNDepend.Console.MultiOS.dll now runs on Linux, MacOS and Windows upon .NET 5 since NDepend v2021.2 https://www.ndepend.com/docs/getting-started-with-ndepend-linux-macos
-
Halstead metrics in NDepend
I would like to strongly advise the implementation in NDepend, of Halstead metrics that are already available in CppDepend. I frequently used the CppDepend maintainability index and other economic metrics to justify important and strategic refactoring.
I utilize other tools to measure the scope and monetary values of changes in C# code base. Yet, I apply other formulas, but without the same accuracy. To apply different formulas may induce contradictions that I must explain, which transform my project meetings almost to courses in software engineering metric and indicators.
To hold the same metrics on both CppDepend and NDepend provides uniformity…
38 votesNDepend v2026.1 supports the Maintainability index and Halstead Volume:
https://www.ndepend.com/whatsnew
https://www.ndepend.com/docs/code-metrics#MaintainabilityIndex
https://www.ndepend.com/docs/code-metrics#HalsteadVolume
-
Support for Web Sites (WebForms/MVC)
At this moment it is not intuitive and very hard to analyze Web sites with ndepend will be very nice if I could get site analyzed in few button clicks
62 votesActually first-class support for ASP.NET MVC (Core or Fx) occured in v2017.3 and we just noticed that this point was still open in May 2020.
-
Ability to export dependency graph as SVG
It will be very nice if there will be ability to export dependency graph as SVG image rather than PNG, it definitelly will be less in size and as a bonus it will be resizeable without loosing quality
42 votesWith NDepend v2020.1 dependency graph has been completely rebuilt and it is now possible to export a graph to SVG format.
https://www.ndepend.com/whatsnew
https://www.ndepend.com/Res/v2020.1/DependencyGraph.svg -
Being able to read attribute property values
Being able to filter on attribute property values.
One example is to check categories on Test methods (i.e. the value from [TestCategory("IntegrationTest")]).
135 votesNDepend v2026.1 let's read attribute property value, see some sample queries in the What's New page: https://www.ndepend.com/whatsnew
-
NCrunch Code coverage integration.
NCrunch is an absolute must have tool, and it does code coverage very well. i'd like to see a way to get NCrunch Code Coverage data into NDepend.
127 votesNCrunch v4.5 now exports to OpenCover format. Since NDepend can import OpenCover format it means that NDepend can now read NCrunch data :-)
More details here:
https://blog.ncrunch.net/post/PartcoverNDepend-Export-and-NET5-Support.aspx -
I see you have integration for Reflector, is there any interest in providing a dotPeek integration as well?
Just an idea
41 votes -
Create an NDepend.CodeModel.IProperty interface
This would be especially handy to detect with CQLinq when a property is tagged with an attribute, and also to jump from the getter method to the setter method and vice-versa. So IProperty would have to implement the interface NDepend.CodeModel.IAttributeTarget
75 votesNDepend v2023.1 have a IProperty and IEvent interfaces and both implement IAttributeTarget. New APIs have been added to properly query and rule those. https://www.ndepend.com/whatsnew#v2023-1-property-event
-
Reference VS solutions from the NDepend Project > Code to Analyze
In addition to references assemblies to analyze from NDepend project, make possible to reference also one or several VS solutions. Assemblies could then be resolved from a defined VS solutions configuration. Also a filter by name system would be handy to filter for example tests assemblies from the VS solutions.
24 votesIt is possible to reference VS soltuion and project from NDepend Project Properties > Code to Analyze panel https://www.ndepend.com/docs/ndepend-assemblies-resolving#resolving-assemblies-from-visual-studio-solutions
-
7 votes
Implemented with version 2023.2.0, 100% of source code elements including fields and enumeration values are now resolved
- Don't see your idea?