RAD Studio 2010 Review #4: Project Management Enhancements

RADStudio 2010Before having a quick look at the new nice things related to the Project Management in RAD Studio 2010 let me remind you that we’re talking about a pre-release beta. Everything can change till release. Also, let us not forget to thank Embarcadero for allowing us to talk about these things.

Before entering in the dry overview some of the features let me stress something: I think that these small features are very important. But, perhaps, not in the way in which one would think at the first glance…

They are very important (imho of course) because these features show at least two things:

  • The team’s mindset started to change. They think more and more how to please the community. The other side of the fence, is more and more present in their thoughts. Don’t think that this is easy. Just look at yourself. How hard did you try to please the others when the others blame you? How often? …and for how much time? And how often when you’re “sure” about a bug footprint or about a way in which a thing must be implemented, you changed your mind just because ‘the many say so’? Yes, I know, they are not perfect (remark the emphasis). Nobody is perfect. Hence, to be perfect you must became ‘nobody’. Imho, the normal way of behaving for a personality is to be very demanding with himself and merciful with the others and not demanding with the others and merciful with himself. And this applies to all of us: customers, employees (of any company for that matter), vendors, bloggers (<g>) etc.
  • Because now the relations between company and community got warmer they program more freely, with more serenity. They ‘play’, in a way of speaking. (To Team: Don’t throw with tomatoes. Anyway is your screen. I know that you’re working hard and under pressure). Guys: this of course, this doesn’t mean that they don’t work hard and they aren’t under pressure :-). But a general good will is to be found in the communications with them. I think that’s crucial. (more perhaps in another post). Now, let me stress just one big result from this thing: Being calm due of community feedback, they can have the discrimination to implement small features immediately. (To Community: Don’t throw with tomatoes either. You have .public.non-techical for that. Thank you.) Yes I know that this can be greatly improved. But we’re working on that. Also, don’t forget that one of the first features is quality. They should not destabilize too much the beast.

But let’s see how the Toyota Principle (small features should be implemented immediately) – which helped Toyota to reach where is now – is applied in our case. Let’s have a look at the following screen shot:


In the Project Manager pane, on the Toolbar, (see the red arrow), besides the buttons which collapse and open the project nodes (nice thing already present in Delphi 2009, we have a new button which controls the sorting of the files. You can sort by Name, Type, Path and Modified Date. You can find scenarios in which this is useful, don’t you?

Also, take a closer look at the icons of the packages (the blue arrow). Now the Design Time and the Run Time packages have different icons. So you can multi-select the Design Time packages, right click and install them in a go (you can multi-select in the project tree – you did know this, didn’t you?). I’ll definitely use this. Not mentioning that now the right-click menu has a sub menu called ‘From Here…’ ‘Compile, Build…’…

But one of the nicest new things is that you can move the breakpoints (see the orange circle). With all it’s settings, of course. The same stands for the bookmarks, which, as you see, after sooooo many versions are (finally!) readable. I love this feature very much because is a direct application of Toyota principle (see above) which leads to a quick enhancement of product quality.

Another great feature of the new D2010 is IDE Insight which was described extensively by they guys from team (I’m sure that you read them – if not, drop a comment to dig for the links), but now we’ll stop on the things which are Project Management related and not covered by others. Besides that you have the same engine in View | Units…, View | Forms… and File | Use Unit…, you can search now for the Components you have already on your Form / DataModule


…and for any Project Option. All from the same place. Just press F6 and write:


…and the last one (which perhaps must be the first): Now you can run Project | QA Metrics and Project | QA Audits without enabling the Modeling support. Of course, your  project must compile and be sure to see have the code editor focused (if the Form Designer is the focused item then the options are disabled).

What do you think about these? Good, Bad, Missing?

26 thoughts on “RAD Studio 2010 Review #4: Project Management Enhancements

  1. Can QA Metrics/QA Audits now handle project that are larger than a hello world application? Or do I still have to kill the IDE after several ours of waiting?

    • Hello Andreas Hausladen,

      I don’t know the size of your application but both Audits and Metrics have been optimized to go a lot faster and all the features work like Show Description, Bar graph, and Kiviate graph.

      The one thing I still need to get done is the fly-by-help on the abbreviations.

      On my little machine (work laptop 2gig of mem and core 2 cpu on the icpdemo, which is included in your demos directory, I can run the Audits in: 3 seconds and Metrics in: 5 seconds with the default sets.

      Also Audits and Metrics can now be accessed by going into your code view and then selecting Audits or Metrics from the Project menu, meaning you do not have to load the Model view if you don’t want to. The above numbers where in the model view.

      Hope this helps,


  2. Will there be a feature to filter/search the class/function/procedure, just like IDE Insight?

    IDE Insight seems very promising, but what about us, the library coders? We have to deal with thousands of lines of code from which finding a function or procedure is still a nightmare.

    Delphi IDE has a very effective Class Browser. Now, just give that small but unavoidable tool.

    • Search | Find Class…

      It will find you anything (constant, function / procedure / method, class etc.). Present also in D2007. (The oldest Delphi which I have on my machine now).

      OTOH, Yeah, I know the label isn’t correct. It should be Search | Find Identifier…

      Have a look.

    • I like the class/function/procedure filtering idea. If it isn’t in the new version, you should add a QC report. I’d vote for it.

  3. 2010 is looking good. But since you’re talking about bookmarks, here are a few useability problems I run into after I’ve added bookmarks 1) I forget which units they are in and I sometimes end up overwriting bookmark x in a unit I’ve forgotten I had set one in or 2) I find bookmark y is not working because I’m in the wrong unit and 3) i just plain forget which bookmark is for what and have to end up trying them all.

    2 requests: can we automatically “bookmark” all edited code — ie I would love to be able to quickly move between the edited code (ie code marked with yellow or green edit bars) in a unit with a special key sequence. Preferably a ctrl-shift-something to cycle through all edits. This would save dropping and remembering “numbered” locations.

    secondly, can we have a “drop bookmark function” which automatically assigns the next available bookmark; and again a goto next bookmark function. And I’d like this goto bookmark function to cycle through all dropped bookmarks across all open units. It will not take long to cycle through all if the keyboard shortcut is easy to remember.

    The implementation of both these features actually does not require that bookmarks be numbered – since both are just place holders that you can cycle through in my two requests. Our poor brains are already overloaded with too much stuff to remember bookmark 2 is such and such and bookmark 3 is this and…

    • I’d like to see Enhanced Bookmarks that allow for code highlighting:

      e.g. I need to come back to this code tomorrow so I select it (portion of line or multiple lines) before creating the bookmark. The code editor then highlights the selected code (like a ‘marker’ pen – perhaps each bookmark number uses a different color else the color for the highlight is selectable from right-click within the highlighted section). The highlighted bookmark highlight is persisted in the project file or a projectname.highlight file with unit name and highlight start and end pos. The Bookmark List/View lists the bookmarks in the selected project with unit name and start line, and highlight color and code snippet if applicable, with full selected code in a popup hint. Tomorrow when I open the project I can see the highlighted code in the editor and double-click a bookmark in the list window to jump to the various bookmarks in the editor.

  4. Not only do you guys at Embracaero create and maintain Delphi, you also USE Delphi to create their own products. In other words, they already have people that know what works, what does not, what might be a good idea to make Delphi better…

    I think this situation is excellent for the Delphi community!

  5. The new IDE Insight tool is not that much different than D2007’s variation. However, what does make it different and extremely useful is the focusing and navigation being handled from the tool (F6, thanks. I use that tool all day). I liked the D2007 tool pallet over the older pallet, I just did not like the 5 millions times I had to click the tool’s toolbar to access it. I know, Ctrl-Alt-P would have set focus (didn’t get that message until it was too late). By then my brain had to be retrained not to use the mouse to access it.

    The message that Mr. “Wings of the Wind” (sorry I saw no authors name) has made, at least as I see it, even though these LITTLE things may look like they were simple for EMB to implement, we should not go crazy when EMB starts to show us them as new features to the product.

    I say please for GOD sakes, show us these new little additions or fixes. And if Ctrl-Alt-P will access it quicker, put that in BOLD text. Before it’s too late for me again. The point I would like to make is, that little changes will eliminate tens of thousand of keystrokes or mouse clicks for me the user over the next 2 years.

    It’s because of those little (non-important) updates, that I will be updating to D2010 this time. I held off D2009. And it is this new attitude towards the little enhancements that has help me change my attitude towards the company. I’m sure all the “annoyances” aren’t gone in this release. I’ll be happy to get the ones that I have already seen.

    I don’t upgrade so I can have ribbon controls or a gesture API (I understand others do, I just don’t). They are all important and I’m sure useful, needed or desired. But they are features that are not generic to all users. And after programming for almost 20 years with C++ and then Delphi (last 13 years), anything that can help lessen the workload using the Delphi editor, is a REAL and SERIOUS update to me.

    So to the makers of Delphi, thank you for the small things.

  6. No question that the dev team is listening to the community more and responding to what people actually want rather than creating functionality they think is good for us and then ramming it down our throats. (ok, I’m still a little annoyed at how unicode was implemented, I admit it)

    The return of the old tool palette is a clear sign of that (and the new tool palette for those who prefer it).

    From everything I have been reading, there is a huge effort at paying attention to the details in this build – and the end results will always be a better product.

  7. You say, “you can search now for the Components you have already on your Form / DataModule”, but that’s not what the screenshot shows. The screenshot shows you searching the components that are registered in the Component Palette. But your blog post says it’ll search through the components that have actually been added to your form. Bad screenshot, or bad description? Can IDE Insight really search through the controls on your form, and select one in the Object Inspector? That’d be a pretty sweet thing to be able to do using just the keyboard.

    • If you look more closer to the screen shot then you’ll see TWO categories. The first is ‘Component Palette’ which has, as expected, TBitBtn which is the class TBitBtn. But the second category is called ‘Components’ which has two items: BitBtn1 and BitBtn2 which are two instances, two components which I’ve put on the form for testing purposes. Choosing BitBtn1 the engine will select the respective instance (the respective button in our case) on the form. So, yes, “Can IDE Insight really search through the controls on your form, and select one in the Object Inspector? That’d be a pretty sweet thing to be able to do using just the keyboard” 🙂


  8. Movable breakpoints??! WOOHOO!

    Seriously this simple little enhancement is going to save me no end of annoyance with conditional breakpoints that I very often place in one part of my code and then as I hone in on the problem decide would be better moved a few lines earlier or later in the flow of execution. At the moment each time I have to decide whether the time it’s gonna save me in debugging is worth the hassle of deleting the breakpoint and reconfiguring a new one.


    • A right-click breakpoint, Copy/Cut/Paste could be nice in this situation… but not something that I’d use very often.

  9. Pingback: Личная записная

  10. Sorry, I should have been more specific.

    It’s the movable breakpoints/bookmarks. Admittedly I haven’t looked into all of Delphi 2010’s features, so I can’t comment on whether we’ll upgrade or not.

    • imho, if you like Delphi 2009 (or 2005/2006/2007), you’ll love Delphi 2010.

      The “little things” are just (welcome) icing on the cake.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s