VSIDE's WebLog

Appbuilding Ideas

Hi everyone,

 

I've gathered a nice list of ideas for apps from blogs, newsgroups, MS people, etc... I've shown these to our team and there are people already working on some projects.

 

Things that are in the works right now are:

 - Window Management ideas below

 - The Class Template Editor from below

 - Some of the SDK samples below

 - File extensions repair tool - I created a workspace and posted some code that does the diagnosing. I hope I can soon add the repair and reset code.

 - Annotate This - a package that let's you annotate your code

 

We are going to be creating worspaces for anything we are working on. Feel free to jump in and help out with any of these! Join the workspaces or start your own workspace with one of these ideas. Please share more ideas that you have, or vote for the ideas that you would like us to work on first.

 

Everyone in our team that works on these does that in their spare time, so in order to move these faster and get to more projects we do need your help!

 

BTW, these are all meant for the Whidbey Beta1, but it should be pretty simple to get any of these to work for earlier versions of VS.

 

Here is the list I have so far:

 

Ideas for IDE:

·       Task List:

 Updates to the Task List that consume the whole open solution and not just the open files TODO comments. 

 

·       Instant Messenger Integration

Drag and drop some code to your buddy in an instant messenger toolwindow in VS? Cool huh?

 

·       Window Management

 

1. Tool Windows Snap-To Edge

Write a package that listens for tool window move messages.  When a tool window gets within so many pixels of the monitor’s edge, it snaps to it.  Chris wrote in some recent windowing events that allow anyone at the VSIP level to listen to all tool window messages.  This requires VSIP support.

            

2. Maximize / Minimize Toolwindows

Exactly how it sounds.  I believe this is possible via an add-in

            

3. Dragging code windows outside the IDE (for multi monitor setup)

We’ll want to have a simple tool window whose contents are those of the document window you’re dragging.  Another approach is to pull the content into the tool window just like the VB My Project does. 

 

·       Help:

 

1. Custom Help Provider Sample

2. Improved Help favorites

3. Back Forward work in Whidbey?

In IE and VS.NET you can navigate backwards more than one page by clicking a small drop down arrow next to the back button which presents your       immediate browse history. The "Microsoft Document Explorer" (the dedicated help system) lacks this functionality.

4. Provide a way to jump to the MSDN Online version of the currently viewed Local Help document (and possibly flag if MSDN Online has a newer version)

5. Provide a solution to upgrade the MSDN Library to the current WEB Version - downloading only the new/modified content - and integrating it into VS

 

Ideas for MSBuild:

 

  • VS Add-in tool window that allows you to edit any arbitrary property + allows you to select any random target for build
  • VS Add-in that allows you to view your project dependency graph graphically
  • VS Add-in tool window that allows you to a) open a projects that contain other projects, b) build these and c) edit project files in the same instance of the VS IDE
  • MSBuild no project build tool -- basically a tool that can look at the sources on your given machine hierarchy and infer the project file in memory and feed it to the MSBuild OM

 

  

Ideas for the Editor \ Code Navigation space:

 

·       End2End Snippet Integration

 

  • Code Highlighter/Formatter:  "Let's say you're programming, and you know you are writing some test code, something that you know will need to be changed, something that should be deleted eventually, etc... Well it would be cool if there was an add-in where you could define different code highlight/format categories like Test Code, Debug Code, Temp Code and then assign them each a different color, font type, or font format (bold, italics, etc). You would just highlight some code, right click, and pick from the menu Code Highlighter>Test Code and then it would change all the highlighted code to that specific font color/format. Then you'd never forget about the code because it would be obvious if it is in a different format than normal code. I make this mistake to often where I put a comment by some test code or temp code to remove it but then forget to until weeks later, if ever."
  • A variation of the above idea is to create a tool to allow users to open a code file with their preferred layout and markup and then save it back out using their team's standards.  There are tools out in the public to do the formatting, but we haven't seen any of them integrated in the IDE.

  

Project and Solution Ideas:

·       New Starter Kits & Templates
The new template architecture in the project system has lots of cool ways to abuse it and seed customer's projects with project & item templates, as well as stuff like documentation.

·       "I would like to see an add-in that would let me manage the assembly version numbers across all projects within a solution. It could be one of those dockable content things that would contain a table listing all the projects within a solution, their current versions, whether they are auto-incrementing etc. When we edit them in this interface, it could change them in the AssemblyInfo.cs file. I would write it myself, but I still can't get my head around plugIns."

·       Class Template Editor: I think it would be good to have a class skeleton editor, where one can edit the basic skeleton code provided when adding a new class. I know a lot of devs out there want to automatically have regions set up for Fields, Methods, Properties, Operator Overloads, etc. so it would be nice to be able to edit this visually rather than doing it the hard way (ie. editing the individual files that are used by the IDE somewhere in "Program Files\Microsoft Visual Studio .NET 2003\xxx\xxx\xxx\xxx"

 

 

VSIP and Extensibility Ideas:

 

  • VSIP Add-In Shim
    Write a 'package' that hosts add-ins but gives the add-in access to more of the package-level interfaces and functionality!

       Write an SDK Sample! Some features that don't have good coverage in the SDK at this point:

  • Working with class view from VSIP code
  • Debugger visualizers
  • Plugging into the Fonts and Colors dialog
  • Code snippets for any common integration task
  • Porting existing SDK samples into VB, MC++ or J# (if you really want to).
  • Creating a profile control point
  • A UI that has a simple object model and implements macro recording
  • Custom controls in the property browser

 

Source Safe ideas:

  • heat, I want heat. I want the source code control integration to keep churn counters for blocks of code, and as there is more churn, they're rendered in a lighter color. I find code with lots of churn indicates poor thinking or poor understanding of the problem, and as a tester, I find highly churned code to be fruitful for bug finding.

  

Others:

 

  • Runtime Visualizer:  "Picture the visualizers in Windows Media Player but for code. You could base the visualizer changes on attributes of the code like the WMP visualizers use frequency and volume. The visualizer could respond to things like allocation frequency, total memory allocated, GC frequency, number of local variables, etc."
  • ??(Need a name): I'd like to be able to drag a table from a sql server in server explorer into a blank class and have it wire up public/private properties, get and sets (property names match database field name with the private fields prefixed by a user defined character _ or m or whatever the developer preference is).
  • App Framework: What I'd really like is an easy way to create an app framework; something like enterprise templates, but a little less fiddly; something like the old app wizard in vb5/6, which let you choose the style of app (document, explorer-style, etc). I'm thinking something that includes the ms app blocks ready configured and "wired up" ready to go; currently I'm working on an enterprise template that creates an app framework, with all the common / generic bits and pieces, base app services, etc, which you can then install and build a full app on top of. But enterprise templates are a bit arcane, and very fiddly to distribute. Perhaps you could create a generic framework that can then be extended or customised?
  • I want the IDE to tell me when there is duplicated code, unused code, and unused imports. So as to be able to remove them from the code base more easily; an example of this can be seen in the PMD plugin for Eclipse.

Thanks,

krassimir

Published Tuesday, August 24, 2004 10:45 AM by VSIDE

Comments

 

Anon said:

http://www.codeproject.com/dotnet/msgaddin.asp

There's a head start for the Messenger addin.
August 24, 2004 12:25 PM
 

vs2005news's WebLog said:

August 25, 2004 6:26 PM
 

Roy Osherove said:

an idea for source control:
when I get latest version I want the files that were actually changes since the last time to be bolded or in different color in the solution explorer so that I know where to look for changes.
August 25, 2004 4:55 PM
 

Eddie Frederick said:

A lot of corporate development teams I know personally would love to have Messenger support integrated for drag/drop/send code snippets.
August 26, 2004 5:34 AM
 

Andrew Davey said:

The ability to highlight code sections in different colors would be awesome.

Add to that the ability to attach a pop-up comment window (like excel and word doc comments) for comments. These comments would be different to code comments - more informal and not intented to be there for ever.

Great to single out code that you want to talk to someone else later on about refactoring, or for their opinion.

Add that with the idea of sending code over an IM client and you have the platform for creating a peer 2 peer code review.
August 26, 2004 2:58 PM
 

Rodrigo Pires said:

1) Add line comments to VB.NET, just like /*comments*/ are for C#;

2) Add XML Comments support to VB.NET, so developers won't need install VBCommenter or other third-part components anymore.

Regards,

Rodrigo Pires
São Paulo - Brazil
August 26, 2004 6:27 PM
 

Abbas Malik said:

DATAGRIDVIEW
=====================================================
A. DataGridView should have a MaskedTextBox column.
B. Ideally grid should work like it works in VFP. The grid column should only be a container control and user should be able to place a textbox, checkbox, combobox or any other custom control on it. More than one controls are also allowed on it.

August 27, 2004 6:39 AM
 

Rama.NET said:

Find and Replace should allow user to do find and replace using regular expressions. It should also allow user to pass a generic '...' instead of original name. Example say I have an instance of my own hashtable with .get method to get value of a key. Later I found this is not good and wanted to use System.Collections.Hashtable. But I already used this instance to get values of a lot of keys. In that case if IDE let me to do a find/replacement using objFormData.get(keyname) to objFormData[keyname] by simply saying objFormData.get(...) to objFormData[...]. here '...' means anything between start and end characters in that expression. So for me it reduces a number of times running find/replace for all keynames.

More info at http://blogs.wwwcoder.com/govinda/archive/2004/08/30/727.aspx
August 30, 2004 1:43 PM
 

Bruce McCarthy said:

Besides VB our company uses .NET for our SQL projects. I would like to be able to sort my files in the Solution Explorer by someting other than name, most notably Time/Date but by type or extension, as well.
August 31, 2004 4:05 PM
 

Lars Wilhelmsen said:

It would be cool to have a multi-user edit mode like this mac os x editor:

http://www.codingmonkeys.de/subethaedit/

Regards,

Lars Wilhelmsen
Software Engineer
Teleplan AS
September 3, 2004 4:54 AM
 

Paul D. Murphy said:

Instant Messenger Integration

Drag and drop some code to your buddy in an instant messenger toolwindow in VS? Cool huh?
-----------

It was cool when I suggested it for Project Saturn.

;-)

Now maybe you can realize what I have been harping on for years. WHY DO I HAVE TO USE OUTLOOK?

Why can't the outlook explorer be hosting in a tool window? Why can't the mail editors be hosted in a tab document? WHY DO I HAVE TO USE TWO TOOLS TO DO MY JOB? I have two monitors for the sole purpose of being able to monitor my email and write code at the same time.

+++++++++++++++++++++++++++++++++++++++++++
1: a web browser like experience for code browsing (back button, forward button).

2: checkpointing. I can't beg for this enough. I should be able to create a checkpoint on my solution (no source control here) so that if I work for 2 hours and hate it, I can 'roll back' to my checkpoint. If you want to do it right, it would be cool to see a visual history tree (think photoshop history) where I can roll back to a place in the code.
September 5, 2004 7:47 PM
 

VIM said:

Just wondering if there will be an VI style editor.
Sample can be found at www.vim.org

Thanks
September 7, 2004 7:43 PM
 

Henrik Sørensen (OPTION.DK) said:

I think it would be a good idea to include a set of good xp icons for use in webapps. Icons has been included in the .ico form for years but none of them are in xp style and none are in a usefull webformat like .gif or .jpg

Icons are a crusial part of the design so why do we have to 'steal' icons or spend hours creating all the basic icons ourselves???
September 13, 2004 4:45 PM
 

Simon said:

I have an idea for the editor in the IDE.

Can you divide the editor window such that some portion of the window can show global and local variables of the current function, including type? That way, from anywhere in my code, I can see a list of all my declared variables, member variables, and local variables. Maybe the variable list can also be listed hiarchially by the inheritance tree.

Another window I'd like to see is one that shows the IntelliSense output, rather than a tooltip. So in any given function, I can see a list of other functions, and if I expand that function, it shows the code. This way, I never have to hunt for a function or its implementation, losing my place in the main editor window. I can see the full argument list, I can scroll through the implementation, all within another window.

One last window I'd like to see if one where it lists all the declared variables and functions/methods, and expand the item to show where each is instanctiated or called. That way, I can see, without doing a search, where all the uses are, and just click on it to jump to that line of code.
September 13, 2004 5:23 PM
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker