Visual Studio IDE

Announcement: Last fall, we migrated this forum to Visual Studio Developer Community to provide you one convenient and responsive system for all feedback. As the final step in the migration, this forum will be closed off completely on June 1st, 2019. We encourage you to visit Visual Studio Developer Community where you can now suggest new ideas, browse and vote on existing ideas, and engage with Visual Studio teams.

We’d like your suggestions and ideas to help us continuously improve future releases of Visual Studio, so we’ve partnered with UserVoice, a third-party service, to collect your feedback. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.

This site is for feature suggestions; if you need to file a bug, you can visit our Developer Community website to get started.

Note: your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy and license terms.

We look forward to hearing from you!
- The Visual Studio Team

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 support and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Upgrade the Task Runner to ES6

    currently the task runner fails without any clear error when any ES6 syntax is used.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  2. Replace Bower with Webpack in Visual Studio project templates

    Since Bower is now deprecated, replace it with Webpack when creating new VS projects for web

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  3. JavaScript Spaces

    Hey. I'm a web-developer, just switched to VS, my version is Community 2015. Thing that confused me the most about coding JS in VS is that you can't control spaces as you like, it auto-formats. And you can only select to add spaces or to delete spaces for some cases. Here's a thing, I don't like spaces around +-*/ symbols but I like them around || and &&. Can you at least separate those two things in different checkboxes? And do we actually need spaces auto-formating? Space is easyest button on the keyboard, it's allways under big thinger. How hard…

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  4. Provide support for tsd to download typescript typings similar to bower and npm support.

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351078/provide-support-for-tsd-to-download-typescript-typ.html
    Currently in order to support TSD, you need to download it, add binary path to path then in command prompt go to the project folder and run command manually.
    While this works, as an improvement, I suggest supporting TSD in a manner similar to bower and npm support.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  5. Provide an option in TSLint for Visual Studio to fail the build if there are Lint Errors

    TSLint is available for Visual Studio 2015 as part of the .Net core Tools Preview 2.

    The problem is the linter only runs when **a file is opened**, and then reports any failures as a warning (or optionally as an error) in the error window.

    This is just not workable in a solution with hundreds of files.

    It would be much nicer if the linter ran as part of TypeScript build (i.e. MSBuild) and optionally failed the build if there are linting errors.

    The errors should be printed to the output window.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  6. Better JavaScript intellisense

    Visual Studio 2017's Javascript Intellisense is weak comparing to WebStorm's Javascript intellisense capabilities.
    So please make intellisense much more better then now. I know there are some completed Js intellisense uservoice thread, but honestly VS2017's js intellisense is weak.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  7. Make file paths with line and column numbers clickable in Task Runner Explorer output

    It would be nice if we could click on links in the Task Runner Explorer output window.

    i.e. webpack outputs something like

    (34,1): error TS1109: Expression expected.

    It would be nice if the Task Runner Explorer parses the output and adds a link to the exact position in the file.

    This should work with other web tools like ts-lint as well.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  8. Implement the SilverLight client runtime in TypeScript

    Everything you need is there!
    * HTML canvas with hardware acceleration
    * WebSockets for client/server communication

    And converting the C# code you have for SilverLight to TypeScript should be rather straight forward.

    You would get a all the good things of Silverlight and it's productivity and it would work on any platform supporting HTML5.

    Just do it!

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  9. Visual Studio Mac Javascript Syntax Highlighting

    Add syntax javascript highlighting to files like html, cshtml, etc. It is currently hard to read my javascript as I am used to comments standing out.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  10. Design pattern highlighting for Javascript editor

    To create professional Javascript it is highly recommended to use design patterns. It would be great if the IDE could help in recognizing the MEANING of these patterns.

    For example, it could highlight the public vs. private methods of the module pattern by a different background color.

    Suggested patterns:
    Constructor Pattern
    Module Pattern
    Revealing Module Pattern
    Singleton Pattern
    Observer Pattern
    Mediator Pattern
    Prototype Pattern
    Command Pattern
    Facade Pattern
    Factory Pattern
    Mixin Pattern
    Decorator Pattern
    Flyweight Pattern

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  11. Code Formatting - TypeScript and JavaScript - Space before and after curly braces

    In our team we are using TSLint with "jsx-curly-spacing": [ true, "always" ]. Half our team uses VS Code and when they use Code Formatting they have this done automatically. However if i press Ctrl+E, Ctrl+D to format the entire document the spacing is removed.

    How I would like it to be:

    <div className={ classes.root }>

    How it turns out:

    <div className={classes.root}>

    I have looked at the settings but I can't find any for brackets.

    I'm using the new Visual Studio Enterprise 2017 15.5.3.

    VS Code has this automatically it seems and they can toggle it using these settings:

    "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":…

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  12. Solution Explorer improvements for TypeScript-related files

    It would be really convenient to keep both js and js.map files under a typescript file node. Like it's done for LESS files.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  13. Make TypeScript compilation an option for client side scripting instead of Javascript

    The current client side scripting in Javascript is very error prone since Javascript isn't a strongly typed language and is very error prone when creating client side scripts. Providing the option to use TypeScript instead of Javascript would enable strong type checking as well as numerous other advantages at the same time as compiling down to Javascript at runtime. This can be done currently but only for modules and isn't natively available as part of Lightswitch.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  14. We need more JavaScript / TypeScript formatting options.

    Currently, Visual Studio 2017 is lacking quite a lot of formatting options, such as indenting case labels in switch statements, or toggling 4-spaces / tabs.

    Attached is a picture of what JavaScript / TypeScript formatting options look like on the latest Visual Studio 2017 version right now.

    They are really few options to play around with, compared with C++, C#, and even HTML.

    Please add more formatting options for JavaScript / TypeScript. Thank you.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  15. Have JavaScript Intellisense remember my recent completions

    Unlike C# Intellisense, JavaScript Intellisense does not remember recent completions. For example, my current project uses the keyword "prototype" 176 times and does not use the method propertyIsEnumerable() at all. Yet, when I try to code completion on an object that has both, and I type 'p', the default selection is propertyIsEnumerable because it comes earlier in alphabetical order.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  16. Typescript query language for object arrays

    As every body knows, queries to objects is such a great idea since I saw it working on .NET. It's barely an idea but it would be powerful, I don't know, is my opinion. The idea is translate the query's semantic to array native operations. Also it could be encapsulated into self-invoked anonymous function. Sorry for my English and indentation code. I'm Cuban but I'm fascinated with TypeScript.
    var numberArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    var query = from number in numberArray where number >= 3 select number;
    Must compile:
    var numberArray = [1, 2,…

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  17. In VS2017, both new/old JavaScript language service doesn't support `_references` file

    Currently, intellisense doesn't work not all for plain JavaScript project (without TypeScript definition file). This is a breaking change in Visual Studio that used to be the best JavaScript IDE. I just don't understand why Microsoft decide to not support this common JavaScript pattern and force every developer to use TypeScript.

    https://developercommunity.visualstudio.com/content/problem/44370/both-newold-javascript-language-service-doesnt-sup-1.html?childToView=55866#comment-55866

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  18. Intellisense parameterArray in JavaScript

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351042/intellisense-parameterarray-in-javascript.html
    Basically support syntax that will support argument arrays based on types.

    /// <signature>
    /// <summary>String format</summary>
    /// <param name="text" type="String">Content string</param>
    /// </signature>
    /// <signature>
    /// <summary>String format with argument list</summary>
    /// <param name="text" type="String">Content string</param>
    /// <param name="arg" type="String" parameterArray="true">List of replacements for {0} to {n}.</param>
    /// </signature>

    format('foo') or format('foo {0}', 'bar')

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  19. TypeScript Extension for Visual Studio 2015

    I would welcome more C# solution/project driven approach to the TypeScript extension and compiler. What I am missing and what I don't like is:

    - It is not possible to create a project as a typescript library without need of the debuger and so on
    - Classes belonging to the same module / namespace placed to separate files are compiled as a new module / namespace even if compilation to single file option is checked.
    - It is not possible to use references for other typescript libraries / projects in the same solution
    - TypeScript preprocessor is missing so much,…

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
  20. --experimentalDecorators flag

    Add tag --experimentalDecorators to the Typescript compiler command.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →

Feedback and Knowledge Base