On Thu, 14 Sep 2006 17:41:34 +0200 (Romance Daylight Time)
Michael Van Canneyt <[EMAIL PROTECTED]> wrote:

> 
> 
> On Thu, 14 Sep 2006, Marc Weustink wrote:
> 
> > Michael Van Canneyt wrote:
> >> 
> >> 
> >> On Thu, 14 Sep 2006, Marc Weustink wrote:
> >> 
> >>> Mattias Gaertner wrote:
> >>>> On Thu, 14 Sep 2006 11:30:52 +0200 (Romance Daylight Time)
> >>>> Michael Van Canneyt <[EMAIL PROTECTED]> wrote:
> >>>> 
> >>>>> Hi,
> >>>>> 
> >>>>> 2 feature requests:
> >>>>> 
> >>>>> First:
> >>>>> The following has been bugging me since day 1 of Lazarus:
> >>>>> 
> >>>>> Code completion for methods works from interface ->
> >>>>> implementation.
> >>>>> 
> >>>>> However, in Delphi, the following also works:
> >>>>> 
> >>>>> Given the form declaration:
> >>>>>
> >>>>>    TForm1 = class(TForm)
> >>>>>    private
> >>>>>      { private declarations }
> >>>>>    public
> >>>>>      { public declarations }
> >>>>>    end;
> >>>>> 
> >>>>> I can type the following in the implementation section:
> >>>>> 
> >>>>> Procedure TForm1.DoSomething;
> >>>>> 
> >>>>> begin
> >>>>> end;
> >>>>> 
> >>>>> I can place the cursor anywhere in the DoSomething method, and
> >>>>> press Ctrl-Shift-C. The IDE then places
> >>>>>    Procedure DoSomething;
> >>>>> In the form declaration (in the private section).
> >>>>> 
> >>>>> This does not work in Lazarus. Could this be added ?
> >>>>> 
> >>>>> In practice in Delphi, I use this method infinitely more often
> >>>>> than the Interface -> implementation way; I really miss this.
> >>>>> 
> >>>>> Second:
> >>>>> 
> >>>>> if you add the 'Gexperts' to the Delphi IDE (highly
> >>>>> recommended) then 'ALT Gr'-Arrow Up or
> >>>>>    'ALT Gr'-Arrow Down ('Alt Gr' is the right Alt key) moves to
> >>>>> the previous/next occurrence
> >>>>> of the word/identifier you are standing on.
> >>>>> 
> >>>>> This is also something which I would like to see in the Lazarus
> >>>>> IDE, as I also use this quite a lot.
> >>>> 
> >>>> Aswering the subject: Both are missing.
> >>> 
> >>> ehm.... I would't define the first as missing, since we both
> >>> agreed that it was not wanted in some cases, and that the delphi
> >>> behaviour was anoying on this.

Yes. We said, when the feature is implemented eventually, then with an
option to disable it. And we both would do that.


> >> 
> >> ??
> >> 
> >> On the contrary, it's very much wanted, I don't see how it can be 
> >> annoying??
> >
> > Annoying when you are adding and removing methods in the class
> > definition. You have just removed some and want to complete the new
> > ones..... ...poof, there are the removed ones again (and you won't
> > notice since the editor jumps to the implementation section, so you
> > can go up again, remove etc...)
> 
> Ah, this one, yes I know this problem :-)

There are more problems, because Lazarus' code completion is more than
Delphi's class completion.

 
> >
> >> At best, make it an option, if you really think it's annoying :-)
> >
> > I think completion when you're in the implementation section is OK
> > in this case.
> 
> I think this behaviour lends itself to configuration:
> 
> Method code completion:
> (*) Only add current method to class declaration
> ( ) Add all undeclared methods when cursor in implementation section.
> ( ) Always add all missing declarations

Maybe better:

When cursor is in an undeclared method implementation:
(*) Add current method to class declaration
( ) Add all undeclared methods to class declaration.
( ) Give an error

It should never add methods cross over for the above reason. It happens
very seldom that you need both and in this rare case you can do:
Ctrl+Shift+C, Ctrl+Shift+Up, Ctrl+Shift+C

 
> But that is if you want it really fancy... I'd already be happy if
> the first one is implemented...

And I'm looking forward to the new fpdoc features. :)


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to