View unanswered posts | View active topics



Reply to topic  [ 62 posts ]  Go to page 1, 2, 3, 4, 5  Next
[FD5] NavigationBar v2.5.1 
Author Message
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
NavigationBar for FlashDevelop 5

Adds a bar that provides dropdowns for classes, members, and optionally imports. Configure shortcuts for the dropdowns to quickly navigate through your code. Optionally, inherited classes and members are also available and rendered in a gray color (may lag a bit on large projects/classes). Sort the dropdowns with the same sorts available in the Outline panel.

Image

Also adds an optional navigation toolbar for moving back and forth through your navigation history.

Image

History:

    v2.5.1 - Handle ApplyTheme event. Render dropdown using theme colors.
    v2.5 - Improved dropdown layout. Navigate Forward/Backward buttons now have a dropdown of their history.
    v2.4 - New options when navigating dropdowns with a keyboard (Thanks to PapaDSquat!). Updated to work with FD5.
    v2.3 - Fixes for High DPI. Added support for FD Themes. Fixed bug with non-en_US locales.
    v2.2.3 - Fixed navigate forward/backward shortcuts.
    v2.2.2 - Fixed out of memory bug when finding all references.
    v2.2.1 - Fixed issue running with FD4.5.
    v2.2 - Updated to work with split view. The cursor is now tracked in all editors. Changing the dropdowns will navigate within the active editor.
    v2.1.2 - Now targets the .Net 2.0 Framework.
    v2.1.1 - Fixed issue with additional bars being added when a file was moved. Fixed shortcut keys opening dropdowns. Changed control to a ToolStrip.
    v2.1 - Added optional navigation toolbar for moving back and forth through the navigation history. Fixed dropdown text flickering when editing.
    v2.0.1 - Fixed bug where the bar did not get added to previously open files.
    v2.0 - Added a context menu to quickly access settings.
    v1.9 - Added an option to ignore underscores at the beginning of member/class names when navigating a dropdown with keys.
    v1.8 - Pressing a key now iterates through the items that begin with the press key. Added the option to label properties the same way as functions.
    v1.7 - Opening imports should work in more cases now.
    v1.6 - Added optional Imports dropdown with configurable shortcut. Added setting to choose the sort applied to the dropdowns. Added setting to control showing qualified class names. Fixed bug where editor would get focus when swapping between dropdowns using the shortcut keys.
    v1.5 - Fixed bug with phantom dropdown when using the shortcuts in non-code files. Fixed bug with closing dropdown without making a selection causing navigation. Fixed null reference error when the Context does not contain a Scintilla control.
    v1.4 - If there is a single class and no package/global members, then that class is always selected. Fixed void getting added to the class dropdown.
    v1.3 - Showing inherited classes and members are now configurable via settings.
    v1.2 - Added shortcuts for each dropdown (no defaults). Inherited classes and members are added to dropdowns.
    v1.1 - Fixed issue with using the keyboard to scroll through the dropdown lists.
    v1.0 - Navigation bar removes itself from non-code files.
    v0.8 - Rebuilds dropdowns only when needed.
    v0.1 - Initial creation

Downloads:


Thanks go to

  • The FlashDevelop team for making an awesome product and being very helpful in the forums
  • Canab the maker of the QuickNavigate plugin of which I borrowed a little more than inspiration
  • Everyone who has submitted a bug report or suggestion
  • Everyone who has submitted new features (PapaDSquat)

My other FlashDevelop work



Last edited by JoeyRobichaud on Sat May 30, 2015 5:40 pm, edited 36 times in total.



Sat Feb 04, 2012 8:20 am
Profile WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 12172
Location: London
Reply with quote
Haha awesome :D

And it just works in haxe too.

However had a quick peek at the code and the update mechanism is a bit brutal:
- UpdateUI happens *a lot*, use this event to reset a timer to update less often,
- maipulating the combos make them flicker, check if the combo content actually changed.

And check that ASContext.Context.CurrentModel isn't null, you might be surprised.

Aside from that it's a perfectly valid plugin, you might want to not add the bar when the file isn't a class.


Sat Feb 04, 2012 10:28 am
Profile WWW
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
I changed it to only rebuild the dropdowns when there is a code change and after the model has rebuilt. So, it is performing much better.

Can you elaborate on how to check whether it is code file or not? I am still new to the codebase.

Thanks!


Sat Feb 04, 2012 4:15 pm
Profile WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 12172
Location: London
Reply with quote
If (Context.CurrentModel == FileModel.Ignore) then it's not a file supported by code completion.

PS: we don't see the screenshot.


Sat Feb 04, 2012 5:08 pm
Profile WWW
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
Thanks for help!

The navigation bar now removes itself from non-code documents. For that and the better performance, I am going to call it 1.0. :)


Sat Feb 04, 2012 7:42 pm
Profile WWW
Member

Joined: Thu Feb 09, 2006 10:58 am
Posts: 1095
Location: Israel
Reply with quote
OH this is an excellent plugin! It just reflects what happens in Outline panel, in a "VS" style view.

I have two suggestions:
- Please make a shortcut for each combo (I don't mind if you leave them empty, but let me change them in the shortcut panel)
- Please make the Classes combo to show all the related classes of the class. This means: All the inheritance hierarchy (extend until object) and all classes listed in the import.

Thanks :)

_________________
MovieClipCommander


Sat Feb 04, 2012 8:40 pm
Profile
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
@IAP

Glad you find it useful. =) Just for you, I added shortcuts, inherited classes, and inherited members.

Enjoy!


Sun Feb 05, 2012 6:25 am
Profile WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 12172
Location: London
Reply with quote
Super classes are interesting but inherited members add a lot of noise, not a great idea.


Sun Feb 05, 2012 9:37 am
Profile WWW
Member

Joined: Sat Nov 15, 2008 4:00 am
Posts: 171
Reply with quote
Thanks for this little addition. :)

Philippe wrote:
Super classes are interesting but inherited members add a lot of noise, not a great idea.

+1 for that opinion.

Option for this would be cool or button to toggle inherited props and members or shortcuts ...


Sun Feb 05, 2012 2:35 pm
Profile
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
@Philippe & @Kulkoff

You can now control showing inherited classes and inherited members independently.

Thanks for the suggestion.


Sun Feb 05, 2012 3:12 pm
Profile WWW
Member

Joined: Thu Feb 09, 2006 10:58 am
Posts: 1095
Location: Israel
Reply with quote
Hi, I found a bug in the settings dialog. Doesn't let me change the property.
Error:
"Object reference not set to an instance of an object."

But the hotkey works great (I set it to ctrl+g :) )

Other then this, could you please list implement a list of all the classes imported?

_________________
MovieClipCommander


Sun Feb 05, 2012 9:13 pm
Profile
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
@IAP

I've been unable to reproduce the settings error that you found (I even installed fresh). Perhaps you could try deleting the Settings.fdb file from %USERPROFILE%\AppData\Local\FlashDevelop\Data\NavigationBar.

I could add an optional third dropdown of imported classes. However, That list may be long and hard to navigate (especially when using import package.*). I think before I add any new features I need to make sure it is running stable.

One plugin that I really like for navigating to imported classes and methods is the ctrl+click functionality provided by the QuickNavigationPlugin (viewtopic.php?f=4&t=5961).


Sun Feb 05, 2012 9:57 pm
Profile WWW
Member

Joined: Thu Feb 09, 2006 10:58 am
Posts: 1095
Location: Israel
Reply with quote
Yes, that plugin is one of the best :D

Well, restarting FlashDevelop solved this problem.

Another problem (but I'm not sure if this is intended) : When first opening a class, the members list is still empty, I need to actually move the cursor into the class to see the list of members.
I think that this behavior is needed when there is more then one class in a file, but with one class it's not.

_________________
MovieClipCommander


Sun Feb 05, 2012 10:47 pm
Profile
Member

Joined: Thu Feb 02, 2012 5:59 pm
Posts: 78
Location: Alabama
Reply with quote
@IAP

Glad it is working and thanks for your suggestions. =)


Sun Feb 05, 2012 11:52 pm
Profile WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 12172
Location: London
Reply with quote
One little issue still:
if you open a combo to see its list, then close the list without selecting anything it will still navigate as if you selected the item.


Mon Feb 06, 2012 9:39 am
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 62 posts ]  Go to page 1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.