4 ms·
What about the VS editor do you find confusion and painful? Not counting project-related issues (e.g. knowing what project settings to twiddle and how to do so
by georgieporgie 16y ago
What about the VS editor do you find confusion and painful? Not counting project-related issues (e.g. knowing what project settings to twiddle and how to do so can be difficult to figure out).
- Groxx 16y ago.NET Personally, the god-awful slow file switching, frequently-incorrect highlighting, almost totally worthless JavaScript, ASP, and ASP server-side code support, XML comments with no built-in documentation builder nor viewer, text-column editing that's a total joke, and the always-helpful "too many warnings" error are my most recent peeves. I hate VS. With a passion. I cannot believe that such a painful-to-use program is held up as the pinnacle of programming experiences. So why do I use it? Because .NET defies logic; framework-wide intellisense is the only way to do anything in it. Give me almost any other language/framework and in a few days I can get by almost entirely with a programming text editor and occasional official-documentation browsing. Several months into .NET code, I still Google more than I MSDN, StackOverflow more than .NET-developer-blog, and the massive style inconsistencies between different sections of the library mean I cannot go into any new area without Visual Studio to hold my hand and kick me in the nuts.
- georgieporgie 16y agoIt sounds like your most of your complaints are with the .Net platform, library layout, and the compiler. For what it's worth, I've always found Microsoft APIs to vary profoundly in terms of usability and (especially) documentation. And MSDN hasn't been directly useful to me since the VS 6.0 days. Can you give me an example of an editor with better text column editing? I'm not entirely sure what you mean.
- Groxx 16y ago>It sounds like your most of your complaints are with the .Net platform, library layout, and the compiler. Only about half-so. The first paragraph was all about VS exclusively, minus "too many warnings". But due to the issues in .NET, you essentially must use Visual Studio, which makes it at least bearable due to intellisense. But I crash VS fairly often, it eats up a half-gig or more of memory fairly often, it thrashes my hard drive to bits all the time so everything else crawls, and at one job the visual designer started executing code. Those database-filled combo boxes started querying the database right in the designer. This happened 3 or 4 times over a couple months, and could have been catastrophic if any of the times it happened occurred on deleting fields. I will never hook a database directly up to VS, I'll guarantee you that; this was executing our bound events. Imagine if we actually had direct connections to the DB. So, one that's more specific to VS: the idiotic Web Site "projects" that have zero capabilities, and not even before / after build events to hot-wire your own in. And I dare you to try compiling documentation on a Web Site project. People have been asking for it and attempting to hot-wire their own for years, and they use gigabytes of memory to parse small projects and choke after an hour and give up without anything more helpful than "MSBuild.exe encountered an unexpected error". I suspect very much that the slowness of the only decent help builders is due to the horrendous reflection side of .NET, but that's not VS's fault. Except that VS wants VS-style documentation and won't accept anything else, but nobody can use it. And, because it's particularly bad, I'll point to the JavaScript support again (2008. I hear 2010 is a bit better). It throws fits and doesn't always even index global functions you just declared (it's entirely broken on the site I'm working on, it simply refuses to parse anything not in assemblies), Intellisense tries to change "$()" to "$addEventHandler()" as you type, and it has the absolute worst indentation of any code editor in existence. None would be better, but it occasionally decides you're not neat enough and imposes "order" on your nicely readable function. edit: Ooh! Another one! It's such fun to use VS in a multiple-monitor setup. Either you use the annoying "Multiple Document" layout (inner-windows that waste tons of space and fall behind things when the docked windows change), or you use tabs and can't spread to a second screen effectively. Or you launch two versions, and have them throw fits when you build in one, and the other sees things changing. And there is no higher joy than editing web.config while two instances of the same project are running, and watching the Visual Studio hit the fan. --- </rant> I feel better. Thanks :) Nearly any other programming editor, really. Notepad++ is a good example though, and doesn't require install, so I'd suggest experimenting with that. In VS: hold alt and select a box of text. Note that you can't select less than a single space wide. You can copy, paste, and delete it. Now try hitting space, or typing something: the whole set is erased, and you start entering text at the top-left corner of what you had selected. In nearly any other editor: hold alt and select a box. Note that you can select a column "0" wide. Copy, paste, and delete work as expected. But start typing; the vast majority I've used will fill the entire column as you type with what you're typing. Backspace removes line by line after the initial replacement. You edit the column, and everything you do is duplicated to the other lines you had the selection in. It'd be especially useful for .NET as damn near every useful method returns void: want to populate a list with a few items? Select a few columns, type "list.Add(" and you're most of the way there. Plenty of times the refactoring tools (as good as they are in non-VB languages) don't work if you're not changing everything, and having a column editor would make things a lot faster. Besides, they have half a solution working; why did they stop at the nearly-useless step? Another handy thing many programming text editors will do, but VS does not: soft-tabs go away with a back-space to the next tab-stop (if you start at one). In VS: keep hitting until you reach what might be another tab stop, there are no indicators for such things. Happy counting!
- jussij 16y agoFWIW I'm the author of the Zeus programmer's editor and it can import VS solutions files and once imported you can build and compile all from inside the editor. Zeus also does a limited amount of intellisensing, but naturally the intellisensing is nowhere near good as that found in VS. But the code navigation is not too back. Zeus also has full MSDN integration and it can actually do context sensitive queries of the MSDN much faster than VS: http://www.zeusedit.com/zforum/viewtopic.php?t=2833 http://www.zeusedit.com/zforum/viewtopic.php?t=2833 So if you are prepared to forgo a bit on intellisensing, it is in fact possible to develop outside of the VS IDE at least some of the time.
- Groxx 16y agoI'll be happy to give it a shot. I'm using a Web Site + solution for my current job though, know if it handles that? They're a bit weird. I'll certainly give it a try for more "normal" .NET coding, there's a lot of utility code to be written :)
- jussij 16y ago> I'm using a Web Site + solution for my current job though, know if it handles that? To be honest I'm not really sure. The big test would be to see if Zeus manages to import the solution file (i.e. from the Workpsace, Import menu). This import has only been tested for 2005, 2008 and 2010 C# and C++ projects. If it doesn't feel free to send me a bug report. > I'll certainly give it a try for more "normal" .NET coding, there's a lot of utility code to be written :) These are the three 'one off' steps needed to get the Visual Studio compiler to run inside Zeus http://www.zeusedit.com/zforum/viewtopic.php?t=2707 http://www.zeusedit.com/zforum/viewtopic.php?t=2707
- Groxx 16y agoTried it a little bit, and I'll experiment more as I get time. Importing the solution which contained the web site only loaded the other "actual" project in the solution, unfortunately. I can poke at it a bit more and see if I can get more into it. One of the first things I noticed: apparently a couple of your regexes are off in C#, for VS2008 at least. Typed interfaces come up as "T" instead of the interface, and it would be immensely more useful to have the class browser have information about the parameters of functions. I've got a ton of overloads, and they're note even in any useful order, as far as I can tell.