Make it feasible to use Visual Studio as a programmers notepad replacement
There are times when you just need to open a standalone code file written in something like C# for viewing or editing but don't want the burden of the whole IDE especially with it's slow load time. What I propose is make the Visual Studio Editor a separate invokable application on it's own or make it so that when Visual Studio is started up with a file path(s) feed in as run time arguments, then load the IDE in a minimal state tailored to working with a single file. Providing this functionality would allow some programmers who chose to manage their projects outside of visual studio through build files and such to still use Visual Studio as a powerful code editor instead of falling back on other products like Notepad++, Vim, SciTE, and the like just as was the practice when I worked with Microsoft back in the day. Just simply matching performance of these other tools when of launching VS would go a long way but any other effort to help supporting this mode of development would probably open up the use of products such as Visual Studio Express for general code editing and then may serve as a gate way for developers to get more acquainted with Visual Studios who otherwise would not use it.
Visual Studio team this^ OR...
We have VS, OneNote, Word and WordPad. Please blend then together, make combinations, pick the lightest variant, and call it Notepad. Please develop a newer version of Notepad with tabbing, multiple clipboard and history support, then gift it to Windows Team... and don't worry, Terry Myerson won't frown..
@Windows Team, Revamping of notepad with aforementioned features, revamping classic calculator and system clock with more skins! would be a welcoming change in the next release.. :)
Rudi Larno commented
If the Visual Studio Team were to adopt something like http://visualstudio.uservoice.com/forums/121579-visual-studio-ideas/suggestions/2035455-use-nuget-to-install-most-of-the-components
They could probably very easily realize this feature. If there is no solution/project file yet, don't load anything but the basic components for editing.
If the editor is opened to show a specific file, then it should open fast (possibly in an already opened IDE) and without any errors. For an unknown reason, when I open a file from PureCM, It open a new Visual Studio 2008 IDE insteand of (2010 or 11 Beta) and then display an error message.
When Visual Studio 11 is opened, it is much faster to drag the file from Windows Explorer (than to open it from our source control software which is PureCM).
Maybe files should be opened in a more light weight IDE somehow like Express edition. There would be syntax highlighting but not all the extra... but in my opinion, the real improvement would be to delay load all stuff related to project/solution and add-ins so that when opening a simple file, we won't have to wait on that.
Stephen Price commented
Yes please! Would love to see VS make notepad look bloated. I mean, these are *just* text files we're talking about here.
@Lex - While what you suggest in terms of using something like LinqPad is what many of us do, there is no reason why Visual Studio couldn't support a more modular lightweight version of it's editor so that we get behavior (think highlighting, shortcut-keys, ...) that is more consistent with what we are used to when working on whole projects/solutions in Visual Studio. Using two tools for the same type of activity is just less productive overall. With my experience at Microsoft back about 8 years or so ago, most developers I worked with wouldn't touch Visual Studio except for a few required cases and instead worked with command line builds and separate editors of choice. Now that VS has MSBuild feature parity for the most part it has improved a lot and I'm assuming that Microsoft's internal developers are warming up to using Visual Studio themselves but I think not having a lightweight editor is probably one major roadblock for them just as it is with other developers who need to work with Visual Studio but not necessarily exclusively. Also note that with a more modular approach it may make strengthening the XAML editor in Blend easier since the same editor could be embedded or opened up externally if needed. Without going on any more than I have, I could imagine lots of benefits could come of this.
Asbjørn Ulsberg commented
@Lex, although the concrete proposal doesn't necessarily benefit everyone, the spirit behind it (make Visual Studio more modular), does. I hate that Visual Studio is a 1.000.000 lbs gorilla that is chronically unable to quickly open and edit a .cs file in less than 5 minutes. Having to load all of the designers (of which I use less than 0%), incredibly complex configuration options (of which I use less than 10%), intellisense runtimes for languages that aren't in use, etc., is incredibly annoying.
Visual Studio should be able to open a .cs file in much less than 1 second by only loading the bare minimum set of components required to edit C#. It should open a C#-based solution in at least no more than 2 seconds, by not having installed all of the funky and useless designer **** and configuration options that I just want removed.
I posted the following on another page, but its worth putting here again.
We don't always need the ability to compile, just a lightweight text editor is enough.
How often have you accidently went to open a web.config on its own to pull out a connection string only to groan as you see the VS splash screen sitting there. There are a couple of things you could do here:
1: make visual studio smart enough to realise when you're opening a single (non .sln/.csproj) file to spin up a lightweight version of the editor. Something like this got installed as a side effect of putting vwd express on my web server. Its very quick, has intellisense and the 'correct' vs color coding
2: Throw up a prompt - 'Are you sure you want to use VS for this single file?'
3: Buy out editplus, replace notepad with it and make it the default text editor. Or at least see how they get so much functionality in a 900k exe :)
It would be nice to have this, but at this stage I'd suggest it's more realistic to look in tools like Linqpad which are built around your lightweight scenario.