ReSharper includes a set of project-level features that are especially helpful when working with large solutions.
In this section:
- Project Dependency Analysis
- Exploring Assemblies
- Project Hierarchy
- Optimizing References
Besides the items covered in this section, there are a lot of other features that are available in various contexts and may come in handy when managing projects:
- Find Referenced/Dependent Code lets you find code that depends on a selected project or find any outgoing references.
ReSharper aids Visual Studio when it comes to managing state of nodes in the Solution Explorer.
When you collapse a project or another high-level node in the Solution Explorer,
plain Visual Studio doesn't collapse its containing nodes.
As a result, when you expand the project at a later time, you find out that it
reveals a sporadically expanded structure.
With ReSharper, you can right-click a Solution Explorer node and select Collapse All in the context menu - the selected node will be collapsed along with any its child nodes.
- Collapse All is a perfect match for another ReSharper neat little feature - Locate in Solution Explorer. For example, you can start with collapsing a project, and proceed with using Locate in Solution Explorer for expanding nodes that you really need.
Some code refactoring features can be applied in the scope of the project, a solution folder or the
entire solution. The
Adjust Namespaces refactoring helps you
namespaces to folder structure in any scope - as large as your whole solution.
That is, if in a certain code file a namespace does not correspond to the location of the file
in the project structure, the namespace is renamed to comply with the file location and
all using directives referencing the modified namespaces are updated accordingly.
Another project-level refactoring, Remove Unused References helps you detect and remove unused references from your projects to cleanup your solution.
are saved using a distributed storage model, meaning that any setting or setting
group can be saved separately and ReSharper will combine and apply all of them as it runs.
Among the benefits of this model are having different settings for different solutions, sharing settings effortlessly, importing and exporting settings, and more. It can be especially useful for sharing settings that should be same within the team: code style settings, code templates, structural search and replace patterns.
By default, there are three setting layers: for all solutions in local computer, for the current solution, and for the shared solution settings. You can easily create, manage, and share new layers, e.g. for global company-wide settings.