Explorer window
The Solution explorer lets you take a look at your solution from various viewpoints and perform different tasks such as creating new items (directories, files, classes, and so on), opening files in the editor, navigating to the necessary code fragments, and more.
Most of the functions in this tool window are accessed as context menu commands in the content pane and via associated shortcuts.
Also, the view contains the Scratches and Consoles folder that lets you manage created scratch files, database consoles, and extension scripts.
Views
The tool window has several 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.
FileSystem 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.
Assembly Explorer view, which lets you open and explore compiled assemblies.
To switch between views, press Alt+Right/ Alt+Left or select the desired view from the list on the title bar.
To configure a view, use the corresponding options in the title bar context menu. The necessary options can also be accessed by clicking on the title bar.
Search the Explorer window
There are two ways to search items in the Explorer window: speed search and full search.
Speed search
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.
Full search
Full search works in the Solution and File System views — press Ctrl+F 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 Shift+F3 or click the arrow buttons on the search panel to navigate between the matches.
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.
Preview files
There are two ways to preview files without opening each one in a separate tab:
Use the file preview popup — select a file in the Solution explorer and press Space.
Enable the preview tab — click and select Enable Preview Tab.
Show file size and modification timestamp
The Solution Explorer allows you to see the size and modification timestamp for the files in the solution tree. To display this information, select
from the main menu.Show tree indent guides
In the Solution Explorer, you can display vertical lines that mark indent levels and help you better understand the hierarchy of the components in your solution. To display these lines, enable Show tree indent guides on the Appearance and Behavior | Appearance page of the IDE settings Ctrl+Alt+S.
Toolbar buttons
Item | Description |
---|---|
Show All Files | By default, JetBrains Rider only displays projects, files and references that are included in the current solution. You can use the Show All Files option to additionally display all subdirectories and files that are located on the file system under the solution directory. For your convenience, those items are shown in yellow. If non-solution items are not indexed by JetBrains Rider, meaning that you cannot use, for example, Ctrl+Shift+F to search in those files, these items are marked with the no index label. External items in the current solution are marked as attached. |
Open Files with Single Click | If this option is on, JetBrains Rider will automatically open the selected item in the editor. Otherwise, you need to double-click items to open them. Note that you cannot disable this option if you enable the preview tab. |
Always Select Opened File | If this option is on, JetBrains Rider automatically locates documents that you open in the editor in the current view of this window. |
File Nesting Settings | Opens the File nesting dialog where you can configure presentation of files that have same names but different extensions. |
Code analysis in Solution Explorer
When Solution-Wide Analysis is enabled, files where JetBrains Rider has detected errors as well as all their parent items are highlighted with red underlines in the Solution Explorer view:
Title bar context menu
The context menu that appears by right-clicking the title bar or clicking , provides settings for solution views, viewing modes, as well as for switching between the views, resizing the tool window, and more.
The following table lists and briefly explains the available commands and options.
Item | Shortcut | Description |
---|---|---|
Select Next View or Tab Select Previous View or Tab Show List of Views or Tabs | Alt+Right Alt+Left | These are the commands for switching between different views. |
Open Files with Single Click | If this option is on, JetBrains Rider will automatically open the selected item in the editor. Otherwise, you need to double-click items to open them. Note that you cannot disable this option if you enable the preview tab. | |
Always Select Opened File | If this option is on, JetBrains Rider automatically locates documents that you open in the editor in the current view of this window. | |
Folders Always on Top | If the option is on, folders are shown above the files. Otherwise, all items are sorted alphabetically, and files and folders appear intermixed. | |
Show Toolbar | Shows or hides the window toolbar. | |
Group Tabs | If this option is on, there is a list in the left-hand part of the title bar from which you can select the necessary view. If this option is off, the views are represented by tabs which appear in the left-hand part of the title bar. | |
View Mode | This option lets you control general appearance and behavior of the tool window. See Tool window view modes. | |
Move to | To associate the tool window with a different tool window bar, select this command, and then select the destination tool window bar (Top, Left, Bottom or Right). | |
Resize | To resize the tool window by moving one of its borders, select this command, and then select the necessary Stretch to option. Note that this command is not available for the floating mode. | |
Remove from Sidebar | This command hides the tool window, removes the associated tool window button from the tool window bar and removes the tool window from the quick access menu( or ). To open the tool window again (and restore the associated features), use the main menu: or press Alt+1. | |
Hide | Shift+Escape | Hide the tool window. |
Title bar buttons
Item | Shortcut | Description |
---|---|---|
Select Next View or Tab Select Previous View or Tab | Alt+Right Alt+Left | If the views are currently shown as tabs (the Group Tabs option is off), this button appears to the right of the last visible tab. Open the list of views, for example, to select a different view. |
Navigate from a file in the editor to the corresponding node (file, class, field, method, and so on) in the Solution explorer. This icon is not available if the Always Select Opened File option is currently on. | ||
Ctrl+NumPad - | Collapse all the nodes. | |
Use this button to open a menu whose options are a subset of the title bar context menu. | ||
Shift+Escape | Hide the tool window Shift+Escape. To hide all the tool windows, press Ctrl+Shift+F12. |
Context menu commands for the content pane items
The context menu of an item provides access to all the functions available for this item.
Item | Shortcut | Description |
---|---|---|
Add | Alt+Insert | Create a new item (directory, file, or class) within the selected one. (solution or directory). JetBrains Rider will suggest available file templates for creating new files. You can also choose Add Existing Item to associate an existing file or directory with your solution. In this case JetBrains Rider will additionally ask you whether you want to copy, move, or create a link to the existing item. |
Manage NuGet Packages | This command is available on the solution and project nodes. It opens the NuGet window where you can manage NuGet packages. | |
Unload/Reload Project(s) | Use this command to temporarily exclude selected projects from the solution. Unloaded projects are excluded from the build, code inspection and indexing. However, you will still be able to open files Ctrl+Shift+N from unloaded projects and perform textual search Ctrl+Shift+F. Note that if you want to view or edit the project file (.csproj or .vbproj) you can do so without unloading the project. | |
Build Solution/Selected Projects | This command builds the solution or selected projects. | |
Run Unit Tests | Ctrl+;, R | Use this command to start unit tests in the selected scope. |
Advanced Build Actions | Rebuild Solution/Selected Projects | Removes build artifacts from previous builds and then build the selected projects. | |
Advanced Build Actions | Clean Solution/Selected Projects | Removes build artifacts from previous builds. | |
Advanced Build Actions | Pack Selected Project | Runs the dotnet pack command for the selected project. It will build the project and create a NuGet package. Note that the command only works for .NET Core/ASP.NET Core projects. | |
Advanced Build Actions | Package Solution/Selected Projects | This command helps deploying classic ASP.NET projects. It will use the Package MSBuild target to generate a deployment package in the form of a .zip file, which you can then deploy using the MSDeploy command line. | |
Reference in C# Interactive | Use this command to add reference(s) to the selected project to the C# Interactive session. If no sessions are open, JetBrains Rider will create a new session. | |
Edit | Cut | Ctrl+X | Move the selected item or items from the current location to the clipboard. |
Edit | Copy | Use this command and one of the following options to copy the selected item(s) to the clipboard:
| |
Edit | Paste | Ctrl+V | Insert the contents of the clipboard into the selected location. |
Edit | Rename | Shift+F6 | Use this command to invoke the Rename refactoring for the current file, folder, or project. |
Edit | Edit 'file' | F4 | Open the selected file in the editor. If the file is already open, the corresponding editor tab will become active. |
Edit | Edit 'file' in Right Split | Shift+Enter | Open the selected file in the right split, so that the currently opened document also stays visible. See Split editor window for details. |
Copy Path | Ctrl+Alt+Shift+C | Use this command to copy the absolute or the relative path to the selected item to the clipboard. |
Inspect Code | Use this command to run code inspection for the selected item. | |
Refactor This | Ctrl+Alt+Shift+T | Perform one of the refactorings available for the selected item. |
Code Cleanup | Ctrl+E, C | Use this command to run code cleanup in the selected scope. |
Tools | Add to Favorites | Alt+Shift+F | Add the selected item to an existing or new list of favorite items. |
Edit | Delete | Delete | Delete the selected item. Note that this command will remove the selected file or project from the solution and from the file system. Therefore, use this command only if you are absolutely sure that the item is not used anywhere. In all other cases, use the Safe Delete refactoring Alt+Delete. |
Change Dialect (<CurrentDialect>) | For SQL files and database consoles, change the SQL dialect associated with the file or console. | |
Run '<item_name>' | Ctrl+Shift+F10 | For an SQL file or query console: execute all the statements contained in the selected file or console. |
Show History | View local history for the selected file or directory, or to create a label for the current version of your solution. | |
Tools | Synchronize '<item_name>' | Synchronize the view in the tool window with the view saved in the file system. If you change a file or directory contents externally, JetBrains Rider, under certain circumstances, may not be aware of the corresponding changes unless you use this command. | |
Open in | Open a file in your system file manager or in Terminal. | |
Tools | File Path/Directory Path | This menu shows the path from the file system root to the selected element with individual directories as the menu items. When you select an item in this menu (for example, a directory), a file browser (for example, Windows Explorer or Finder) opens, and the selected item is shown there. | |
Tools | Compare With | Ctrl+D | Compare the selected file or directory with another file or directory. See Compare files, folders, and text sources and Differences viewer for folders. |
Tools | Compare File with Editor | Compare the selected file with the file open on an active editor tab. See Compare files, folders, and text sources and Differences viewer for files. | |
Tools | Create Gist | Use this command to share code by using gists. | |
Properties | Alt+Enter | Use this command to access build properties of the selected item. |
File status highlights
If VCS integration is enabled for the current solution, JetBrains Rider uses colors to denote VCS file status in the Solution tool window. The following table presents information about the meaning of the colors.
Color | File Status | Description |
---|---|---|
#0A7700 | Added | The file in the active changelist is scheduled for addition to the repository. |
#0EAA00 | Added in not active changelist | The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in . |
#FF0000 | Changelist conflict | The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open prompting you to resolve the changelist conflict. This file status is available if all options are enabled in . |
#0A7700 | Copied | If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied. |
#616161 | Deleted | The file is scheduled for deletion from the repository. |
#773895 | Deleted from file system | The file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository. |
#8AA4C8 | Have changed descendants | If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in . |
#3264B4 | Have immediate changed children | If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in . |
#B28C00 | Hijacked | [Perforce, ClearCase, VSS] The file is modified without checkout. |
#727238 | Ignored | A file is intentionally untracked by VCS. |
#7503DC | Merged | The file is merged by your VCS as a result of an update. |
#FF0000 | Merged with conflicts | During the last update, the file has been merged with conflicts. |
#FF0000 | Merged with property conflicts | During the last update, the IDE has detected differences between the properties of the local file and its server version. |
#FF0000 | Merged with text and property conflicts | Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties. |
#0032A0 | Modified | The file has changed since the last synchronization. |
#0047E4 | Modified in not active changelist | The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in . |
#7C7C00 | Obsolete | The file should no longer be in your working copy of the repository. |
#007C7C | Renamed | Since the last update, the file has been renamed. |
#08978F | Switched | [SVN] The file is taken from a different branch than the whole project. |
#993300 | (Unknown) Unversioned | The file exists locally, but is not in the repository, and is not scheduled for addition. |
None (default color) | Up to date | The file hasn't been changed. |
Color | File Status | Description |
---|---|---|
#629755 | Added | The file in the active changelist is scheduled for addition to the repository. |
#629755 | Added in not active changelist | The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in . |
#D5756C | Changelist conflict | The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open prompting you to resolve the changelist conflict. This file status is available if all options are enabled in . |
#0A7700 | Copied | If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied. |
#6C6C6C | Deleted | The file is scheduled for deletion from the repository. |
#6C6C6C | Deleted from file system | The file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository. |
#6897BB | Have changed descendants | If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in . |
#6897BB | Have immediate changed children | If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in . |
None (default color) | Hijacked | [Perforce, ClearCase, VSS] The file is modified without checkout. |
#848504 | Ignored | A file is intentionally untracked by VCS. |
#9876AA | Merged | The file is merged by your VCS as a result of an update. |
#D5756C | Merged with conflicts | During the last update, the file has been merged with conflicts. |
#D5756C | Merged with property conflicts | During the last update, the IDE has detected differences between the properties of the local file and its server version. |
#D5756C | Merged with text and property conflicts | Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties. |
#6897BB | Modified | The file has changed since the last synchronization. |
#6897BB | Modified in not active changelist | The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in . |
None (default color) | Obsolete | The file should no longer be in your working copy of the repository. |
#3A8484 | Renamed | Since the last update, the file has been renamed. |
None (default color) | Switched | [SVN] The file is taken from a different branch than the whole project. |
#D1675A | (Unknown) Unversioned | The file exists locally, but is not in the repository, and is not scheduled for addition. |
None (default color) | Up to date | The file hasn't been changed. |
Color | File Status | Description |
---|---|---|
#62CC47 | Added | The file in the active changelist is scheduled for addition to the repository. |
#62CC47 | Added in not active changelist | The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in . |
#FF6666 | Changelist conflict | The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open prompting you to resolve the changelist conflict. This file status is available if all options are enabled in . |
#62CC47 | Copied | If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied. |
#ED864A | Deleted | The file is scheduled for deletion from the repository. |
#ED864A | Deleted from file system | The file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository. |
#4FF0FF | Have changed descendants | If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in . |
#4FF0FF | Have immediate changed children | If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in . |
None (default color) | Hijacked | [Perforce, ClearCase, VSS] The file is modified without checkout. |
#A9B837 | Ignored | A file is intentionally untracked by VCS. |
#ED94FF | Merged | The file is merged by your VCS as a result of an update. |
#FF6666 | Merged with conflicts | During the last update, the file has been merged with conflicts. |
#FF6666 | Merged with property conflicts | During the last update, the IDE has detected differences between the properties of the local file and its server version. |
#FF6666 | Merged with text and property conflicts | Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties. |
#4FF0FF | Modified | The file has changed since the last synchronization. |
#4FF0FF | Modified in not active changelist | The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in . |
None (default color) | Obsolete | The file should no longer be in your working copy of the repository. |
#4FF0FF | Renamed | Since the last update, the file has been renamed. |
None (default color) | Switched | [SVN] The file is taken from a different branch than the whole project. |
D1675A | (Unknown) Unversioned | The file exists locally, but is not in the repository, and is not scheduled for addition. |
None (default color) | Up to date | The file hasn't been changed. |