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. Provide refactoring support for F# code.

    Currently F# IDE integration into visual studio does not have any refactoring support. It would be nice to at the very least be able to handle renaming.

    1,626 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    19 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  2. Implement 'Compiler as a service' for F#

    It would be a tough blow for F# adoption to not provide 'Compiler as a service' when VB and C# does.

    522 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    18 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →

    Our recommendation for Visual F# Tools users requiring a “Compiler as a Service” component is to use and contribute to the F# compiler service component at http://fsharp.github.io/FSharp.Compiler.Service/. This is also available as a Nuget package. This implementation is directly adapted from the open source code for the Visual F# implementation.

    The component is already used by numerous projects including the Visual F# Power Tools, FSharp.Formatting, the Xamarin and Emacs editing bindings for F#.

    We also encourage (and would like to contribute to) discussions about implementing Roslyn interfaces using the functionality available in the FSharp.Compiler.Service project.

    Don Syme, answering on behalf of for the Visual F# Tools team

  3. Improve IntelliSense support for F#

    F# is seriously lacking Intellisense support in VS2010. it would be very nice if it had the same support as C#. The currently available code completion features really make VS feel like notepad.

    499 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  4. Better code navigation in F#

    Bring over the code navigation features found in the VB.NET/C# Visual Studio experience, such as Find All References and Call Hierarchy

    317 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  5. Publish the source code of the F# project plugin for Visual Studio

    Similarly to what was done to the compiler, so people can improve the IntelliSense support, add refactorings, etc., instead of asking for those features here

    82 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  6. floating point optimizations around SSE4, AVX etc

    more and better floating point optimizations around SSE4, AVX etc

    why this is a crucial feature for high performance programming --
    either do it on x86 platform or support CUDA ..,. just to be competitive.

    Is it many/multi-core CPU-GPU or GPU-CPU?

    56 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  7. Add folders for Visual F# Projects

    Realted to this post: http://stackoverflow.com/questions/5918534/why-cant-i-add-a-subfolder-in-a-f-project

    When using type providers, you ofen need to keep a static file to declare the type. Having a folder where I keep all of these files (versus scattered in my project's main folder) would be very helpful

    32 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow optional naming of union fields

    It can be hard to keep track of field order, especially when there are several of the same time. For example: type MyUnion = Case1 of string * string * string. It's hard to remember which field is Id, Name, Description, and so on. If the fields could be notated -- type MyUnion = Case1 of Id:string * Name:string * Description:string -- then Intellisense could be provided when entering case constructors.

    26 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  9. Include F# support in VS2011 Express

    Currently with the Win8 Developer Preview VS2011 supports C#, VB.Net and JavaScript in the Express SKU. It would be nice to see F# integrated alongside these.

    18 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  10. Support explicit member constraints (duck typing) for records

    Explicit member constraints are great for reducing the amount of copy & paste code we write, but they're of limited use when you use records regularly, because record fields aren't recognised.

    See example code: https://gist.github.com/1173248

    15 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  11. Support rich debugging of F# scripts

    F# developers love the low-overhead, iterative REPL experience they have today, but when scripts become larger and more complex, they become difficult to debug. There is no interaction whatsoever today between Editor + F# Interactive and the VS Ddbugger. Thus to debug complex scripts, devs must resort to one of:

    - `printf` debugging
    - Create a console app, paste in script code, F5-debug the console app

    It would be much nicer if we could have the VS debugger participate in the F# script workflow directly.

    13 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  12. Highlight variable usage in F#

    It should be possible to mark all usages of a certain variable. The type of the variable is already inferred and shown when hovering over it. It'd be great if all places where the variable is used are highlighted, e.g. by setting a background color on the variable name. It'd be great if this is possible for several variables.

    11 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →

    Update: The Visual F# Power Tools project (http://fsprojects.github.io/FSharpVSPowerTools) is a community-driven project based on the FSharp.Compiler.Service and Fantomas tools. It is available as a Visual Studio gallery entry in Visual Studio 2012 and 2013.

    While it is at an early stage, highlighting variable usage is one of the features enabled by this project.

    The project is seeing significant contribution levels and we encourage community contributions to it.

    Although this functionality is not yet included in the Visual F# Tools, this item is being closed as “completed” to allow votes to be recycled, and because it also implied by some of the other tooling requests.

    Possible future paths may include migrating functionality from the Visual F# Power Tools to the Visual F# Tools proper, depending on quality levels and other factors.

    Don Syme, answering on behalf of the Visual F# Tools Team

  13. More extensive colorization of modules and classes in the editor.

    Currently, module and class names are not given their own color in the editor and this can make it difficult to look at larger blocks or longer lines of code. Different colors should be used for modules (e.g., the word List in `List.map`), classes/constructors/structs (e.g., DateTime in `let x = new DateTime()` or `let x = DateTime.Now`), and enums (e.g., DayOfWeek in `let x = DayOfWeek.Monday`).

    8 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  14. Add "Portable Class Libary" Project Tamplete for F#

    Allow to develop "Portable" .NET code in F#

    6 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  15. Improve control over target framework in F# portable libaries

    Make F# work like C#, where there is more fine-grained control over which frameworks are targeted. Currently it is not possible to use the portable version of Reactive Extensions from a portable F# library due to F# only targeting Profile47.

    4 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  16. Create more frequent Visual F# pre-release packages

    Now that Visual Studio 2017 is in release candidate, it would be useful if we could get some more frequent releases of the F# vsix package to test out without having to go through a full compiler build on our local machines.

    3 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  17. 3 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  18. Provide a Function-Programming-Style in C# and VB.NET as F#

    Provide a Function-Style programming in C# and VB.NET as F#

    (A Linq-completly-integrated-functions-programming for all operations)

    Where all operations on variables are put in the variables and computed only when a result is required.

    3 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  19. IDE improvement

    F# Depth Colorizer Extension for Visual Studio 2013 [1] offers an entirely different, light years better quality of coding and readability of code in F# and deserves to be part of Visual Studio rather than a separate extension. Please turn the depth-colorizing functionality offered by that extension into a default IDE feature and part of the F# Language Service. The ability to write code that's VERY easy-to-read and understand (available to everyone, even newbie programmers in F#, not only those experienced programmers who downloaded and installed the extension) will have a positive impact on the language popularity and improve the…

    3 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
  20. Display parameter names in function tooltip

    For example, for the function "let limit low hi value = max (min value hi) low" it is impossible to infer parameter order from tooltip as it displays only types from function signature: " 'a -> 'a -> 'a -> 'a "

    1 vote
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1

Feedback and Knowledge Base