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. #region Directive Considered Harmful (was "Get rid of #region")

    My informal analysis concludes that #regions are used for evil 96% of the time.

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

    Hey Scott,

    Thanks for taking the time to make this suggestion. I think every programmer has one or more features in any language which they just hate because they’ve been abused by someone else. I’ve renamed this post to capture that immortalized hatred all programmers share for such evil constructs!

    Having said that, #regions do have valid use 4% of the time to someone (arguably grouping interface implementations within a class?) and even if there weren’t it’s really far too late to remove them (even if we thought they were evil, which we don’t). It simply wouldn’t be responsible to the millions of developers out there who might have #region directives in their code today either intentionally or having inherited them from other developers (at least some of which have passionately argued on this thread below) to break that code now without a pretty darn good reason. As a rule,…

  2. c# directly in Office

    Office continues to use the dead language VBA for macros. Using the Roslyn project, it should be easier to allow C# to be written directly within Office. This would be a huge, huge improvement over having to write and maintain VBA macros.

    VSTO and VSTA are a clunky solution at best, and deployment of Office apps using them is always an issue. Making Office natively support C# is the solution.

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

    Thank you for all the feedback on this item. Please be advised that we have moved this item to the https://officespdev.uservoice.com and transferred the associated votes. We are going to close this item out and release your votes back to you so you can apply them elsewhere. Note that the votes will remain with the item on the other site, so the item will not lose any of its current vote count, and you will recoup your votes on this site. To track the status, post comments, or add votes on this item, please go to https://officespdev.uservoice.com/forums/224641-general/suggestions/4970700-c-directly-in-office and sign in using your current user ID and login.

  3. http://visualstudio.uservoice.com/

    kutto kabhi to sahejawab dy diya karo hamesha ulta seedhapost kartyho bc :@

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  4. Добрый вечер. Это снова я, Владимир. Хотел бы предложить некоторые синтаксические нововведения для C#

    1. Параллельное присваивание: было бы очень удобно, если бы была вот такая возможность
    int a,b = 10,30;
    a, b = 40,30;

    public (int,string) Func()
    {
    return 10, "Hello";
    }

    int num = 0;
    string str = "";

    num, str = Func();

    Console.WriteLine("num = {0} str = {1}", num, str);
    // Out
    // num = 10 str = Hello

    2. Slice(срезы): как в Python
    int[] d = new int[] { 1, 3, 4, 5, 6, 7, 8 };
    int[] g = d[2:4]; // { 4 5 }
    Было бы достаточно удобно использовать это в C#

    Пока это все, надеюсь что-то вам…

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  5. Do not require a return from a path if that path contains a throw either directly or in deeper paths

    If we have a function like

    public string SomeFunction()
    {
    try
    {
    //sth
    return someString;
    }
    catch (Exception ex)
    {
    //Because below function directly throws an exception
    //there is no need the line after it,
    //because it will not execute
    LogErrorAndThrow(ex);
    return null;
    }
    }

    public string LogErrorAndThrow(Exception ex)
    {
    //log the error
    throw ex;
    }

    the part with

    return null

    could be safely eliminated, but currently compiler gives an error.

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

    Hey Anonymous,

    I too have been pained by this, usually when I have an Assert.Fail for switch cases I don’t expect will ever be hit. But this behavior is mandated by the language specification. C# never inspects the method calls to detect things like that, and for good reason. What if LogErrorAndThrow is defined in a referenced assembly rather than in source – maybe we could still detect the presence of a throw even then but it’s just as easy to imagine that instead of a static LogErrorAndThrow method you’re using an IoC container to import an ILoggerService instance which may log to a web service, the event log, a local file, or in test code do nothing – the C# compiler can’t know from inspecting a call to an interface method or a virtual method which implementation will actually be called at runtime or not.

    Having said that, another…

  6. 随着微软把xamarin整合到Visual Studio中以及Visual Studio将要开源,.NET将要开源,我们从原来的Qt马上转移到了微软阵营 ,我们更相信微软,所以我们开始准备使用xamarin(通过Visual Studio)来开发移动应用,但是xamarin官方的

    随着微软把xamarin整合到Visual Studio中以及Visual Studio将要开源,.NET将要开源,我们从原来的Qt马上转移到了微软阵营 ,我们更相信微软,所以我们开始准备使用xamarin(通过Visual Studio)来开发移动应用,但是xamarin官方的API全是英文的,这对于中国用户来说,看起来很累,如果翻译为中文,那么我们将及快就能进行xamarin开发,我们强烈建议微软把xamarin的API翻译为中文并公布在微软网站。

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  7. Sobre laço de repetição,For.

    A respeito do laço de repetição o for.
    Dentro de uma função que retorna, o for não reconhece o retorno se ele estiver dentro do for.
    Já uma função que não retorna do tipo void, ao colocar o retorno dentro do for ele percebe é logo emite erro.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  8. C#支持类似C++AMP这样的GPU计算

    C#支持类似C++AMP这样的GPU计算,可使用并行循环相近的语法

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  9. 让vs支持多平台移动开发

    现在ios和android都能用c#开发,需要xamarin的第三方软件,对个人学习而言,太贵了。 微软如果能收购了xamarin自然是好事,可以直接集成在vs里面,然后用c#开发ios和Android。 如果不收购呢,我觉得可以这样:vs中集成java和安卓开发的ide,开发还是java语言,但是ide用强大的vs,不但可以提高开发效率,而且可以让一些java开发人员接触到vs,对比eclipse和android studio的ide,发现vs的强大之处,时间一久java转.net也说不定。再深入一下,如果可以用java配合vs的ide开发windows phone应用,对于扩展应用市场岂不更好。

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

Feedback and Knowledge Base