All Projects → dzimchuk → experimental-tools

dzimchuk / experimental-tools

Licence: MIT license
A bunch of quality refactorings and code fixes that are going to improve your C# development experience in Visual Studio and remove some common pain.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to experimental-tools

Codist
A visual studio extension which enhances syntax highlighting, quick info (tooltip), navigation bar, scrollbar, display quality and brings smart tool bar to code editor.
Stars: ✭ 134 (+605.26%)
Mutual labels:  visual-studio, roslyn, visual-studio-extension
Roslynator
A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn.
Stars: ✭ 2,221 (+11589.47%)
Mutual labels:  visual-studio, roslyn
Glyphfriend
Glyphfriend is a Visual Studio Extension to add previews for various icon/glyph fonts to Visual Studio.
Stars: ✭ 157 (+726.32%)
Mutual labels:  visual-studio, visual-studio-extension
Roslyn Security Guard
Roslyn analyzers that aim to help security audit on .NET applications.
Stars: ✭ 214 (+1026.32%)
Mutual labels:  visual-studio, roslyn
Uno.sourcegeneration
A Roslyn based C# source generation framework
Stars: ✭ 99 (+421.05%)
Mutual labels:  visual-studio, roslyn
Stack Trace Explorer
Stack Trace Explorer is a Visual Studio plug-in that pretty prints a stack trace by turning types, methods, and paths into hyper links
Stars: ✭ 100 (+426.32%)
Mutual labels:  visual-studio, roslyn
Seriloganalyzer
Roslyn-based analysis for code using the Serilog logging library. Checks for common mistakes and usage problems.
Stars: ✭ 214 (+1026.32%)
Mutual labels:  visual-studio, roslyn
Openapi Connected Service
Visual Studio extension to generate OpenAPI (Swagger) web service reference.
Stars: ✭ 57 (+200%)
Mutual labels:  visual-studio, visual-studio-extension
Roslyn
The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
Stars: ✭ 15,296 (+80405.26%)
Mutual labels:  visual-studio, roslyn
Visual Studio Jquery Code Snippets
130+ jQuery code snippets for Visual Studio 2012-2019.
Stars: ✭ 250 (+1215.79%)
Mutual labels:  visual-studio, visual-studio-extension
D365FONinjaDevTools
To make of you a Ninja Developer in Dynamics 365 For Finance and Operations
Stars: ✭ 70 (+268.42%)
Mutual labels:  visual-studio, visual-studio-extension
Google Cloud Visualstudio
Google Cloud Tools for Visual Studio
Stars: ✭ 80 (+321.05%)
Mutual labels:  visual-studio, visual-studio-extension
Discordrpcvs
An extension for Visual Studio 2017 that enables Discord Rich Presence.
Stars: ✭ 77 (+305.26%)
Mutual labels:  visual-studio, visual-studio-extension
Micro Profiler
Cross-platform low-footprint realtime C/C++ Profiler
Stars: ✭ 123 (+547.37%)
Mutual labels:  visual-studio, visual-studio-extension
Encourage
A bit of encouragment added to Visual Studio
Stars: ✭ 69 (+263.16%)
Mutual labels:  visual-studio, visual-studio-extension
Bridge
♠️ C# to JavaScript compiler. Write modern mobile and web apps in C#. Run anywhere with Bridge.NET.
Stars: ✭ 2,216 (+11563.16%)
Mutual labels:  visual-studio, roslyn
IncludeToolbox
Visual Studio extension to format, prune, and inspect include directives.
Stars: ✭ 48 (+152.63%)
Mutual labels:  visual-studio, visual-studio-extension
Vs Side Scroller
Scroll horizontally with the mouse wheel when holding the shift key in Visual Studio
Stars: ✭ 29 (+52.63%)
Mutual labels:  visual-studio, visual-studio-extension
Intrinsics Dude
Opensource Visual Studio extension for compiler instrinsics in C/C++
Stars: ✭ 44 (+131.58%)
Mutual labels:  visual-studio, visual-studio-extension
Retyped
Access 3600+ libraries from C# and let Bridge.NET compile your project into JavaScript.
Stars: ✭ 216 (+1036.84%)
Mutual labels:  visual-studio, roslyn

Experimental Tools

Build status

Download this extension from the VS Marketplace or get the CI build.


A bunch of quality refactorings and code fixes that are going to improve your C# development experience in Visual Studio and remove some common pain.

See the change log for changes and road map.

Note

As Visual Studio evolves more features get added to it and some of them start duplicating features from this extension. Duplicate features are disabled/removed from this extension to insure the best user experience possible with a given version of Visual Studio. A list of such features is provided near the end of this document.

Features

  • Add/Remove braces
  • Change access modifier on type declarations
  • Generate GUID (nguid)
  • Initialize field in existing constructor
  • Locate in Solution Explorer
  • Make it a constructor (when copied from another class)
  • Namespace vs file path analyzer
  • Scaffold xunit data driven tests
  • Settings page (ability to enable/disable individual features)
  • Analyze if type name matches file name

Add/Remove braces

Allows you to quickly add missing braces to single statements:

Add braces

It works both ways and allows you to remove braces if you prefer so.

Change access modifier on type declarations

Ctrl+. on a type declaration (either top level or nested) and choose one of proposed options.

Change access modifier on type declarations

Generate GUID (nguid)

Just type nguid where you want the new GUID to be inserted:

Generate Guid - before

and press TAB:

Generate Guid - After

Initialize field in existing constructor

Ctrl+. on a field and choose Initialize field in existing constructor.

Initialize field in existing constructor

Locate in Solution Explorer

There is a standard command in Solution Explorer called 'Sync with Active Document'. People coming from ReSharper will appreciate its Shift+Alt+L equivalent. To avoid conflicts with some internal VS commands ALT+L key binding was chosen by default which can be changed in VS settings if needed.

Locate in Solution Explorer

The command is available in the code editor either from the context menu or as a shortcut.

Make it a constructor (when copied from another class)

Sometimes you copy code from another class into a new one and this quick fix allows you to update the constructor name.

Make it a constructor

Namespace vs file path analyzer

Analyze if a top level namespace does not match the path of the file where it is declared or does not start with the project's default namespace.

Namespace and file path analyzer

VS 2019 and above provide a corresponding code refactoring out of the box, hence only the analyzer part will remain enabled in this extension.

Scaffold xunit data driven tests

If you're a fan of Xunit data driven tests this one's going to be a little time saver for you. You can scaffold MemberData:

Scaffold Xunit MemberData

As well as InlineData:

Scaffold Xunit MemberData

If your InlineData contains acceptable parameters they will be respected unless the test method already defines parameters (in which case neither of the scaffolding refactoring will work).

Note that this feature works with Xunit 2.x only.

Settings page (ability to enable/disable individual features)

All features can be individually enabled or disabled.

Type and file name analyzer

Analyze if type name matches file name

Analyzes if a top level type name matches the name of the file where it is declared and displays a warning if not.

Type and file name analyzer

VS 2017 and above provide code refactorings to rename types and file names to match each other out of the box.

Deactivated features

  • Add constructor and initialize field (VS 2019 started to provide Generate constructor ... at some point)
  • Field can be made readonly (VS 2017 version 15.7 and above provide a built-in analyzer and a code fix)
  • Initialize field from constructor parameter (VS 2017 and above provide a similar refactoring out of the box)
  • Namespace vs file path code fix (VS 2019 and above provide a corresponding code refactoring out of the box)
  • Type name vs file name code fix (VS 2017 and above provide code refactorings to rename types and file names to match each other out of the box)

Contribute

Check out the contribution guidelines if you want to contribute to this project.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].