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. show properties values on debugging the "WITH statement"

    On debugging below code I can see values when I hovering the mouse over C2 in C1.C2.I, but not over .C2 in WITH C1. Why not?

    Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim C1 As New Class1

    With C1
    .C2.I = 12

    With .C2
    .S = "abcd"
    End With
    End With

    C1.C2.I = 12
    End Sub

    Public Class Class1
    Public C2 As New Class2

    Public Class Class2
    Public S As String
    Public I As Integer

    Sub New()
    S = "Teste"
    I = 1234
    End Sub
    End Class
    End Class
    End Class

    16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  2. wait until the line looses focus to show corrrections/errors

    It is very annoying when it tries to correct me in the middle of a line, when what I am typing doesn't make perfect sense, but will when I finish the line.

    12 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  3. Overhaul Visual Basic.NET and Visual Studio

    Since the release of Visual Basic .NET, there are many complaints from the developers that VB.NET syntaxes are not compatible with Visual Basic 6.0. The migration wizard is not powerful or accurate enough to translate all the VB6 syntaxes. So the result, the migrating VB.NET from VB6 is a painstaking task causing a huge gap between developers and microsoft.

    Until now there is a large argument and debate between Visual Basic 6.0 and Visual Basic .NET. Just like on this link --- http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6008370-bring-back-classic-visual-basic-an-improved-versi

    Yes VB.NET is powerful but not approachable to the first time developers. Because of this scenario I…

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  4. Will Microsoft bring back the VB6 programming language in 2019?

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351768/will-microsoft-bring-back-the-vb6-programming-lang-1.html

    Now that Microsoft finally admit that VB.Net has never been successful, will they:

    1) Support the VB6 programming IDE on Windows 10
    2) Allow a free download of VB6
    3) Update VB6 allow 64bit compilation

    The top 10 languages for Enterprise Application Development in 2018 are:

    Java ................58%
    JavaScript ........57%
    C++ ................ 46%
    C# ...................26%
    Python ............ 25%
    PHP ................22%
    VB.NET............17%
    C .....................16%
    Visual Basic 6 ..16%
    VBA .................15%

    https://sdtimes.com/java/report-finds-java-and-javascript-remain-the-top-languages-for-enterprise-development/

    Bring back VB6 programming in 2019

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  5. VisualBasic

    Pleace add project like SETUP in VisualBasic. I don't love INNOSETUP or NSIS. I LOVE VISUAL BASIC!

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  6. Fix opcodes from vb compiler when initialize an array and function local variant

    Hi guys,

    I want to point out some flaw opcodes that vb compiler create and hope VB dev team have sometime to fix those and make VB better performance.

    1. Array

    When I create an array like this "Dim Data(input.Length - 1) As Char", compiler will rewrite to "Dim Data(input.Length - 1 + 1) As Char"; it's unnecessary 4 bytes and you loss 4 of 64 bytes if you aim to create a tiny method.

    2. Function local variant

    VB function away has self local variant like "Function foo() As string" will have "Dim foo As String" even it's unused…

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  7. 9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  8. Open source VB6 programming in 2019

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351770/open-source-vb6-programming-in-2019.html
    Open source the VB6 programming environment in 2019.

    Microsoft have wasted 20 years on the failing .Net languages. Without success.

    The top 10 languages for Enterprise Application Development in 2018 are:

    Java ................58%
    JavaScript ........57%
    C++ ................ 46%
    C# ...................26%
    Python ............ 25%
    PHP ................22%
    VB.NET............17%
    C .....................16%
    Visual Basic 6 ..16%
    VBA .................15%

    Open source the only successful Microsoft language - Visual Basic 6.0

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  9. Rename Visual Basic to V#

    I believe it is time that the acronym BASIC (Beginner's All-purpose Symbolic Instruction Code) be disassociated from VB.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  10. Create a project translator from VB to C#.

    With the decline of VB usage as a language, we need a method to translate large project into another form.

    Just as VS provides project upgrade importers between its versions, could this now include the option to translate between languages as well?

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  11. Goodbye

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351726/goodbye.html
    And thanks for all the fish. In the short time that I've had to use Visual I have decided that it would be less painful reaching a 'Solution' than pulling teeth.
    While Visual 6 wasn't going to win 'Cool Kid' awards, it was simple to use and provided some key features missing here: Option Base1, control arrays, uncluttered editors, procedural view . . . Anyway, I'll finish what I started in Excel and VBA and, maybe if it works, I'll re-build in Java…

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  12. Allow additional spaces in VB code.

    Sometimes multiple spaces make code more readable: numbers can be aligned right and in table like initializations of Dictioary objects etc., but VS just deletes most unnecessary spaces like http://stackoverflow.com/questions/25731512/multiple-spaces-in-vb-net-code demonstrates.
    However, the option to avoid this behavior (see link) also disables useful features.
    I wished there was an option to allow these (just not delete) spaces.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  13. Allow for Objects (classes) to be treated as variables when using BYVAL / BYREF

    Recently i wrote a program to handle propositional logic arguments ; I used a Parent class to be the model for my syllogisms and inherited classes to be , Hypothetical/deductive types : yet when i sent the list of Syllogisms to be interrogated by various functions, when a change was made in the function, to the class object ; or copied version of the list the original data was changed throughout the lists of objects in the whole project. after searching and changing all functions to by val i found the objects were still being changed. i finally had to…

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  14. In vb.net, textbox in multi-line mode

    Can you add a design-time property that allows for either automatic clearing of the textbox when full, or over-write at the beginning (~circular queue).

    I use a multi-line, textbox for a serial protocol analyzer real-time display. After about 3 days running, the textbox freezes, but the analyzer is still running. I setup a timer to clear the box every 4 hours. I don't want to test the remaining buffer size each time I write, since I am writing from multiple subs.

    It's easy to use the textbox for this, as when an error occurs a dump of the textbox can…

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  15. Generate constructor in classes that "must declare a Sub New"

    Often when inheriting from a class without a parameterless constructor, one must provide a constructor in the base class, and end up just proxying the constructor to the parent class. This is very procedural and should be generated like MustOverride members already are.

    Example:
    Public Class Parent
    Public Sub New(X As Integer) ...
    End Sub

    Public Class Child
    Inherits Parent
    Public Sub New(X As Integer) ' \
    MyBase.New(X) ' |-- Should be autogenerated
    End Sub ' /
    End Class

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  16. Microsoft support policy for VB6 programming

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351773/microsoft-support-policy-for-vb6-programming.html
    Microsoft support VB6 programming, here is their support statement:-

    Support Statement for Visual Basic 6.0 on Windows
    - Note: The support policy below has been updated with Windows 10 version 1709 support information.

    The Visual Basic team is committed to "It Just Works" compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:

    Windows 10
    Windows 8.1
    Windows 7
    Windows Server 2016
    Windows Server 2012 including R2
    Windows Server 2008 including R2

    The Visual Basic team’s goal is that Visual…

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  17. I cannot find any reliable VS help anymore. Forums use to come up and you typed in your keywords to get help. HELP!

    Cannot find any reliable help. Use to be easy under VS 15. Now you have to wade through pages of garbage (Promotional Stuff) and I still can't find what I am looking for. Having a simple problem System.IO.IO Exception using VB ReName. Switching program from 2015 to 17 and programs will not run. Go back to the old help format.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  18. Allow fix for BC42025 Access of shared member, constant member, enum member through an instance

    On VS 2013 when accessing a shared member through an instance, I was be offered to auto fix the access by changing to the fully qualified name of the shared member.
    On VS 2017 I still get the warning but the ability to fix this is gone.

    On a lot of cases I was using this fix "feature" as a shortcut to typing the long namespace chain needed to get to the shared member. Since I already had the instance I would just type instance.sharedMember and would be offered to replace instance with the class name.

    Please bring it back

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  19. After selecting a control, Navigate to the next implemented event.

    I migrated from VS 2005 to VS 2015 and navigation seems to be problem sometimes. After selecting a control from the drop down of the code-behind, it should navigate to the next implemented event. eg. if i select a button, go to the click event if it is implemented. Right now, i hv to keep on searching for all the events.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  20. the most wanted feature in basic.net now (and still) is *comments within multiline statements*

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351235/the-most-wanted-feature-in-basicnet-now-and-still.html
    I have to repeat the begging for comments within multiline statements in visual basic... yes, I know you refused to do that for me and numerous others over the last 6-7 years stating that it is "by design"... so what? our continuous and numerous complaints just show that this request has its roots, so do not make excuses of design... *change that design detail* and everything will be ok... mr. hejlsberg on /BUILD/ conference talks about 'paste as c#' and 'paste as vb.net'…

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

    Hey gjuro,

    We’ve considered inline/multiline comments in VB several times. In the past it’s been a very expensive thing to implement because of the way the language parser was designed and the way the IDE integrates with it. The VB and C# code bases are, for historical reasons, very different. Anyway, in Roslyn such a thing isn’t as difficult anymore but we still question the value. In fact “is it worth it” is the real obstacle at this point.

    We don’t actually see much use of inline/multiline comments even in C# which makes us even more hesitant to add them to VB.

    Now, what we have been able to make work in Roslyn is this:

    Dim q = From x In y ’ This is a from clause
    Where x < z ’ And this is the where
    Select x ’ This select is redundant

    That is, comments after implicit…

Feedback and Knowledge Base