CnPack Forum


 
Subject: [feature idea] jump to next compile error
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-19 15:09  Profile | Blog | P.M. 
[feature idea] jump to next compile error

Hello!

When compiling a project we some-times get errors. These errors are put in compile messages tool-window. After compiling, the ide code editor jumps to first error.
Once the first error is resolved, i have to double-click on the next error in messages or press ctrl+f9 to compile again and jump to next error. Trouble is, that i don't want to pick up the mouse and compiling just to jump to next error is: 1. kind of stupid and 2. some-times takes too long.

Would it be possible to have a keyboard shortcut to navigate the errors in compile-messages window?

Thanks!
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-20 00:18  Profile | Blog | P.M. 
Thanks for your good suggesion. It should be an useful requirment. We'll do some research for its implementation possibility.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-23 22:20  Profile | Blog | P.M. 
Hi, In Delphi 5/6/7 and C++Builder 5/6, it's possible to jump to the next compile error, for the messge view control is TTreeview, we can get it's selected index.

But in BDS, the message view control is virtual tree. And its selected index is hidden to us. It's hard to obtain it.

What's your comments about it?
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-24 23:21  Profile | Blog | P.M. 
Now we think though the Virtual Tree can not raise its selectindex, we can also post VK_DOWN message to it to let it move to next item.

In our latest nightly-build version 284, this function has been added into Editor Wizard's submenu. Please check it.

http://www.cnpack.org/downbuilds.php
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-24 23:52  Profile | Blog | P.M. 
Reply #3 Passion's post

Thanks for looking into this.

I'm still using Delphi 7. Not going to move to BDS for some time.

But what is the problem with virtual tree?
I seem to remember that they used Mike Lischkes virtual string tree (http://www.lischke-online.de/VirtualTreeview/) in many places (project manager, structure pane, message view, refactoring window).

I'm somewhat familiar with the component. TBaseVirtualTree.GetSortedSelection will return all selected nodes.
It returns a TNodeArray.
TNodeArray = array of PVirtualNode;
PVirtualNode = ^TVirtualNode;
TVirtualNode = packed record
    Index,                   // index of node with regard to its parent
    ChildCount: Cardinal;    // number of child nodes
    NodeHeight: Word;        // height in pixels
    States: TVirtualNodeStates; // states describing various properties of the node (expanded, initialized etc.)
    Align: Byte;             // line/button alignment
    CheckState: TCheckState; // indicates the current check state (e.g. checked, pressed etc.)
    CheckType: TCheckType;   // indicates which check type shall be used for this node
    Dummy: Byte;             // dummy value to fill DWORD boundary
    TotalCount,              // sum of this node, all of its child nodes and their child nodes etc.
    TotalHeight: Cardinal;   // height in pixels this node covers on screen including the height of all of its
                             // children
    // Note: Some copy routines require that all pointers (as well as the data area) in a node are
    //       located at the end of the node! Hence if you want to add new member fields (except pointers to internal
    //       data) then put them before field Parent.
    Parent,                  // reference to the node's parent (for the root this contains the treeview)
    PrevSibling,             // link to the node's previous sibling or nil if it is the first node
    NextSibling,             // link to the node's next sibling or nil if it is the last node
    FirstChild,              // link to the node's first child...
    LastChild: PVirtualNode; // link to the node's last child...
    Data: record end;        // this is a placeholder, each node gets extra data determined by NodeDataSize
  end;


Hope that helps!
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-24 23:55  Profile | Blog | P.M. 
Oh.. i guess i should click refresh before posting next time.

Will check the build right now!
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-25 00:40  Profile | Blog | P.M. 
I assigned Ctrl+Alt+Down as shortcut in delphi 7. It worked. Very nice!

I tried with BDS also - ctrl+alt+down/up are assigned by ide to jump to next/previous function. So i assigned ctrl+< for testing. It does not work. When i press the shortcut i will be moved to currently selected message postition in editor. When i double-click on next message then the shortcut location changes. It seems VK_DOWN is not handled as it should be.

Please make "previous message line tool" too
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-25 10:29  Profile | Blog | P.M. 
OK. Thanks your hint.
We'll try to fix the problem in BDS. BTW, what's your BDS Version? 2005 or 2006?

For "previous message line tool", maybe we can provide a PascalScript to do this. It should work the same way.
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-25 12:34  Profile | Blog | P.M. 
BDS is 2006.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-25 22:32  Profile | Blog | P.M. 
Hi, during our investigation, In BDS, Virtual tree will capture Ctrl and do some othe work. So if we define the shortcut contains Ctrl, it will be uses in VirtualTree, not in shortcut,

If you define the shortcut as an Alt+xxxx, it should works.
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-26 01:18  Profile | Blog | P.M. 
Confirmed.
It's working with Alt+key in BDS2006.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-26 09:21  Profile | Blog | P.M. 
In 285 we've add a "previous " tool in the same way. Please check it.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-26 19:53  Profile | Blog | P.M. 
In 286, we use a hook way and resolve this problem, now Ctrl can be used. Please test it once it comes out for download.
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-27 04:37  Profile | Blog | P.M. 
Hello!

286 installer is incomplete.
File size is 1,2mb while others are around 11,7mb.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-27 11:18  Profile | Blog | P.M. 
Oh. yes. My network crashed last night.

Now I re-upload it.
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-27 11:59  Profile | Blog | P.M. 
Hey, where did 286 go now? It disappeared mid-download (a very slow download.. about 2kB/s).
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-27 12:30  Profile | Blog | P.M. 
Now it should be OK.
I just re-upload it again.

Our poor network......
Top
klemm
普通灌水员
Rank: 2



UID 4759
Digest Posts 0
Credits 79
Posts 38
点点分 79
Reading Access 10
Registered 2007-1-19
Status Offline
Post at 2007-1-27 13:41  Profile | Blog | P.M. 
I'm sorry to report that the shortcuts you assigned don't work. When i press Ctrl+del, it will just delete a character in source. Ctrl+Sysrq does nothing.
However Ctrl + , and Ctrl + . work nicely in BDS2006.

I'm already accustomed to this tool and have saved at least 10 minutes thanks to it
But seriously speaking - i feel the workflow is greatly improved.
Thanks!

[ Last edited by  klemm at 2007-1-27 07:50 ]
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-27 23:17  Profile | Blog | P.M. 
The shortcut problem maybe comes from the keyboard layout. Actually I use Ctrl +,. to do the previous/next message line in my workstation, not Ctrl+del/sysrq, which is shown on others.

I'll do some shortcut conversion on next new build.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-1-28 00:10  Profile | Blog | P.M. 
Hi, klemm, Would you like to download 287 to test it again? I modified the shortcut convert routine to use Ctrl+, and Ctrl + .
Top
 




All times are GMT++8, the time now is 2024-11-22 00:18

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008677 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP