Visual Studio

Welcome to the Visual Studio UserVoice site. Let us know what you would like to see in future versions of the Visual Studio suite of products. This site is for suggestions and ideas. If you need to file a bug, visit the Visual Studio Connect site: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
Visual Studio Team

Terms of Service and Privacy Policy

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  1. Support for Macros in Debugging Command Line Arguments and Executable path for C# solutions

    I am working on an Excel addin written in C#.

    One thing that is very painful is that there is no support for Macros in the command line arguments and executable path in C# debugging panel.

    i.e. when you are working on an Excel addin, typically you need to launch Excel.exe with your addin on the command line arguments.

    What I would really need is to be able to enter

    1 - $(EXCELPATH) in the Start External Program textbox and I would set ExcelPath somehow externally.

    2 - $(TargetDir)/Myaddin.xll as command line arguments

    Unfortunately for C# solution, these macros/envvars are…

    25 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      0 comments  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
    • Boolean coercion in c#

      Can't believe this isn't a request already, but probably my biggest annoyance.

      I really should be able to do

      if(someObj)
      someObj.Something();

      rather than having to do

      if(!Object.ReferenceEquals(null, someObj))
      someObj.Something();

      It doesn't have to do full javascript-style coercion (though extensiblity would be swell), just a simple != null check would cover 99% of scenarios.

      16 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        4 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
      • Better commit message on Visual Studio Online pull request merges

        Using the pull request tool in VSO to complete a merge create a commit message on the target branch that is something like this:
        "Merge commit 'xxxxxxx' into refs/heads/master"

        It would be much more meaningful to include the branchname that was merged. Like "git merge" command line do.
        "Merge branch 'feature/myCoolFeature' into master"

        22 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          2 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
        • New debugging feature: debug shunts

          I sometimes find myself running code in a testing configuration where certain parts of the code can't be run, or certain variables need values assigned. Currently, I set a breakpoint at the start of the code that needs to be skipped, or at the point where variables need to be set up, and then I use 'Set Next Statement' and assignments in the Watch pane to set things up.

          This works fine, except that if I need to do multiple test runs, I have to repeat these steps *every single time*. For that reason, I'd like to propose a new…

          22 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  Debugger  ·  Flag idea as inappropriate…  ·  Admin →
          • Allow readonly modifier on local variables, not just properties.

            Readonly modifiers shouldn't be canned for just instance-level properties on a class. Readonly isn't always to explicitly prevent subsequent code from changing a value. I would argue readonly modifiers can significantly improve code comprehension and readability:

            Imagine the following code in a method definition, where prod_count would be a local:

            int prod_count = (List<Product>) prods.Count;

            If the compiler would allow this:
            readonly int prod_count = (List<Product>) prods.Count;

            All of a sudden, I know as a developer reading the code that I don't have to scan for prod_count getting reassigned to something...I can mentally write it off as, okay that's just…

            37 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              8 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
            • add emoji support to the visual studio editor.

              Seriously, how cool would that be?

              44 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                3 comments  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
              • Use Desktop Toast Notifications

                Use toast notifications to exploit this feature of Windows 8:

                Submit desktop notifications such as when:

                I was assigned a task or work item.
                Amending or updating a task or work item assigned to me.
                You have reached the deadline to complete a task
                etc ...

                11 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  5 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                • Allow .NET games on Xbox One

                  Yesterday was announced that Xbox One will allow indie developer to easily publish games on Xbox One.

                  Lots of indie developers and small game company are using .NET to develop games. Today, we are able to easily target several Windows platforms (Windows Desktop, Windows RT and Windows Phone 8) as well as other platforms thanks to Mono from Xamarin.

                  As we don't know yet the details about this indie developer program for Xbox One, we would love to use .NET on this platform - with everything accessible, from latest 4.5 with async, to unsafe code and native code access through…

                  14,767 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    270 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Make Visual Studio Tools for Unity available por Visual Studio Express

                    I see MS has recently released Visual Studio Tools for Unity for VS2013... but it seems to work only for Pro and above versions. Is it possible (or even planned) to be released for VS Express?

                    30 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                    • odata v4

                      upgrade Lightswitch OData to v4

                      39 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        0 comments  ·  LightSwitch  ·  Flag idea as inappropriate…  ·  Admin →
                      • Compliable strings

                        If you're writing a tracing and logging component you may well want to pass the current method name to your logging component. Rather than hard code it (then forget to change it when you change the method name) you can use reflection and the MethodBase class to retrieve the name:
                        System.Reflection.MethodBase currentMethod = System.Reflection.MethodBase.GetCurrentMethod();
                        System.Diagnostics.Debug.WriteLine(currentMethod.Name);
                        System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Name);
                        System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Namespace);

                        In C # 4.5 you can use attributes System.Runtime.CompilerServices.CallerMemberNameAttribute, System.Runtime.CompilerServices.CallerFilePathAttribute and System.Runtime.CompilerServices.CallerLineNumberAttribute for such purposes.

                        Frequent use of reflection dramatically reduces performance. Using special attributes is a contentious issue. Because attributes inherently are declarative. They obviously do not provide full support for the…

                        271 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          7 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                        • Web deploy parameterization in website project

                          Web.config parameterisation is not working for "website project" in visual studio 2013. I have created Parameters.xml and tried “webdeploy” as mentioned in http://msdn.microsoft.com/en-us/library/ff398068.aspx.
                          Based on my test, the data that in our own parameters.xml file won’t be added to the generated parameters.xml and SetParameters.xml files when I created a web deploy package.
                          Big “web site” projects are hard to convert to “web application" project type. Lot of people may face the same issue.
                          I would suggest incorporating web.config parameterisation featured with "Website Project" as well.

                          25 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  Release Management  ·  Flag idea as inappropriate…  ·  Admin →
                          • Allow Lightswitch OData connection URI to be changed dynamically at runtime

                            The following suggestion is a popular one and thankfully the LS Team provided support for changing database connection strings at runtime.

                            http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4406782-allow-lightswitch-data-source-connection-string-to

                            _InitializingConnection is a great improvement, but as Xander's suggestion states, we need the same for OData...the new_SendingRequest method doesn't allow changing the RequestURI.

                            Please also expose _BuildingRequest method so we can dynamically change Odata connection at runtime.

                            The scenarios are all the same as the above mentioned suggestion, and several other duplicate suggestions exist.

                            It would be great if votes could be combined or moved to this one.

                            29 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  LightSwitch  ·  Flag idea as inappropriate…  ·  Admin →
                            • Static Interfaces

                              I've been thinking about static interfaces, and I think they would be really useful for software which uses reflection to identify and assemble components. Currently I find myself having to design around this limitation with unnecessary factories or by enforcing conditions at runtime (like checking for methods and throwing exceptions if they aren't present).
                              It would be great if the following was possible:

                              foreach (var type in Assembly.GetExecutingAssembly().GetTypes().Where(t => t is IStaticInterfaceType))
                              (type as IStaticInterfaceType).StaticMethod();
                              This could be used for singleton patterns, initialization methods, registration methods, constructor contracts, or any number of other things.

                              I don't know how much overhead…

                              23 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Add a new directory-based solution or project type

                                Visual Studio should support opening a directory and working with 'directory-based' projects using actual files on disk (no solution/project files, but instead Visual Studio can store project settings inside '.vs' hidden folder, similar to .idea in WebStorm / ItelliJ). The existing Website project type is not an option!

                                Visual Studio should support working with existing directory structures widely used in the front-end community. See project templates like 'angular-seed' or templates in 'yeoman' gallery. Developers should be able to work comfortably with these directory structures and actual files on disk, without any tweaks. Also it should have a first-class console window…

                                44 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  5 comments  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                                • Generate tiles and splashscreen in multiple scales in Blend

                                  #Design mockup attached to this idea

                                  Creating all the visual assets for a new app is today a quite heavy process usually done in programs such as Adobe Photoshop or Adobe Illustrator.
                                  What could be really awesome was if Blend could support a small tool where it would be easy to generate visual assets such as tiles and splashscreens for different kind of apps.

                                  If Blend could support vector graphics such as AI files, and place them intelligently inside some guidelines for icons, and generate all the scaled assets, and even scale the resize the icon inside depending on the…

                                  16 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Kanban board: More customizations and usability features

                                    Kanban board should provide additional capabilities so that we can effectively move existing "physical" Kanban using team or from competitive products to TFS. Some important customization capabilities:
                                    Which field to display on the card
                                    Ability to choose number of card width for a specific state/column
                                    Ability to have horizontal swimlane with different states (for different class of services for example)
                                    Ability to access the PBI related tasks as a sub-board

                                    And also usability features:
                                    - functionalities for large display for team board: auto refresh, auto scroll, etc.
                                    - change the priority/positionning of the card directly on the board
                                    - Ability…

                                    82 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      1 comment  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Allow to save tests runs and restore crashed ones - Visual Studio Test Explorer

                                      Save the last run in a temporary location and been able to loaded at any time. Been working with Visual Studio Test 2010 and this always been a problem, now with Visual Studio 2013 Update 2 I'm getting random crashes at the middle of my work, is becoming annoying and a wastes of time, every-time Visual Studio crashes or become unresponsive I have to rerun the whole regression ( > 1000 test, ~2 hours to complete)

                                      26 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  Visual Studio Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →
                                      • VS IDE should support file patterns in project files

                                        Patterns should be preserved and unmodified when working with *proj files. If I specify a pattern with something like **/*.cs for my code files. If I add a new .cs file that fits that pattern the .csproj file should not be modified.

                                        MSBuild already respects this, but the IDE will always modify the project file.

                                        For numerous scenarios this could simplify the diff / merge process.

                                        3,014 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          16 comments  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Add "Start URL" to WebRole properties to launch a specific URL on F5

                                          It would be really helpful if you extend the "Startup action" of a WebRole with a "Start URL" parameter. The two options "Launch browser for HTTP endpoint" and "Launch browser for HTTPS endpoint" are not enough. If you do not know what I mean look at the project properties of a Web Application project unter "web > Start Action > Start URL". Take a look at my attached image.

                                          21 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  Windows Azure Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base