Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Visual Studio 2010: now taking feature requests

Visual Studio 2010: now taking feature requests

Scheduled Pinned Locked Moved The Lounge
visual-studiohelpcsharpcomtools
33 Posts 17 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Warren Stevens

    Tom Archer's post asking what tools could be added to the SDK[^] got me thinking... What would you add to the IDE if you could add any feature? Here's my list: 1) Debugging backwards in time[^] (not totally fantasy at Google) 2) Error results that actually help solve the error. This is not easy by any means, but much of the logic would overlap the existing intellisense and compiler (i.e. the NCB logic) Example 1: error C2065: 'CSomeClass' is not a class or namespace name the compiler should be able to figure out that if 'CSomeClass' is defined in another part of the project (especially if it has already compiled), then it should be able to suggest an #include statement, and I just hit "OK". Example 2: error 2601: local function definitions are illegal. 99 times out of 100 this means there is a missing bracket, and if your code follows a standard indenting style (e.g. Function() { } the compiler should be able to figure out (and suggest) the line (or range of lines) where it should be placed. It could also hilight each bracket in a different colour (depending on scope) like in Excel. 2) Smart background building. If I step away from my computer to get a coffee, the compiler should realize it's idle, and do a "background build". Then it could keep an eye on what I change when I come back. When I hit build, it would be like some of the build was "instantaneous", instead of having to sit watching the compiler results scroll by. 4) Instantaneous help with great search. It should not be preferable to tab over to Google in my browser, type something in and hit "I'm feeling lucky" (which generally brings up an MSDN page) than search my local copy of MSDN (which takes a second or two to search, and then I have to manually sort through the search results because the search results aren't great) That's my list, what would you add? (and remember someone else would get stuck with writi

    J Offline
    J Offline
    Joe Woodbury
    wrote on last edited by
    #14

    Refactoring akin to that for C# would be nice. Better intellisence. But I'd forgo all of that and just about any new whizbang feature if they would just make the whole damn product more stable. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

    1 Reply Last reply
    0
    • J Judah Gabriel Himango

      Certainly not! But I hold out hope that the future has at least something better than what we've got now (that is, little more than syntax checking). I want tools that do more than that. Wesner Moise's NStatic tool[^] looks like has the potential to be a step in the right direction.

      Tech, life, family, faith: Give me a visit. I'm currently blogging about: Lent Revisited The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

      K Offline
      K Offline
      Kevin McFarlane
      wrote on last edited by
      #15

      Well, there is the currently underused technique of Design by Contract (only Eiffel has full support for it in commercial languages), which I expect to become more widespread in the future. Microsoft's research language, Spec#, provides an implementation, so we might see some of this in C# 4.0 perhaps? XC# implements it, plus other code checking features. Peter Gummer published an article on it a few weeks ago. The Eiffel Flash audio presentations on Design by Contract are worth listening to. http://www.eiffel.com/developers/presentations/[^] Kevin

      1 Reply Last reply
      0
      • J Judah Gabriel Himango

        Sure, that's a tiny addition that could probably be made easily with modern technology. But syntax correction is nothing revolutionary; I'm looking for something that will get rid of my bugs, plainly speaking. :) I'm human, I make mistakes when I code. And I have to pay for each of them with users complaining that something doesn't work right. I need something that will step in and prevent that whole mess from occuring. Imagine if software bugs became a rare occurrance rather than an everyday thing...software would be so much better and reliable, and my job would get a lot easier, I could focus on features and the coolness factor rather than plunging away at bugs everyday.

        Tech, life, family, faith: Give me a visit. I'm currently blogging about: Lent Revisited The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

        S Offline
        S Offline
        Super Lloyd
        wrote on last edited by
        #16

        Try C# ;) ;P

        J 1 Reply Last reply
        0
        • S Shog9 0

          David Stone wrote:

          Pretty handy if you ask me.

          If i could pick just one thing to replace in C++, that thing would be header files. ----

          Bots don't know when people die. --Paul Watson, RIP

          S Offline
          S Offline
          Super Lloyd
          wrote on last edited by
          #17

          Try C# ;P

          S 1 Reply Last reply
          0
          • J Judah Gabriel Himango

            It would be nice if some kind of intelligent static analysis engine was built into the IDE or compiler. If the languages could be changed to the point where a tool can detect all possible errors in the code, now that would be something revolutionary. But really, for such a thing to even be possible, we'd need either a tool that can look at code context and infer the global meaning, or have higher abstractions in the code to more clearly state code purpose. Otherwise error detection will always be limited to little things like syntax errors, and humans will be left to the tedious task of finding errors through runtime or testing frameworks--and when humans are involved, there is always error. That's why we need machines (or in our case, tools) to tell us where we've erred. So, that's what I want Visual Studio 2010 to be: an intelligent IDE that can understand your code and find subtle errors, rather than just tell you if your code is syntactically correct as it is now.

            Tech, life, family, faith: Give me a visit. I'm currently blogging about: Lent Revisited The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

            S Offline
            S Offline
            Stuart Dootson
            wrote on last edited by
            #18

            Judah Himango wrote:

            static analysis engine was built into the IDE or compiler

            Don't you get that in Team System (PreFast for C++, I know...)? Or is it not very intelligent?

            J 1 Reply Last reply
            0
            • S Super Lloyd

              Try C# ;P

              S Offline
              S Offline
              Stuart Dootson
              wrote on last edited by
              #19

              But if you use C# there's an awful lot more things that need fixing...;P

              S 1 Reply Last reply
              0
              • S Stuart Dootson

                But if you use C# there's an awful lot more things that need fixing...;P

                S Offline
                S Offline
                Super Lloyd
                wrote on last edited by
                #20

                Ho my, you should have double check what you typed, you made huge typos! Of course you mean: "And if you use C# there's an awful lot more things that has been fixed!" ;P

                1 Reply Last reply
                0
                • S Super Lloyd

                  Try C# ;) ;P

                  J Offline
                  J Offline
                  Judah Gabriel Himango
                  wrote on last edited by
                  #21

                  Already have. :)

                  1 Reply Last reply
                  0
                  • S Stuart Dootson

                    Judah Himango wrote:

                    static analysis engine was built into the IDE or compiler

                    Don't you get that in Team System (PreFast for C++, I know...)? Or is it not very intelligent?

                    J Offline
                    J Offline
                    Judah Gabriel Himango
                    wrote on last edited by
                    #22

                    Don't know, haven't tried it and wasn't aware of it.

                    1 Reply Last reply
                    0
                    • W Warren Stevens

                      Tom Archer's post asking what tools could be added to the SDK[^] got me thinking... What would you add to the IDE if you could add any feature? Here's my list: 1) Debugging backwards in time[^] (not totally fantasy at Google) 2) Error results that actually help solve the error. This is not easy by any means, but much of the logic would overlap the existing intellisense and compiler (i.e. the NCB logic) Example 1: error C2065: 'CSomeClass' is not a class or namespace name the compiler should be able to figure out that if 'CSomeClass' is defined in another part of the project (especially if it has already compiled), then it should be able to suggest an #include statement, and I just hit "OK". Example 2: error 2601: local function definitions are illegal. 99 times out of 100 this means there is a missing bracket, and if your code follows a standard indenting style (e.g. Function() { } the compiler should be able to figure out (and suggest) the line (or range of lines) where it should be placed. It could also hilight each bracket in a different colour (depending on scope) like in Excel. 2) Smart background building. If I step away from my computer to get a coffee, the compiler should realize it's idle, and do a "background build". Then it could keep an eye on what I change when I come back. When I hit build, it would be like some of the build was "instantaneous", instead of having to sit watching the compiler results scroll by. 4) Instantaneous help with great search. It should not be preferable to tab over to Google in my browser, type something in and hit "I'm feeling lucky" (which generally brings up an MSDN page) than search my local copy of MSDN (which takes a second or two to search, and then I have to manually sort through the search results because the search results aren't great) That's my list, what would you add? (and remember someone else would get stuck with writi

                      P Offline
                      P Offline
                      Paul Watson
                      wrote on last edited by
                      #23

                      A key combo that hides and shows your set of panels/tabs/buttons/toolbars/etc. Photoshop and Fireworks has this. You are working on your main image in full-screen mode. No menus, toolbars, panels or anything else is showing. You hit tab and everything you had setup as you wanted it appears. Hit tab again and it disapears. I'd like that but for the code-window. Often you have your head down coding away and you don't use the panels, menus etc. for ages. During that time I'd like them gone. Then when I want them, a key combo and they appear. No fading in or scrolling in either, just on and off. regards, Paul Watson Ireland Feed Henry! K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

                      adapted from toxcct:

                      while (!enough)
                      sprintf 0 || 1
                      do

                      W 1 Reply Last reply
                      0
                      • P Paul Watson

                        A key combo that hides and shows your set of panels/tabs/buttons/toolbars/etc. Photoshop and Fireworks has this. You are working on your main image in full-screen mode. No menus, toolbars, panels or anything else is showing. You hit tab and everything you had setup as you wanted it appears. Hit tab again and it disapears. I'd like that but for the code-window. Often you have your head down coding away and you don't use the panels, menus etc. for ages. During that time I'd like them gone. Then when I want them, a key combo and they appear. No fading in or scrolling in either, just on and off. regards, Paul Watson Ireland Feed Henry! K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

                        adapted from toxcct:

                        while (!enough)
                        sprintf 0 || 1
                        do

                        W Offline
                        W Offline
                        Warren Stevens
                        wrote on last edited by
                        #24

                        I use (shift + alt + enter) a fair bit, and I like that. or were you thinking everything gone? That would certainly be the ultimate! Come to think of it, maybe someone can write an add-in that would do this ??? Warren

                        P 1 Reply Last reply
                        0
                        • W Warren Stevens

                          Tom Archer's post asking what tools could be added to the SDK[^] got me thinking... What would you add to the IDE if you could add any feature? Here's my list: 1) Debugging backwards in time[^] (not totally fantasy at Google) 2) Error results that actually help solve the error. This is not easy by any means, but much of the logic would overlap the existing intellisense and compiler (i.e. the NCB logic) Example 1: error C2065: 'CSomeClass' is not a class or namespace name the compiler should be able to figure out that if 'CSomeClass' is defined in another part of the project (especially if it has already compiled), then it should be able to suggest an #include statement, and I just hit "OK". Example 2: error 2601: local function definitions are illegal. 99 times out of 100 this means there is a missing bracket, and if your code follows a standard indenting style (e.g. Function() { } the compiler should be able to figure out (and suggest) the line (or range of lines) where it should be placed. It could also hilight each bracket in a different colour (depending on scope) like in Excel. 2) Smart background building. If I step away from my computer to get a coffee, the compiler should realize it's idle, and do a "background build". Then it could keep an eye on what I change when I come back. When I hit build, it would be like some of the build was "instantaneous", instead of having to sit watching the compiler results scroll by. 4) Instantaneous help with great search. It should not be preferable to tab over to Google in my browser, type something in and hit "I'm feeling lucky" (which generally brings up an MSDN page) than search my local copy of MSDN (which takes a second or two to search, and then I have to manually sort through the search results because the search results aren't great) That's my list, what would you add? (and remember someone else would get stuck with writi

                          M Offline
                          M Offline
                          Mcsquare
                          wrote on last edited by
                          #25

                          Remember Star Trek:The Next Generation? Wesley or Data reprogramming the software by poking buttons on a touch screen with nary a keyboard in sight. We've already gone beyond the imagination of the original Star Trek series (data stored on little square things that we now recognize as floppy disks). So, Microsoft, buy a set of ST:TNG DVD's and see what the future of software development should look like! Ah, well, I can dream can't I? :cool:

                          1 Reply Last reply
                          0
                          • W Warren Stevens

                            Tom Archer's post asking what tools could be added to the SDK[^] got me thinking... What would you add to the IDE if you could add any feature? Here's my list: 1) Debugging backwards in time[^] (not totally fantasy at Google) 2) Error results that actually help solve the error. This is not easy by any means, but much of the logic would overlap the existing intellisense and compiler (i.e. the NCB logic) Example 1: error C2065: 'CSomeClass' is not a class or namespace name the compiler should be able to figure out that if 'CSomeClass' is defined in another part of the project (especially if it has already compiled), then it should be able to suggest an #include statement, and I just hit "OK". Example 2: error 2601: local function definitions are illegal. 99 times out of 100 this means there is a missing bracket, and if your code follows a standard indenting style (e.g. Function() { } the compiler should be able to figure out (and suggest) the line (or range of lines) where it should be placed. It could also hilight each bracket in a different colour (depending on scope) like in Excel. 2) Smart background building. If I step away from my computer to get a coffee, the compiler should realize it's idle, and do a "background build". Then it could keep an eye on what I change when I come back. When I hit build, it would be like some of the build was "instantaneous", instead of having to sit watching the compiler results scroll by. 4) Instantaneous help with great search. It should not be preferable to tab over to Google in my browser, type something in and hit "I'm feeling lucky" (which generally brings up an MSDN page) than search my local copy of MSDN (which takes a second or two to search, and then I have to manually sort through the search results because the search results aren't great) That's my list, what would you add? (and remember someone else would get stuck with writi

                            T Offline
                            T Offline
                            Thomas Eyde
                            wrote on last edited by
                            #26

                            I'd like a real observer pattern on the event handling. I don't want to: if (myEvent != null) myEvent(this, EventArgs.Empty); And I definitely don't want to: MyEventHandler me = myEvent; if (me != null) me(this, EventArgs.Empty); Why should I event care if there are any listeners? I just want to: myEvent(this, EventArgs.Empty);

                            1 Reply Last reply
                            0
                            • E Edbert P

                              True. Next people will start asking for a programming software that will create software for them automagically :) Edbert

                              F Offline
                              F Offline
                              fleep
                              wrote on last edited by
                              #27

                              Yes :-D The next step could be something like a human-machine interface (a-la-matrix)... Just download the idea directly from the brain into VS and it would automagically build the app... Fleep

                              1 Reply Last reply
                              0
                              • W Warren Stevens

                                I use (shift + alt + enter) a fair bit, and I like that. or were you thinking everything gone? That would certainly be the ultimate! Come to think of it, maybe someone can write an add-in that would do this ??? Warren

                                P Offline
                                P Offline
                                Paul Watson
                                wrote on last edited by
                                #28

                                Actually, that is pretty darned good, that shift + alt + enter. Thanks Warren. regards, Paul Watson Ireland Feed Henry! K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

                                adapted from toxcct:

                                while (!enough)
                                sprintf 0 || 1
                                do

                                W 1 Reply Last reply
                                0
                                • P Paul Watson

                                  Actually, that is pretty darned good, that shift + alt + enter. Thanks Warren. regards, Paul Watson Ireland Feed Henry! K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

                                  adapted from toxcct:

                                  while (!enough)
                                  sprintf 0 || 1
                                  do

                                  W Offline
                                  W Offline
                                  Warren Stevens
                                  wrote on last edited by
                                  #29

                                  You're welcome. I'm a total keyboard junkie. If you're not using the code templates in Visual Assist, you've got to try them. I haven't typed "for" or "switch" in months, thanks to Visual Assist. I just type the variable I want to use for my loop (e.g. "i", select it, and insert my "for loop" code template). Somedays I feel like I've been reduced to filling in wizards and inserting code templates (I guess that beats typing, so maybe that's not such a bad thing). Warren

                                  P 1 Reply Last reply
                                  0
                                  • W Warren Stevens

                                    You're welcome. I'm a total keyboard junkie. If you're not using the code templates in Visual Assist, you've got to try them. I haven't typed "for" or "switch" in months, thanks to Visual Assist. I just type the variable I want to use for my loop (e.g. "i", select it, and insert my "for loop" code template). Somedays I feel like I've been reduced to filling in wizards and inserting code templates (I guess that beats typing, so maybe that's not such a bad thing). Warren

                                    P Offline
                                    P Offline
                                    Paul Watson
                                    wrote on last edited by
                                    #30

                                    I don't use VA but the snippets and code-completion in VS2005 has improved a lot. It also has that "for loop" type of completion at the press of a key. It is a lot better than fiddling with the mouse indeed. regards, Paul Watson Ireland Feed Henry! K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

                                    adapted from toxcct:

                                    while (!enough)
                                    sprintf 0 || 1
                                    do

                                    1 Reply Last reply
                                    0
                                    • W Warren Stevens

                                      Tom Archer's post asking what tools could be added to the SDK[^] got me thinking... What would you add to the IDE if you could add any feature? Here's my list: 1) Debugging backwards in time[^] (not totally fantasy at Google) 2) Error results that actually help solve the error. This is not easy by any means, but much of the logic would overlap the existing intellisense and compiler (i.e. the NCB logic) Example 1: error C2065: 'CSomeClass' is not a class or namespace name the compiler should be able to figure out that if 'CSomeClass' is defined in another part of the project (especially if it has already compiled), then it should be able to suggest an #include statement, and I just hit "OK". Example 2: error 2601: local function definitions are illegal. 99 times out of 100 this means there is a missing bracket, and if your code follows a standard indenting style (e.g. Function() { } the compiler should be able to figure out (and suggest) the line (or range of lines) where it should be placed. It could also hilight each bracket in a different colour (depending on scope) like in Excel. 2) Smart background building. If I step away from my computer to get a coffee, the compiler should realize it's idle, and do a "background build". Then it could keep an eye on what I change when I come back. When I hit build, it would be like some of the build was "instantaneous", instead of having to sit watching the compiler results scroll by. 4) Instantaneous help with great search. It should not be preferable to tab over to Google in my browser, type something in and hit "I'm feeling lucky" (which generally brings up an MSDN page) than search my local copy of MSDN (which takes a second or two to search, and then I have to manually sort through the search results because the search results aren't great) That's my list, what would you add? (and remember someone else would get stuck with writi

                                      S Offline
                                      S Offline
                                      SD SteveG
                                      wrote on last edited by
                                      #31

                                      How about a compile option that allowed the program to run on windows or any other major operating system, or asp.net without any changes to code or objects. Also included is a no hassle installation tool that auto updates any changes throughout the program life cycle. And one of my biggest pet peeves is the continuous relearning of major concepts, like data access, object classes etc. Find something good and stay with it, we don't need to change every year and half. A tool that automatically updates all the custom libraries in a project from the appropriate vender's A auto detect configuration problems on end users machines. Programming is very rewarding, it just seems like a hassle at times dealing with all the side issues to keep a program and yourself updated and running.

                                      W 1 Reply Last reply
                                      0
                                      • S SD SteveG

                                        How about a compile option that allowed the program to run on windows or any other major operating system, or asp.net without any changes to code or objects. Also included is a no hassle installation tool that auto updates any changes throughout the program life cycle. And one of my biggest pet peeves is the continuous relearning of major concepts, like data access, object classes etc. Find something good and stay with it, we don't need to change every year and half. A tool that automatically updates all the custom libraries in a project from the appropriate vender's A auto detect configuration problems on end users machines. Programming is very rewarding, it just seems like a hassle at times dealing with all the side issues to keep a program and yourself updated and running.

                                        W Offline
                                        W Offline
                                        Warren Stevens
                                        wrote on last edited by
                                        #32

                                        SD SteveG wrote:

                                        llowed the program to run on windows or any other major operating system,

                                        I was looking for fantasy requests, not something that would defy the laws of physics! Microsoft actively supporting Linux sounds like something out of a parallel Universe! :laugh:

                                        SD SteveG wrote:

                                        And one of my biggest pet peeves is the continuous relearning of major concepts, like data access, object classes etc. Find something good and stay with it, we don't need to change every year and half.

                                        I couldn't agree more. I intentionally never learned COM programming even though Microsoft was pushing it for years. I bought one book, read enough to get the basic idea and then decided that it was too difficult and too much work for the average programmer to pick up. Microsoft eventually agreed, and the end result of the COM re-write was .NET. You have to pick which technologies to learn very wisely. It takes a LOT of work to learn something new, and market forces or technology changes can make your hard-won skills (e.g. C++ COM programming) close to worthless. I'm also choosing to skip Windows Forms programming. Microsoft has already announced XAML which will kill Windows Forms in no time flat. Good luck to all those poor suckers who moved over to Windows Forms right off the bat. :sigh: Warren

                                        1 Reply Last reply
                                        0
                                        • W Warren Stevens

                                          Tom Archer's post asking what tools could be added to the SDK[^] got me thinking... What would you add to the IDE if you could add any feature? Here's my list: 1) Debugging backwards in time[^] (not totally fantasy at Google) 2) Error results that actually help solve the error. This is not easy by any means, but much of the logic would overlap the existing intellisense and compiler (i.e. the NCB logic) Example 1: error C2065: 'CSomeClass' is not a class or namespace name the compiler should be able to figure out that if 'CSomeClass' is defined in another part of the project (especially if it has already compiled), then it should be able to suggest an #include statement, and I just hit "OK". Example 2: error 2601: local function definitions are illegal. 99 times out of 100 this means there is a missing bracket, and if your code follows a standard indenting style (e.g. Function() { } the compiler should be able to figure out (and suggest) the line (or range of lines) where it should be placed. It could also hilight each bracket in a different colour (depending on scope) like in Excel. 2) Smart background building. If I step away from my computer to get a coffee, the compiler should realize it's idle, and do a "background build". Then it could keep an eye on what I change when I come back. When I hit build, it would be like some of the build was "instantaneous", instead of having to sit watching the compiler results scroll by. 4) Instantaneous help with great search. It should not be preferable to tab over to Google in my browser, type something in and hit "I'm feeling lucky" (which generally brings up an MSDN page) than search my local copy of MSDN (which takes a second or two to search, and then I have to manually sort through the search results because the search results aren't great) That's my list, what would you add? (and remember someone else would get stuck with writi

                                          D Offline
                                          D Offline
                                          Duncan Edwards Jones
                                          wrote on last edited by
                                          #33

                                          Example #2 is pretty well done in Orcas - when you make one of the "common" mistakes a little UI thing appears and one of the options is to fix the error. Works for things like missed imports etc.

                                          '--8<------------------------ Ex Datis: Duncan Jones Merrion Computing Ltd

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups