NuSphere Forums Forum Index
NuSphere Forums
Reply to topic
Few suggestions (multiinstance, goto symbol, class dropdown)


Joined: 11 May 2008
Posts: 78
Reply with quote
Hi, my post about multirow tabbar was converted to its own topic, so I make this new one.
Apart from multirow tabbar, I have few other suggestions that I believe would be beneficial to many programmers, ordered by importance (for me).

1. Goto symbol/file with dynamic search/find. Much beloved and needed feature from most other IDEs. E.g. I open a tool window or dialog, enter 'mycl' and it dynamically filters project files/classes down to this filter so I could open the file with this (myclass for ex.).
Edit: Actually this is accomplished now with Code Explorer with its search box. With a hotkey I can switch to it, it would be perfect if I could also go right in the search box with a key combination.

2. Multiple program instances. One often works with 2-3 projects in parallel and being able to open them simultaneously in different program instances would be very welcome. E.g. working in one main project but at some time I have to modify something in another, in a hurry. This works for ex. for Visual Studio. Now the workaround is to activate the other project temporarily and mess the already open files with the ones from the other project which is not good.

3. Class dropdown and/or breadcrumb to the current position. Again, found in many IDEs, just like in VS. A dropdown with the current class/members, and some kind of breadcrumb. This is not so important, but was worth to try.

4. Some notion of inheritance for methods. For example some annotation next to each method (in the gutter?) if it is overriden, or it is an implementation of an interface method. And other facilitations for that matter.
View user's profileFind all posts by tedychSend private message
Re: Few suggestions (multiinstance, goto symbol, class dropd


Joined: 18 May 2006
Posts: 61
Reply with quote
tedych wrote:

2. Multiple program instances. One often works with 2-3 projects in parallel and being able to open them simultaneously in different program instances would be very welcome. E.g. working in one main project but at some time I have to modify something in another, in a hurry. This works for ex. for Visual Studio. Now the workaround is to activate the other project temporarily and mess the already open files with the ones from the other project which is not good.


As mentioned in the following topic: http://forum.nusphere.com/is-it-possible-to-open-multiple-windows-application-instan-t6948.html
you may run multiple instances of PHPEd by specifying "--mi" (without quotes) command line parameter.
View user's profileFind all posts by mdegtyarevSend private message


Joined: 11 May 2008
Posts: 78
Reply with quote
Thanks. That's perfect (the multiinsance).
I have the following question though. Are there any implications we have to watch about in this scenario? Can I have my main shortcut with the "--mi" switch and start the program only with it, or is there any difference if I start it without --mi the first time and the the other instances with --mi?
Thanks.

As to #1, even though Code Explorer works around the problem to some extent, it's missing the dynamic filtering feature that shrinks the list of items to only the ones that match the search item with every keystroke.
View user's profileFind all posts by tedychSend private message


Joined: 18 May 2006
Posts: 61
Reply with quote
First instance of PHPEd may be started with or without "--mi" switch.
Second and subsequent instances of PHPEd should be run with "--mi" switch to allow multiple PHPEd instances at same time.
It is safe to add "--mi" to PHPEd shortcut in case you always want be able to run multiple PHPEd instances.
View user's profileFind all posts by mdegtyarevSend private message
Site Admin

Joined: 13 Jul 2003
Posts: 8334
Reply with quote
Perhaps they will interfere in debugging. Don't be surprised if you press RUN with debugger in one instance and another will start stepping.
BTW, why do you need multiple instances at all???

_________________
The PHP IDE team
View user's profileFind all posts by dmitriSend private messageVisit poster's website


Joined: 17 Jan 2011
Posts: 22
Reply with quote
Because we often work with different projects/solutions at the same time.
When I work in Visual Studio I normally have 3 instances. One for current project version, one for old version and one VS-instance for testing and experiments.
View user's profileFind all posts by mikhailtSend private message


Joined: 11 May 2008
Posts: 78
Reply with quote
Yes, it's quite normal these days to face the need to work on more than one project at the same time. There are multiple scenarios. I work on the main project and fix a bug in a module that need to be fixed quickly in 2-3 other projects, without closing the current project and 20 opened files. Another: I work on a project, but a different client calls for a small change in another project. Meanwhile I fix something that I need to fix in a 3rd project. Etc. etc.

I have another suggestion though.
The Go To (line number) feature needs to be fixed. It should remember the last entered number, but currently it is intialized with the current line number when opened (Ctrl+G). This is very stupid as it is highly unlikely that I will want to open the GOTO Line dialog to jump to the same line the cursor is at Smile . It is likely I'd want to jump to the line I had used the last time.

Also, a way to navigate back and forth within the code through the history of cursor positions (non destructively) would be very welcome, as found in other IDEs. The current Browse Back/Forward functionality is awkward and unintuitive.

As to writing in the forum instead of filing a bug (I suspect I will be blamed for that), this seems not to be a bug, moreover the forum is not high on messages-traffic at all, and if one dev takes just a quick look at it once per week, will be enough, instead of relying only on a bug tracking system to make the software better. Isn't that the purpose after all..
View user's profileFind all posts by tedychSend private message


Joined: 11 May 2008
Posts: 78
Reply with quote
Anything in the works about goto symbol at least?
The lack of such a feature is causing a major pain and obstacle for large projects. I have few acquaintances I was recommending phped to over the past years, but since they started to work on large projects, they decided to move away to the (free) competition that has this and other vital features.
Opening the right file/class/function/whatever from the workspace tool window every time is an agony, even its search functionality is not even close because it only searches for the file and scrolls the current position.
I've given up on the multirow tabbar Smile .
The resource-friendliness (though 7.0 is much heavier than 5.x) and the better debugger are not going to be able to tip the balance in favor to phped for long.
Could we expect these in 8.0 which is by all signs expected to be released soon?
View user's profileFind all posts by tedychSend private message
Site Admin

Joined: 13 Jul 2003
Posts: 8334
Reply with quote
tedych wrote:
Yes, it's quite normal these days to face the need to work on more than one project at the same time. There are multiple scenarios. I work on the main project and fix a bug in a module that need to be fixed quickly in 2-3 other projects, without closing the current project and 20 opened files. Another: I work on a project, but a different client calls for a small change in another project. Meanwhile I fix something that I need to fix in a 3rd project. Etc. etc.


V8 (next version) will support Worksets and this is what will help you instantly switch between contexts.
Meanwhile multiple instances, perhaps, the only option.

Regarding goto symbol, do you mean Find Declaration? If so, just right click on symbol you want to go to, and select Find Declaration in the popup.

As of tabs... well, V8 will offer you tab groups. I hope it's something much better than that.

_________________
The PHP IDE team
View user's profileFind all posts by dmitriSend private messageVisit poster's website


Joined: 11 May 2008
Posts: 78
Reply with quote
Hi dmitri, thanks.
Yes, the multiinstances rectifies the "another-client-in-the-middle-of-session" problem.
As to goto symbol, no, I mean when you want to go to a particular symbol (not necessarily present under your cursor, current file or even currently opened files) by knowing its name. It's widespread thingy that dramatically speeds up navigation - you open a little dialog with an input field and results-list below, start typing the class/function/method/constant etc. name, and while typing, the results-list refreshes with every keystroke, and when satisfied with the filter, you can open the file containing the typed/selected symbol. This is a thing that turned most of my acquaintances away to other IDEs. For very large projects this is the only effective way to open files with symbols whose names you know for editing.

Tabs... tab groups is a nice addition, still not any better than being able to see at a glance all your open tabs/files. With tab groups you are not expanding the number of tabs visible at once, unless you make two groups one under another, this gives two rows of tabs, but shrinking both editors to half the height of the screen. What's more, more often than not we work on many files that are not a good subject to being separated logically in two tab groups.
Many IDEs I've been trying support multiple rows tabbar and this by no doubt gives a dramatic improvement in navigation. In my opinion these are the two basic features that are missing from PHPed to call it perfect.
Still, tab groups along with docking are a welcome feature for multimonitor setups.
View user's profileFind all posts by tedychSend private message
Site Admin

Joined: 13 Jul 2003
Posts: 8334
Reply with quote
I think you're wrong here telling that there only two missed features to make PhpED a perfect IDE. We have a very long list of such features and belive me -- the tabs is the least among them.

_________________
The PHP IDE team
View user's profileFind all posts by dmitriSend private messageVisit poster's website


Joined: 11 May 2008
Posts: 78
Reply with quote
Ok, my fault. I might have been a bit more intense in my thoughts when I was writing that post and overstated.
I thought these are just basic things that could prove to be enormous timesavers in everyday activity. The small things can make all the difference.
View user's profileFind all posts by tedychSend private message
Few suggestions (multiinstance, goto symbol, class dropdown)
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
You cannot vote in polls in this forum
All times are GMT - 5 Hours  
Page 1 of 1  

  
  
 Reply to topic