Mega Search
23.2 Million


Sign Up

Make a donation  
Any Automatic Parenthesis completion?  
News Group: borland.public.delphi.ide.general

This year I'm really trying to get myself to start using Delphi 2007 instead 
of Delphi 7.  And you know, this is a really painful transistion.  CodeGear 
has asked people what is stopping them from upgrading.  And while I agree 
with many of the roadblocks, such as painful 3rd party component upgrades, 
the biggest problem that I am having is the lack of the 3rd party CodeRush 
product.

I've used CodeRush in Delphi 7 (and Delphi 5 before that) for *many* years. 
And yes, I know there is a 3rd party program called Castalia that works with 
Delphi 2007, but it isn't nearly as functional as CodeRush was.

The problem is that my fingers have been trained for many many years to type 
code extremely fast using the various CodeRush features and templates that I 
had defined.  The Delphi Live Templates help with some, but not all.  But 
once your fingers are trained, it's very hard to "untrain" them.

The purpose of this post is to ask about automatic parenthesis completion. 
This was a feature in CodeRush where you would type a ( opening parenthesis 
and it would automatically close it and put the cursor between them: (_)

I haven't found any addon or Delphi Expert that will do this in Delphi 2007. 
As far as I can tell, not even Castalia will do this.  There was an old 
Delphi Export called "Fast Type" that also had this feature, but it doesn't 
look like that works with Delphi 2007 either.

Does anyone know of an addon that will do this?  My productivity has really 
dropped because I am so used to having all of my parenthesis automatically 
closed.  And it gets harder and harder to justify using Delphi 2007 instead 
of Delphi 7 if my productivity drops so much. 


Vote for best question.
Score: 0  # Vote:  0
Date Posted: 8-Jan-2008, at 3:50 PM EST
From: Zugg
 
Re: Any Automatic Parenthesis completion?  
News Group: borland.public.delphi.ide.general
I might take a look at the source code as you suggested if it isn't too hard 
to figure out and rebuild.  Hopefully it's possible to just rebuild the 
Proofreader addon without rebuilding the entire GExpert package.

And yes, I've donated to GExperts in the past.  GExperts is something I've 
also been using for a long time, but I tend to forget about all of the stuff 
that it does sometimes, and I just never thought of using Proofreader for 
this particular problem (I had forgotten that you could position the cursor 
upon replacement).

Anyway, I've never done much with writing IDE Experts before, but I've got a 
couple of days to try and get my Delphi 2007 setup more productive, so it 
might be worth the time to look at.  Maybe I can just learn how to create my 
own "auto paren completion" expert to keep things clean and simple.

"Zoren Lendry"  wrote in message 
news:478410fd$1@newsgroups.borland.com...
> Zugg wrote:
>> That was an excellent suggestion!  And it *almost* works.  I tried adding 
>> the Code Proofreader entry that you suggested and it works during normal 
>> usage.  But it has a nasty side effect.  If you have text like this:
>>
>> if (a=1) then
>>
>> and you position the cursor just after the "a" and the press the 
>> Backspace key to delete the "a" character, then you will suddenly get 
>> this:
>>
>> if ()=1) then
>>
>> It seems that the Code Proofreader isn't just triggered when you actually 
>> type the characters, but also gets triggered when you backspace and the 
>> text before the cursor matches one of the patterns.  This is a very nasty 
>> side effect that makes this difficult to use.  But maybe I can get a 
>> feature added to GExperts to fix this.
>
> Well, I didn't try your scenario! The nice thing is, you can get the 
> source code for GExperts, so you can adjust the feature to your liking. 
> And make sure to send Erik Berry a donation for his time. He's done some 
> great work for the Delphi community.
>
> I have made the full switch to D2007, and I'm glad I have. There are still 
> some IDE bugs that weren't there in D7, especially for us Classic Undocked 
> Mode heretics; and I'm pushing to get them fixed. But overall, my 
> day-to-day experience with D2007 is very positive, and I am more 
> productive now in D2007 than I ever was in D7. BuildEvents are critical 
> for me with all my server applications. And the new project management 
> area of the welcome page is so handy. It's a small thing, but it makes me 
> a lot quicker in navigating between the 20 or so apps that I'm working on 
> at various stages in Win32 and IW.
>
> Cheers,
>
> Loren sZendre 


Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 8-Jan-2008, at 11:53 PM EST
From: Zugg
 
Re: Any Automatic Parenthesis completion?  
News Group: borland.public.delphi.ide.general
Zugg wrote:
> That was an excellent suggestion!  And it *almost* works.  I tried 
> adding the Code Proofreader entry that you suggested and it works during 
> normal usage.  But it has a nasty side effect.  If you have text like this:
> 
> if (a=1) then
> 
> and you position the cursor just after the "a" and the press the 
> Backspace key to delete the "a" character, then you will suddenly get this:
> 
> if ()=1) then
> 
> It seems that the Code Proofreader isn't just triggered when you 
> actually type the characters, but also gets triggered when you backspace 
> and the text before the cursor matches one of the patterns.  This is a 
> very nasty side effect that makes this difficult to use.  But maybe I 
> can get a feature added to GExperts to fix this.

Well, I didn't try your scenario! The nice thing is, you can get the 
source code for GExperts, so you can adjust the feature to your liking. 
And make sure to send Erik Berry a donation for his time. He's done some 
great work for the Delphi community.

I have made the full switch to D2007, and I'm glad I have. There are 
still some IDE bugs that weren't there in D7, especially for us Classic 
Undocked Mode heretics; and I'm pushing to get them fixed. But overall, 
my day-to-day experience with D2007 is very positive, and I am more 
productive now in D2007 than I ever was in D7. BuildEvents are critical 
for me with all my server applications. And the new project management 
area of the welcome page is so handy. It's a small thing, but it makes 
me a lot quicker in navigating between the 20 or so apps that I'm 
working on at various stages in Win32 and IW.

Cheers,

Loren sZendre

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 8-Jan-2008, at 4:13 PM EST
From: Zoren Lendry
 
Re: Any Automatic Parenthesis completion?  
News Group: borland.public.delphi.ide.general
That was an excellent suggestion!  And it *almost* works.  I tried adding 
the Code Proofreader entry that you suggested and it works during normal 
usage.  But it has a nasty side effect.  If you have text like this:

if (a=1) then

and you position the cursor just after the "a" and the press the Backspace 
key to delete the "a" character, then you will suddenly get this:

if ()=1) then

It seems that the Code Proofreader isn't just triggered when you actually 
type the characters, but also gets triggered when you backspace and the text 
before the cursor matches one of the patterns.  This is a very nasty side 
effect that makes this difficult to use.  But maybe I can get a feature 
added to GExperts to fix this.

"Zoren Lendry"  wrote in message 
news:478401e9$1@newsgroups.borland.com...
> Zugg wrote:
>> The purpose of this post is to ask about automatic parenthesis 
>> completion. This was a feature in CodeRush where you would type a ( 
>> opening parenthesis and it would automatically close it and put the 
>> cursor between them: (_)
>>
>> Does anyone know of an addon that will do this?  My productivity has 
>> really dropped because I am so used to having all of my parenthesis 
>> automatically closed.  And it gets harder and harder to justify using 
>> Delphi 2007 instead of Delphi 7 if my productivity drops so much.
>
> I tried CodeRush, and liked some of the features, but it made my D7 so 
> much slower and made it crash several times throughout the day, that I had 
> to remove it. That was a while ago!
>
> Anyway, I sympathize with your general plight. So I went to my D2007, with 
> the latest GExperts installed, and I experimented with its Code 
> Proofreader module. I entered a new item "(", and set its replace text 
> with "(|)", and it worked just like you described you wanted.
>
> Hope this helps,
>
> Loren sZendre 


Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 8-Jan-2008, at 4:19 PM EST
From: Zugg
 
Re: Any Automatic Parenthesis completion?  
News Group: borland.public.delphi.ide.general
Zugg wrote:
> The purpose of this post is to ask about automatic parenthesis 
> completion. This was a feature in CodeRush where you would type a ( 
> opening parenthesis and it would automatically close it and put the 
> cursor between them: (_)
> 
> Does anyone know of an addon that will do this?  My productivity has 
> really dropped because I am so used to having all of my parenthesis 
> automatically closed.  And it gets harder and harder to justify using 
> Delphi 2007 instead of Delphi 7 if my productivity drops so much.

I tried CodeRush, and liked some of the features, but it made my D7 so 
much slower and made it crash several times throughout the day, that I 
had to remove it. That was a while ago!

Anyway, I sympathize with your general plight. So I went to my D2007, 
with the latest GExperts installed, and I experimented with its Code 
Proofreader module. I entered a new item "(", and set its replace text 
with "(|)", and it worked just like you described you wanted.

Hope this helps,

Loren sZendre

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 8-Jan-2008, at 3:09 PM EST
From: Zoren Lendry