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. Extend the logical operators

    Currently we have access to the following logical operators,

    Not
    And
    AndAlso
    Or
    OrElse
    Xor

    Why not extend them to include

    Nor
    ab
    00=1
    01=0
    10=0
    11=0

    NAnd

    ab
    00=1
    01=1
    10=1
    11=0

    NXor

    ab
    00=1
    01=0
    10=0
    11=1

    1 vote
    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. Allow to clear or retrieve event handlers

    One thing I never understood is that the only way to manipulate event handlers is through AddHandler and RemoveHandler, both of which require a handle on the method to add or remove.

    There should be a way to retrieve all the handlers associated with an event, to remove them all, or to remove them after retrieving them.

    This is particularly useful with lambdas where one creates a handler on the fly and assigns it to an event. It is then not possible to remove it at a later stage, somewhere in the code, unless one keeps track of all lambdas…

    1 vote
    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 →

    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

  3. Let escaped identifiers be a means to address case-sensitivity issues

    Way back in July 2013, Raja Venkatesh expressed an exasperation in his post, "VB with other language(C#) interoperability", where he says: Guys developing webservices in C# many times use same variable name as string, property, enum etc. with just the case as different. ... The client code generated in my tool in VB language fails to compile stating "Variable already declared" as VB is case in-sensitive.

    I'm thinking maybe an escaped identifier (an identifier delimited by square brackets) could help in matters where case-sensitivity is an issue when using external code.

    Might it be possible for the compiler in resolving…

    1 vote
    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 →
  4. 1 vote
    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 →

    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. 1 vote
    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 →

    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. 1 vote
    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 →

    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. A program for Calculator uses 1 button and a program for Data Levels Chance Programming to force starting by first branch

    I send Execution file of project includes the two programs.

    About Calculator Program: Start debug then click on Calculator button then input First Number like 3 then OK then input Second Number like 2 then OK then input Operation like + then OK then show result sure it will be 5 .

    About Data Levels Chance Programming program: you must start by branch_id=1,after first branch records finish you must continue by a fixed pattern of branch_id(2 then 3 then 4 .........etc),Price&Quantity of product must <>0, branch_id=INT(branch_id).
    Best Regards
    Ahmed Abdelrazek

    1 vote
    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 →

    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. we need c# linq operator => in vb.net

    in linq while using lambda expression in c# we normally use =>

    it is nice we have it in vb too

    1 vote
    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 →
  9. change the generated TryCatch

    Most beginners start with a kind of "Code-Horror", when firstly using the TryCatch-Feature:

    Try
    'some code
    Catch ex As Exception
    'some "Exception-Handling"
    End Try

    The code-horror is, that it's nearly impossible, to handle a general Exception like that propperly.

    But most Beginners stumble into that man-trap, since the editor generates that pattern yust that way.

    Solution:
    Introduce a "System.NeverOccurException" and change the generated pattern to

    Try

    Catch ex As NeverOccurException

    End Try

    This would force Beginners, to figure out a **specific** exception, which hopefully they can handle.

    1 vote
    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 →

    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

  10. #If / #Else / #End If Block Format

    When setting up precompile conditions, the "auto indent" feature properly sets the indentation of the current environment state. However, any condition that is not currently true does not get properly formatted. You either have to manually line up the statement or switch the environment from debug to release and back again to get the proper formating and alignment.

    Can you please add this?

    Example: I'm in DEBUG mode. the proper indentation is the true debug condition, the incorrect indent is under the #else statement.

    #If DEBUG Then
    Public Shared msCustomer As New wsDataDev.ServiceSoapClient
    #Else
    Public Shared msCustomer As New wsData.ServiceSoapClient …

    1 vote
    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 →

    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. Automatic conversion to DependencyProperty

    When creating custom controls and/or classes, it is not unusual to need to define a property as a DependencyProperty. I always find this to be time consuming extra effort that it should be able to be done by Visual Studio. Just like Visual Studio can modify methods for async/await when necessary, I would like to be able to do the same thing to have it convert a regular property into a DependencyProperty.

    1 vote
    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 →
  12. I would like to make a application for the Boston accent

    I would like to make a Boston accent speak application for all iPhone and Android users in the Northeast

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    closed  ·  0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
  13. Give the same value to multiple variables in vb.net without too much typing.

    I would like to give the same value to multiple variables in vb.net. Currently this requires too much typing.

    1 vote
    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 →

    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

  14. Allow the With {...} syntax to be available for any Class returning expression

    Currently you can say:

    Dim X = New Y(params) With {.Property = Value,...}

    I'm suggesting anything returning a class with properties could replace the "New Y(params)".

    X = someY With {.Property = Value,...}

    If the expression returned Nothing, this construct should throw a NullReferenceException on the first .Property assignment (unless the property is implemented by an extension that allows Me=Nothing, of course).

    0 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 →

    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. Option to disable Type Promotion in VB

    I understand Microsoft position on this idea: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3463390-introduce-shared-class-like-in-c-

    You say that the language should not be responsible for enforcing discipline on programmers. Well, that may be understandable, but that is not the real problem with type promotion. Not only type promotion adds clutter to Intellisense, but it also causes problems with naming. For example, recently I was implementing a custom Message Encoder for WCF: following Microsoft implementation, I wrote a Module to hold the default values for various properties, including Encoding and MessageVersion. Now, you can already picture the problem: every time I would access Text.Encoding's or ServiceModel.MessageVersion's static members,…

    0 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 →
  16. Extend the With statement in Visual Basic

    Take the following code:

    object1.prop1 = object2.prop1
    object1.prop2 = object2.prop2
    object1.prop3 = object2.prop3

    Using the current With statement, I can rewrite this to:
    With object1
    .prop1 = object2.prop1
    .prop2 = object2.prop2
    .prop3 = object2.prop3
    End with

    To minimize the amount of typing, I'd like a second objectExpression in the With statement:

    With object1, object2
    .prop1 = .prop1
    .prop2 = .prop2
    .prop3 = .prop3
    End with

    0 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 →
  17. Remove "doesn't return a value on all code paths" Warning for Enum

    When creating a Function or a Property's Get method, it is not unusual to use a Select statement to return a value based on a variable that is of an Enum type. Because an Enum type has a finite (and usually small) number of possible values, it is not uncommon to have a Case for each one. If there is a Case for each one, and each one returns a value, there is no need for a Case Else or other Return statement, yet Intellisense gives a Warning saying that the method does not return a value on all code…

    0 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. Change between uppercase and lowercase 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.

    0 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    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

  19. support assembly qualified names in the "cref"-targets of "javadoc" comments in VB.NET

    Situation:
    I was documenting a method that takes as an argument an Int32 representing an access right, and in the parameter documentation I wanted to tell the user they can use a specific access right like &lt;see cref="System.Security.AccessControl.FileSystemRights"&gt; [no problem here] or alternatively generic- or standard access rights [which are defined in Assembly "System.Messaging" that I do not need in my code and therefore have not referenced. The inline-compiler tells me the "cref"-target is not found and is going to be ignored, (which is the expected behaviour). I then corrected the class name in the "cref"-target to the assembly qualified…

    0 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 →

    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. Async SyncLock

    It would be great to have the possibility to do async synclocks.

    Take the example of a data cache on an asp.net website.

    Private DataLockObject As New Object

    Public Async Function GetData(Name As String) As Task(Of String)
    Dim Cache = HttpContext.Current.Cache
    Dim tmp As String = Cache.Get(Name)
    If tmp Is Nothing Then
    Await SyncLock DataLockObject
    If tmp Is Nothing Then
    tmp = await GetDataFromDatabaseAsync(Name)
    Cache.Insert(Name, tmp, Nothing, Date.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration)
    End If
    End SyncLock
    End If
    Return tmp
    End Function

    The problem with this code is that 1. I cannot await a synclock (so my thread gets stuck doing nothing) 2.…

    0 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 →
1 2 5 6 7 9 Next →

Feedback and Knowledge Base