Extend and organize your solution
The project/solution management tasks in Rider, such as browsing files and opening them in the editor, creating new items (directories, files, classes, and so on), are performed in the Explorer tool window. If you close this window, you can always bring it to view by pressing CtrlAlt0L or choosing View | Tool Windows | Explorer in the main menu. You can use the switcher at the top of this window to switch between different views:
Solution view, which contains the solution node with an organized logical view of projects and project items in the current solution, as defined in its .sln file.
File System view, which shows you all files and subdirectories starting from the directory where the current solution file is located.
Unity view, which provides an organized view of all assets in a Unity project (you see exactly the same project tree as in the Unity editor). This view is only available for Unity projects.
To rename projects in your solution, use the Rename refactoring (Ctrl0R,0R or Refactor | Rename). You will also be able to rename the project folder and the project's root namespace as well as all its usages in the solution.
To save an existing solution in the .slnx format, right-click the solution node in the Explorer tool window CtrlAlt0L, and choose Save as… | Save as XML Solution (.slnx). After you confirm the saving, JetBrains Rider will offer you to open the newly created .slnx file.
Similarly, you can convert a SLNX solution to the SLN format by right-clicking the solution node and choosing Save as… | Save as Solution (.sln).
note
The .NET CLI and MSBuild currently don’t support the SLNX format. Therefore, it is necessary to keep the .sln file in your repository for your CI/CD infrastructure to work. Note also that JetBrains Rider does not automatically synchronize .sln and .slnx files.
To delete projects form your solution, select one or more projects in the Solution Explorer and press Delete or Ctrl0R,0D. This will invoke the Safe Delete refactoring, which will optionally check all references to the deleted projects before the deletion.
![Safe Delete project Safe Delete project](https://resources.jetbrains.com/help/img/rider/2024.3/safe_delete_project.png)
In JetBrains Rider, all code and resource files are added using editable file templates. When you choose the node in the Solution Explorer where you want to add a new file, just press CtrlShift0A or right-click and choose Add, and then pick the desired template for the new file.
File templates are configurable on language-specific pages under the Editor | File Templates page of JetBrains Rider settings CtrlAlt0S.
To add references to other projects in your solution and to .NET assemblies, right-click a project node and select Add | Add Reference. In the dialog that opens, you can start typing to search known references, or click Add From... to reference an assembly from a file.
![JetBrains Rider: 'Add Reference' dialog JetBrains Rider: 'Add Reference' dialog](https://resources.jetbrains.com/help/img/rider/2024.3/rider_add_reference.png)
tip
Rider will also add all necessary references when it installs a NuGet package.
With Rider, you can extend solutions by adding external files and folders. For example, you can have your test data, logs, front-end JavaScript, or any other files and folders right next to your solution. These additional items in the solution are not saved in project or solution configs, but rather in Rider's own settings.
By default, external items in the solution are indexed by Rider, so you can enjoy instant search CtrlShift0F and navigation Ctrl0T among other things for those items. However, external solution items will stay beyond the scope of your solution when you perform any of the solution-wide refactorings.
For external solution items that share their VCS root with the solution, all version-control features will also be available.
note
By default, navigation and search features are limited to the current solution. To extend the scope, tick Include non-solution items in the navigation/search popup.
Do one of the following:
Right-click the solution node in the Explorer tool window, choose Add | Existing Folder, and then select a folder.
Switch the Solution Explorer to the File System view, right-click the folder that you want to add and choose Tools | Attach to Solution
The folder will appear in the Solution Explorer marked as attached:
To remove an external directory from the solution, make sure that the Solution Explorer is switched to the Solution view, right-click the directory, and choose Detach Folder. The external directory will be removed from the solution view, but not from disk.
If external items contain XML-like, SQL-like, or Web code (HTML, JavaScript, TypeScript, CSS, and so on), this code will be indexed to enable code analysis and coding assistance features.
Indexing of very large amounts of external code can negatively affect performance. Therefore, you may choose to keep the external code in the solution view, but not index it. To toggle indexing, right-click an external folder and choose Tools | Stop/Start index.
Note the difference between attaching external folders to your solution and adding existing projects/files to your solution/project.
The latter is done by choosing Add | Existing Project from the context menu on the solution or solution folder, or by choosing Add | Existing Item from the context menu on a project or folder — these kinds of modifications are saved in the solution and project configs, so you will also see the added items if you open the solution in Visual Studio.
note
If external items contain any .NET solutions or projects, code analysis in those items will not be available. To work with multiple solutions simultaneously, open them in different windows.
There are two ways to search items in the Explorer window: speed search and full search.
tip
Both ways of searching support case-insensitive CamelHumps, that is you can type
fa
orFA
to find items that containFindAction
in their names.
Speed search works in all views of the window — start typing when the application focus is in the Explorer window and JetBrains Rider will highlight all items that match your query in the opened nodes.
![JetBrains Rider: Speed search in the Explorer window JetBrains Rider: Speed search in the Explorer window](https://resources.jetbrains.com/help/img/rider/2024.3/solution_explorer_speed_search.png)
Full search works in the Solution and File System views — press Ctrl0F or click Find on the toolbar and start typing the search query. If there are matching items, JetBrains Rider will expand the tree at the first match and highlight it.
You can then press F3 and ShiftF3 or click the arrow buttons on the search panel to navigate between the matches.
![JetBrains Rider: Full search in the Explorer window JetBrains Rider: Full search in the Explorer window](https://resources.jetbrains.com/help/img/rider/2024.3/solution_explorer_full_search.png)
In the Solution view, you can optionally click Search Settings on the search panel and choose to include dependencies (referenced assemblies, imports, NuGet packages, and so on) in the search.
It is often very convenient to group related files — for example layout and code-behind files in WinForms, WPF, ASP.NET projects — within a single collapsible item in the Solution Explorer.
JetBrains Rider provides two ways of grouping related files:
Using the
DependentUpon
element in the project file.You can use drag-n-drop in the Solution Explorer to arrange related files in any way you see fit. JetBrains Rider will make necessary changes in the project file to keep the desired nesting layout.
As the
DependentUpon
is the standard project property, your nesting layout will be preserved if you open the project in Visual Studio. On the downside, you have to make the necessary arrangements manually.Using file nesting preferences.
JetBrains Rider provides a default configuration of file types and typical suffixes that are used for related file types — for example, a file with the .map.ts suffix is normally related to a file having the same name and the .ts extension — such files will be automatically grouped in the Solution Explorer.
You can configure these relations or disable logical nesting altogether by clicking
on the toolbar of the Solution Explorer and choosing File Nesting Settings...:
Grouping of files in this way will not make any changes in your project/solution config files.
For large solutions, JetBrains Rider provides several ways to reduce the number of loaded projects and thus improve overall performance and specifically the solution loading time.
To unload one or more projects, select them in the Solution Explorer, right-click the selection and choose Unload Project(s). If the projects that you are unloading have references in other projects that stay loaded, build the solution before unloading projects, and JetBrains Rider will be able to resolve references from the binaries.
To load an unloaded project, you can right-click and choose Load Project to load only the selected project, or Load Project with Dependencies to load the selected project and all projects where it is referenced. To load all unloaded projects in the solution, right-click the solution node and choose Load Projects.
The state of unloaded projects is preserved after reopening a solution by the IDE, but it is not saved in the solution file. If you want to share this state with your teammates or if you want to use this state in another IDE, you can save this state as a solution filter.
By default, project files are sorted by name and folders are displayed at the top. If necessary, you can opt to sort files by their modification time and/or to have folder sorted together with files.
To change sorting options, right-click the header of the Explorer window, choose Tree Appearance, and select the desired options in the submenu.
One way of exploring non-solution items is to add external items to your solution. But JetBrains Rider also allows you to open and explore any files and folders even without any solution being open. This way you can work on web projects that do not have a .sln file or just study any text file in the editor.
To open a file or a folder, press Ctrl0O or choose File | Open | Open… from the main menu. Depending on what you choose, JetBrains Rider will do one of the following:
A file will be just opened in the editor but not added to the solution view.
If you choose to open a folder while a solution is loaded, JetBrains Rider will suggest that you either close the current solution and open it in the current window or open the folder in a new application window.
If the selected folder or any of its subfolders contains a .NET solution (.sln file), you will be able to pick one of them and open the solution instead of folder.
But if you still want to browse the folder, click Just open the directory. In this case JetBrains Rider will not analyze .NET code.