/Tweakster

A Visual Studio extension

Primary LanguageC#Apache License 2.0Apache-2.0

Tweaks for Visual Studio

Build status

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.

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.

Re-Open Closed File

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.

Clear MRU

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 suggestions

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.

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.

Restart

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.

Clear MRU

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.

Clear MRU

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.

Output Verbosity

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.

Build time statistics

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.

Up To Date Check

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.

Just My Code

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.

Copy Without 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.

Select 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.

Duplicate window

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.

Settings

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.

Settings

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.

Settings

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.

Warn On Paste

Settings

You can enable or disable the various tweaks to your liking.

Settings

License

Apache 2.0