Tweaks for Visual Studio
A collection of minor fixes and tweaks for Visual Studio to reduce the paper cuts and make you a happier developer
Download this extension from the Marketplace or get the CI build.
Features
The list of features are coming from the Visual Studio Developer Community where users are posting feature suggestions and problem report tickets. It's from those tickets inspiration for this extension came.
- General
- IDE
- Restart Visual Studio command
- Open in /SafeMode from Jump List
- Presentation Mode
Browse all feature suggestionsNow in VS 2019 v16.10Browse roadmap and release notesNow in VS 2019 v16.10
- Build
- Debugger
- Editor
- Run Code Cleanup on format
- Don't copy empty lines
- Don't copy when there's no selection
- Copy without indentation
- Format on moving line up/down
- Disable editor zoom on mouse wheel
- Shortcut to set zoom to 100%
- Select current file in Solution Explorer
- Duplicate code window
- Open language settings from context menu
- Added Paste Special to editor context menu
- Collapse to hide C# attributes
- Select whole line
- Warn on paste huge text
- Settings
If you know of any suggestion tickets that would be well suited for this extension to implement, please open an issue on it. Find inspiration by browsing the Developer Community for more suggestions.
General
Re-open closed file
Inspired by the suggestion Reopen closed tab.
When you close a file by accident, you can now easily open it back up again. Go to File -> Re-Open [file name] or hit Shift+Alt+R.
Auto save
Inspired by the suggestion Option to Auto Save the editor pages.
Automatic saving of documents happen when the document loses focus. That could happen when you open a different document or click around in another tool window such as Solution Explorer. It will also save any changes to its containing project.
Projects are also automatically saved when files are added, removed or renamed.
Ctrl+W closes current document
Inspired by the suggestion CTRL+W should close the current tab as a default key bind.
By default, this extension will re-purpose the command currently using Ctrl+W to close the active open document.
Shift+Alt+F now adds a new folder to your project. When a document is open in the editor and has focus, the new folder will be a sibling to that document.
Focus Solution Explorer on project load
Inspired by the suggestion Always open Solution Explorer when I open Visual Studio..
When opening a project or solution, the Solution Explorer is not always visible if it was hidden behind other docked tool windows, for instance. But now Solution Explorer is always shown when a project is being loaded.
Clear list of recent files and projects
Inspired by the suggestion Add menu option to clear Most Recent File / Most Recent Project lists.
Clear the list of files from the File -> Recent Files list and projects from File -> Recent Projects and Solutions. It requiers Visual Studio to restart before the items are gone.
Browse existing feature suggestions
Inspired by the suggestion Make it easy to discover existing suggestions to vote/comment on .
A command under Help -> Send Feedback that opens your browser to the feature suggestion page on the Developer Community.
Browse roadmap and release notes
Inspired by the suggestion There's no easy way to check release notes.
Commands under the top-level Help menu that opens your browser to the the Visual Studio roadmap and release notes.
Open to the side
In Solution Explorer you can now find the command Open To The Side in the right-click context menu. Invoking it will open the document in a new vertical tab group. This feature is handy for wide monitors where you can dock multiple document groups next to each other to optimize for horizontal space.
Another way to invoke this command is to hold down the Alt key when opening files.
IDE
Restart Visual Studio command
Inspired by the suggestion Add a Restart Visual Studio option to 'File' menu.
Make it easy to restart Visual Studio. If it's running elevated, it will restart back into elevated mode. The shortcut key is Shift+Alt+F4.
You can also restart specifically into Admin or Safe modes.
Open in /SafeMode from Jump List
Inspired by the suggestion Add a Restart Visual Studio option to 'File' menu.
Adds a task to the Windows Jump List making it easy to open Visual studio with the /SafeMode
command line argument.
Presentation Mode
Inspired by the suggestion Visual Studio Presentation Mode.
Adds a presentation mode that starts up an instance of Visual Studio with its own settings, window layout, extensions, etc. Customize it to your presentation style without it changes anything in the regular instance of Visual Studio.
For more information and how to get the most out of Presentaion Mode, see 5-minute video.
It starts Visual Studio with the /RootSuffix Demo
command line argument.
Build
Set verbosity level in Output Window
Inspired by the suggestion Add a checkbox to the Output Window's context menu to toggle verbose trace messages ON or OFF.
You can now change the logging verbosity level directly from the Output Window instead of having to go to Tools -> Options every time.
Save solution on build
Inspired by the suggestion Save Solution on Build.
When executing a build, the solution, project and all unsaved files that are part of the solution will be saved. This ensures that the .suo file is kept current in case of any crash caused by the running app.
Delete obj and bin folders on Clean
Inspired by the suggestion Aggresive Clean Output Option.
Both bin and obj are now fully deleted when the Clean command is executed. It does so right before the regular Clean command runs. The Clean command will add the bin and obj folders back, so be aware of that when testing this feature.
Show build time statistics
Inspired by the suggestion Build Statistics.
After any Build, Rebuild, Clean, or Deploy is executed, the time statistics are written to the output window.
Up-To-Date Check Verbose
Inspired by the suggestion There is no easy way to tell why a project rebuilds every time (is never considered up-to-date).
This toggles a difficult to get to setting U2DCheckVerbosity
that
can help easily diagnose why a project is being rebuilt. Setting the build Output Verbosity to Diagnostic can be useful for troubleshooting this, but contains much more data to sort through. The output
generated when this setting is enabled goes directly to the Output Window, even with Minimal build output verbosity.
Show ordered build output
Activates the Build Order pane in the Output Window when the build completes.
Debugger
Toggle Just My Code from the Debug toolbar
Inspired by the suggestion Expose "Enable Just My Code" option directly in the "Exception Settings" tool Window.
There is now a toggle button on the Debug toolbar, so you no longer have to go through Tools -> Options -> Debugging to set it.
Don't start debug on F10/F11
Inspired by the suggestion Please provide a way to disable F10/F11 until debug mode is entered.
F10 (Step Over) and F11 (Step Into) are two commands people often hit by accident. That starts a new debugging session and that can be annoying if you didn't mean for that to happen. They should only take effect during a debug session.
Editor
Run Code Cleanup on format (C# only)
Inspired by the suggestion Cleanup code during formatting.
Instead of running the Code Cleanup command manually, it now runs automatically when Format Document or Ctrl+K,Ctrl+D is invoked.
Don't copy empty lines
Inspired by the suggestion Please stop clearing the clipboard when you hit ctrl+c and nothing is selected.
When the cursor is in an empty line and you hit Ctrl+C to copy, then the empty lines is added to the clipboard. That is a wrong default behavior that this extension fixes.
Don't copy when there's no selection
Inspired by the suggestion Please stop clearing the clipboard when you hit ctrl+c and nothing is selected.
When you make no selection and hit Copy or Ctrl+C then nothing is copied to the clipboard like it normally would.
Copy without indentation
Inspired by the suggestion Easy copy code without indentation.
Removes indentation from subsequent lines when the selection starts after leading indentation.
Format on moving line up/down
Inspired by the suggestion Move lines up/down command should correct indentation.
When using Alt+Up/Down arrow keys to move lines up and down in the editor, those lines will now indent correctly as they move. This is supported for C#, Visual Basic, and HTML.
Disable editor zoom on mouse wheel
Inspired by the suggestion fix zoom feature.
People often zoom in the editor accidently by hitting Ctrl+MouseWheel. Zooming is now disabled by this mechanism, but can be re-enabled in the settings.
You can still zoom in using Ctrl+Shift+. and zoom out using Ctrl+Shift+,
Reset zoom
Inspired by the suggestion fix zoom feature.
The ability to reset the editor zoom level using the shortcuts Ctrl+0. In the settings, you can chose what the default zoom level should be. The default value is 100.
Select current file in Solution Explorer
Inspired by the suggestion Add entry for "Sync with Active Document" in the right-click context menu for a document tab.
Adds a command to the document tab context menu that will select the file in Solution Explorer.
Duplicate code window
Inspired by the suggestion add "New Window"-command to tab context-menu.
Easily duplicate (or clone) a code window directly from the context menu on the document tabs. This is the same command as Window -> New Window, but in a more convenient location and with a more descriptive name.
Open language settings from context menu
Inspired by the suggestion Add language settings command to editor context menu.
Some language such as HTML and CSS expose commands to open Tools -> Options directly to their settings. But most other languages does not. So now a Settings... command is added to C/C++, C#, JavaScript, TypeScript, Visual Basic, and XML.
Added Paste Special to editor context menu
Inspired by the suggestion Please add "Paste Special" to the Context Menu.
The Paste Special fly-out menu has been located under the Edit top level menu for many years, but never in the editor context menu next to the Paste command. Until now.
Collapse to hide C# attributes
Inspired by the suggestion Show/Hide member attributes.
You can now collapse member- and class attributes in C# to reduce visual noise.
Select Whole Line
To select the whole line, hit Shift+Alt+E or go to Edit -> Advanced -> Select Whole Line.
Warn on paste huge text
When pasting huge amounts of text into the editor, Visual Studio will ask you to confirm. This is to avoid accidental inserts that may cause Visual Studio to freeze.
Settings
You can enable or disable the various tweaks to your liking.