Visual Studio IDE

Announcement: This forum has been migrated to provide our customers one convenient and responsive system for all feedback. You can now suggest new ideas, browse and vote on existing ideas in the Visual Studio Developer Community. To learn more about the migration to Visual Studio Developer Community please check out the release blog post.

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. WebBrowser Control Using Edge Rendering Engine

    Hi Development Team,

    Thousands of developers including myself would like the WebBrowser control in Windows Forms Application to use the Microsoft Edge Rendering Engine.

    We know there is WebView control for Universal Windows Platform, but, we want all the power we get under Windows Form Application but prefer the WebBrowser control rendering engine to be Edge not Internet Explorer.

    Could Microsoft please release this feature as an add-on to Visual Studio 2015? Or is there a way we can change the WebBrowser control use the Edge rendering engine? A lot of programmers are asking for this feature.

    227 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  2. New syntax to map interface members to the base class

    Explicit interface implementation in VB makes the code much better readable and maintainable than C# code with its implicit (i.e. hidden/secret) interface implementation.
    It is one of the main advantages of VB over C#.

    However there is one drawback: If a class implements an interface, all interface members have to be implemented directly in that class.
    There is no way in VB to map an interface member to a member of the implementing classe's base class.

    In C# this works implicitly without any extra code. In VB, of course, we want to maintain an explicit way to achieve it.
    A…

    155 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  3. Make the Optional keyword optional

    Please allow

    Private Sub Test(s As String = 1)

    as in C# besides the current version:

    Private Sub Test(Optional s As String = 1)

    This removes redundancies (--> improves readability, accelerates writing code) and drives forward the co-evolution of VB/C#. I don't see any reason not to allow this.

    147 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  4. Translator (C# <--->VB.NET)

    Visual Studio is now very powerful. However, if there is a service which can translate from C# into VB and vice versa, that will be marvellous.

    99 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  5. I wish the Possibility to create a Report will be as comfortable and easy as it was in VB6.

    I wish the Possibility to create a Report will be as comfortable and easy as it was in VB6.

    93 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  6. Allow Unsafe Code and Pointers in VB.

    Make it so pointers can be cast in unsafe contexts for complex interop coding ...

    Public Unsafe Function x(y as SomeStruct) As ResultStruct
    Dim p As Object? ' use Object? as an alternative to (void *)
    p = InteropCall(y?) ' use ? to get the address of something.
    Return CType(@p, ResultStruct) ' use @ to dereference.
    End Function

    89 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  7. Mixed-access auto implemented properties like in C#

    There should be a way to translate this to VB (one liner! }:)

    public int MyProperty { private get; protected set; }

    85 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  8. Increment (++) and Decrement (--) Operators in VB.net

    The whole purpose of the .net framework is the methods should be common to all languages. In the case of System.Int32 you are not allowed to use the follow in VB:-

    TestValue++ or ++TestValue

    So if I had an array the following is impossible in VB but possible in C#:-
    TestValue = TestArray(Index++)

    So instead I have to write the following:-
    Index += 1
    TestValue = TestArray(Index)

    Please enhance VB to include Increment (++) and Decrement (--) Operators in VB.net as per the MSDN info on c# below:-
    https://msdn.microsoft.com/en-us/library/xzcawzfw(v=vs.100).aspx

    77 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  9. Using TypeOf operator in the Select Case statement

    Select TypeOf myobj
    ....Case SByte, Short, Integer, Long

    End Select

    76 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    12 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  10. Double-click on a control ---> sub-procedure placed in alphabetical order (instead of at the end).

    When I double-click on a control I want the sub-procedure (like "Private Sub Button2_Click...") to be placed in alphabetical order in the code module - instantly and automatic - like in VB6. (I cannot understand why this very basic function still is not available in the newest VB-version - at least as an option.) In large projects this is essential.

    61 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  11. Allow implicit interface implementation like in C#

    This is very VERY essential to EF developers who have the implementend properties as part of the generated entity and can't address them to the interface.
    I've also posted a connection to MS Connect: http://connect.microsoft.com/VisualStudio/feedback/details/454529

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

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  12. Using Like operator in the Select Case statement

    Select Case sProductName
    ....Case Is Like "* tea *", Is Like "* coffee *"

    ....Case Like "* beer *", Like "* wine *" ' the Is keyword could be optional


    End Select

    47 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  13. Enable Unsafe Operations in Visual Basic

    Hello,

    The fact that Visual Basic does not have support for unsafe operations is very complicated, it makes many applications can only be written in C#.

    Visual Basic will die this way, and C# is growing quickly.

    If Visual Basic also could work with unsafe operations would be great, wonderful, the developer could use the language he loves the most, and not language that supports what he wants to do.

    I love Visual Basic so much but for the projects that I'm doing is necessary to use unsafe operations and only C# allows me it.

    I feel sad for not…

    42 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  14. Add NotifyPropertyChanged attribute (or keyword) to properties declared as auto-implemented properties

    I absolutely love using auto-implemented properties and the removal of the need to declare a backing variable.

    Public Property MyProperty As String

    However, for classes that implement INotifyPropertyChanged, I can't use auto-implemented properties, and instead have to write the more verbose:

    Private _myProperty As String
    Public Property MyProperty As String
    Get
    Return _myProperty
    End Get
    Set(value As String)
    _myProperty = value
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("MyProperty"))
    End Set
    End Property

    Multiply this by a few dozen properties, and this gets a little tedious (even with code snippets), much too verbose to read, and increases the surface area for typo bugs.

    I…

    33 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  15. Combine "Using" with "With"

    Combine "Using" with "With", so that you could write for example:

    Using System.IO.File.CreateText("log.txt")
    .WriteLine("This is line one.")
    .WriteLine("This is line two.")
    End Using

    instead of

    Using writer As System.IO.TextWriter = System.IO.File.CreateText("log.txt")
    writer.WriteLine("This is line one.")
    writer.WriteLine("This is line two.")
    End Using

    31 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    8 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  16. Duck typing of interfaces

    One of the features that was dropped from VB9 was dynamic interfaces:
    http://download.microsoft.com/download/5/8/4/5841bc1a-e864-4423-bb75-d4f3c18c0af5/visual%20basic%209.0%20overview.doc

    Any chance of bringing this back? I know it can be done at runtime:
    http://www.codeproject.com/Articles/16074/DuckTyping-Runtime-Dynamic-Interface-Implementatio

    But that looses the compile time type checking, which is the great advantage of dynamic interfaces -- it gives you the best of both worlds, you can define a set of behavior for an existing class without having to have control over that class, based upon it's public interface, with no chance of it failing because of a missing property or method (if the class doesn't meet the requirements for the interface,…

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

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  17. Unary operators -- and ++

    i++ / i--
    ++i / --i

    29 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  18. Uppercase/lowercase-change on a Dim command ---> instantly show on all places

    When I change between uppercase and lowercase on a variable name in a Dim command - I want this change to instantly show on all places where I have used this variable. (example: I change Dim strLastname as String to Dim strLastName as String --- and I want it to change instantly on all places.) This is very good in VB6 - helps visibility.

    22 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  19. Unused procedures vanish automatically on compile.

    When I compile or debug the program I want all unused procedures to vanish automatically. (example: Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged End Sub should vanish when debug/compile if no code is inside it.)
    This worked in VB6.

    20 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    11 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  20. Add some Tutorial Projects

    Add some tutorial projects for those poeple who are new to vb.net/2011 get to know what it is and how it works n stuff encouraging them to get into programming and explore new ideas also making the process user friendly. The easiest way to do this by using sample projects like "HelloWorld" and implementing into vb as a tutorial project with basic fucktion like If Fucntions , Select Case and loop functions etc... basically Add more of some practical related tutorials :)

    19 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

← Previous 1 3 4 5 8 9

Feedback and Knowledge Base