Design a Refactoring Extensibility API
This is an experiment. I'm going to give a rough outline of a feature that is the C# IDE Wish List. You get to talk about how you'd like to see it work.
If it's really successful, I'll transfer the rest of my responsibilities to the blog-reading community, as well.
We often get asked for more extensibility in Visual Studio. I think we do an OK job, but we could certainly do a lot better.
For example, suppose we built an API that gave you:
- The parse tree
- Get the type of an expression in the parse tree
- Find the definition of a symbol
- Find all references to a symbol
You could write Introduce Explaining Variable with that, for example.
What would your API look like?
If you have a proposal for the next design-a-thon, post it in the Suggest A Topic post.
Comments
- Anonymous
June 10, 2004
I got an email from one reader saying:
'Your post sounds too much like "do some work for me". '
It is.
It's also a chance for you to have complete freedom in designing a feature in a product that you depend on every day.
If this prospect is exciting & interesting to you, I hope you take advantage of it.
If you think it would be an unrewarded effort, then skip it. - Anonymous
June 10, 2004
What API are you asking us for? The refactoring, or the access to the parse tree et. al? (The latter I believe) - Anonymous
June 11, 2004
Jim: whichever you find more interesting, or whichever you have strong ideas about.
So far this post has been a dud.
Next time I'll try starting with a proposed design, and then we can refine it together. Maybe that will work better. - Anonymous
June 11, 2004
I think the problem you have here is that your request is a bit abstract for this venu. A bit more concrete or narrower scope would be better.
I'll think about it for you.