I just started working with Orcas Beta 2 again after a long hiatus so I am finding new issues all the time. There are so many UI issues I’ve mentioned over the years that are still not addressed. Off the top of my head these include (but are not limited to):
• Auto “imports” for object references as is done in C#.
• Extensible New constructors for those cases where the new constructor does not include the right set of options. These extensions should have a mechanism to be automatically loaded when Visual Studio starts.
• The ability to insert SQL directly into a text string in the code editor. I’ve been asking for this for years with still no change.
• The ability to insert a prompted provider-specific Connection String directly into the new Connection constructor. This is new—an idea that just came to me. Given the number of people still having problems building Connection Strings and how much UI is already built to do this, it seems to me that it would be possible to right-click and let one insert the results of the Connection dialog editor.
• I would like to see “smarter” intellisense that does not show properties, options, events etc. for objects where the class does not support them. Case in point: SqlCe namespace does not support stored procedures, but it appears in the list of available options in the CommandType intellisense.
• Spell-check for all string literals. Every person who has shipped an application only to discover that they misspelled a few critical words knows why this is needed.
• Auto-hookup in the Data Source/TableAdapter paradigm for many-to-many hierarchical data. One-to-many seems to be nailed down except for use of SPs and parameter-based queries—these require quite a bit of extra code. Remember folks, addressing an entire table is not how you build a scalable application (unless it’s for the church roster).
• Default behavior of the Data Source config wizard needs to disable choice of “Tables”, “Views”… That is, developers should have to manually choose all of the tables in a database to be used to create ST TableAdapters—not just check one box. 90% of the time this is just wrong. Don’t help inexperienced developers make mistakes from the beginning.
• When creating a TableAdapter, one should be permitted to provide a Query-builder interface to limit the rows during initial configuration instead of having to go back and reconfigure. If not QB, then some interface to help construct the WHERE clause. Returning all rows from a table (the default behavior) is a very poor practice. Again, help them build correct applications from the start.
• When using D&D to display data in a DataGridView (thanks for not changing the name again), those columns whose control designation is “none” should not be displayed. For example, TimeStamp columns are automatically marked as None. This works fine for discreet controls. This is just a bug that should have been fixed for some time.
• Better mechanisms need to be added to help developers build hierarchical one-to-one, one-to-many and many-to-many UI-based applications—with and without direct table access (as when using stored procedures).
• We still don’t have a clearly defined mechanism to refresh the generated code once changes are made to the underlying schema. Give us a “regenerate code” button that (at least tries) to walk the referenced data and rebuild the TableAdapter classes.
• Why can’t I “join” two Data Source DataSets by dragging a table from one to the other?
• For consistency, the Data Sources window should be listed under the top View menu.
• The project references pick list has not been fixed since the first launch despite being mentioned as many times as an issue. Due to the (to be nice) “challenged” design (the UI looks like a throwback to VB2), and the fact that many Component Names are so long, you can’t tell one from another. This is UI 101 and should have been fixed long ago. IMHO it should have a filter setting to help locate references as you do with the Toolbox customization dialog (which is slow, but nicely done).
• The Add New Item dialog needs to have a simple import facility to permit developer to import RDL reports into a project.
• Refactoring should be built in—not added on.
Perhaps they would be fixed by the version after 2008. I'm not holding my breath.