Various issues found during evaluation of PHPStorm
Before posting about the issues, I will say that I generally like PHPStorm and am delighted by many of its features.
The following is a list of issues that I have discovered, in more or less the order which I found them. Some a really minor; others practically show stoppers. Some might be caused by my lack of familiarity with the product. Some have even been opening the your bug tracker. But I am submitting them now in the hope that they will help the developers.
1. Help System is hard to use. The topics are not arranged in nice logical fashion. They are jumbled together. Might be nice to read as a book, but terrible for looking things up. Using Search function gives 100's of unrelated items. You must have taken inspiration from the search tool in the Microsoft Knowledge Base. I normally flounder about, finding items which are vaguely related to what I am looking for.
Some examples of things I wanted to get help on that did not succeed:
- diff tool: says "this tool is displayed every time you …" But I still have no idea how to invoke it. I don't know what it means to do any of those things
2. Many built-in features remain unusable to me.
- SVN kind of works, but trying to use merge is a complete fiacso, giving me various inscrutable errors. TSVN "just works". Or trying to commit results in "no differences."
- built-in diff tool: see above
3. in db result pane, cannot easily view wide column contents. Workaround: copy to clipboard; paste into textedit
4. When debug session starts have to manually click to Debugger window. It defaults to Console.
5. Many keystroke assignments do not work. I have my Mac set to use standard function keys. But F9 for example does not resume the program. Instead it does mission control stuff. Sometimes adding Opt makes it work; other times not.
6. Preferences: Project Settings and IDE Settings: while this makes sense to a certain degree, for me it is a mystery where to find anytning. In my mind, to use this taxonomy, you have to first decide "project" or "ide". But there is no way to make that decison. I don't know which it is. So I just flounder through both. And know from experience that this will not improve over time. Therefore having to first decide "project" or "ide" is futile. So I just flounder.
7. After a find operation, when clicking on a found location, the window is often not position accurately, but rather a bit away from the location. Sometimes clicking a second time then positions it exactly as it should have the first time.
8. Trying to set up a bookmarklet to start debug fails. The code generates the following:
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';document.location.reload();document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()
9. In debugger, when looking at variable values, if it is a long value there is a "click to view entire value". But that overlaps the Watches window, and when you try to point at it, that part gets hidden by the Watches window. You have to make the Watches window narrow to enable clicking on that link.
10. After debugging, it is very difficult to get the debugging stopped. What I generally do is turn off "listening" and click on the red stop block until it is no longer red. Sometimes quitting the browser helps. Sometimes not. Any time I go to the development site, it starts up the debugger again.
11. When searching, it continually defaults to "Directory". I would like it to default to "last used", or at minimum to "whole project".
12. Certain files, perhaps with certain heredocs (but only send-mail-inc.php so far) behave erratically. A ticket has been opened for this.
13. Certain keystroke sequences do not work:
- ctrl-arrow to move to different tab
14. regex replacement strings \$ for literal dollar sign does not work; must use \\$. In the past various tools I have used work with either $ or \$ in the replacement string. Not sure why \\$ is felt to be the way to handle this.
15. Documentation often out-of-date. For example, http://www.jetbrains.com/phpstorm/webhelp/project-and-ide-settings.html gives .WebIdeXX (note leading period) as the location of caches, etc. On my system, the leading period was missing and the directory was WebIde50.
Please sign in to leave a comment.
Hello, Jeff.
Thank you for the feedback!
It's a bit hard to understand all mentioned issues because of incomplete description. Don't you mind to continue discussions for some issues in our tracker (in a separate ticket per every problem)?
1. I agree and created a ticket in our tracker: http://youtrack.jetbrains.com/issue/WI-16515. Please, vote for this issue.
As for the problems with diff tool, what is your workflow, the difference between files under version control or the difference between local and remote files?
2, 3, 7, 8. Could you please file a new issue per every problem?
Use the following form, please:
4. Please, right-click on the Console tab and uncheck "Focus on startup". See the ticket: http://youtrack.jetbrains.com/issue/WI-7657
5 & 13. What is the build version of PhpStorm you're using? Would you please try the latest EAP build and "Mac OS X 10.5+" keymap (Settings | Keymap)?
6. It's much more convenient to use the search field in the Settings. As you can see the IDE is very customizable. So the search in Settings is the best way to find preferred settings quickly.
9. Do you mean this: http://youtrack.jetbrains.com/issue/WI-14452 ?
10. http://youtrack.jetbrains.com/issue/WI-8002 ?
11. Could you please file a new issue?
PhpStorm 5.0.4 and EAP # 126.92 defaults me to the whole project.
14. This is: http://youtrack.jetbrains.com/issue/IDEA-83769. Feel free to vote for the ticket.
15. Please, vote for the issue: http://youtrack.jetbrains.com/issue/WI-16514
10. Rather http://youtrack.jetbrains.com/issue/WI-10447 ; http://youtrack.jetbrains.com/issue/WI-3815 , since it is web debug, not CLI mode.
Debug cookies are still there -- you have to use "Stop Debugging" bookmarklet to properly stop it .. or remove xdebug cookie manually (e.g. using FireBug in Firefox or similar tool in your browser).
5 & 13. In v6 "Mac OS X 10.5 +" will be default one (for new installations): http://youtrack.jetbrains.com/issue/WI-13522
9. Possibly this one: http://youtrack.jetbrains.com/issue/WI-6423
11. http://youtrack.jetbrains.com/issue/IDEA-87037 ? There are more that this ticket for sure (I do remember at least one), but they were closed as "works as expected" or something (don't remember). As far as I remember the logic was -- IDE decides what option/scope to choose based on your actions that you have made on previous search results. Could be completely wrong, though.
Andriy, thanks!
Yep, the logical is the behaviour you described, but for me the "Whole project" is default for now (since PhpStorm 5.0.4), while the "Find in Path" window remembers my last choice if it was "Scope" and doesn't remember if it was "Directory".
I asked Andrey in the tracker to clear the situation about this request.
I have not had a chance to respond to all your feedback, although I appreciate it that you have taken my issues point by point. This week I am covering for our Sales Manager who is on vacation, and also trying to keep up with my work as best I can.
In any case, I did try the latest EAP version, but had to stop using it. I have been putting PS into 32-bit mode to conserve memory, as I am working with an old, memory challenged machine until my new Mac arrives. And for some reason when I try to put the EAP-126.92 version into 32-bit, it still only runs in 64 bit mode, as seen in Activity Monitor.
I will definitely be following up on all the points both Andriy and Maxim have made.
Maxim,
Thanks for taking the time to get back to me with your detailed response. I will try to address all your questions.
1.I voted for the issue. Regarding the example about the diff tool: while it is nice to have the diff displayed during certain operations, in my workflow it is sometimes important to just compare the current working copy with another branch. So I would expect there would be a menu item somewhere called "Diff Tool" or the like, in which I can load arbitrary files or folders for comparison. Previously I have used UltraCompare in Windows for this. Now I am trying out FileMerge on the Mac, and it is not bad.
2. I have already had some response on this from Irina via ticket http://devnet.jetbrains.com/message/5477808#5477808 in which issue http://youtrack.jetbrains.com/issue/IDEA-100296 is referenced. So I think it best to post more into to that existing ticket. This issue covers the one about the merge problems with error messages and file conflicts.
I have opened another one for the "no changes found" issue. WI-16595When trying to commit, get "no changes found."
3. Opened issue WI-16596 When viewing database results, difficult to view wide columns
4. Opened issue WI-16597 Every time debugger starts, the debug window display Console Panel instead of Debug.
5. Build PS# 121.390. I tried EAP version 126.92. In fact F9 did work as expected (resume program) with the KeyMap that was already in place. In the main version I am using, F9 during debugging gets intercepted by the Mac for Mission Control. However, for real work I am not adopting that EAP version because it only runs in 64-bit, whereas I need to force PS into 32-bit (for now) due to memory consumption.
6. I suppose it is legitimate to write off this complaint about the complexity of the settings panels to not being far enough down the learning curve. But since I have been logging all my impressions, I just recorded it.
7. Before opening and issue for the oddity with the screen position on Find, I think I would like to get more experience to make sure I can reproduce the issue.
8. Opened issue WI-16598 Trying to set up a bookmarklet to start debug fails.
9. No, I do not mean http://youtrack.jetbrains.com/issue/WI-14452. But this issue in fact is very similar to the one already report in #3. It is another "wide column that overflows and the full data cannot be seen" issue. So I think maybe best not to open up another issue. Instead I will comment on WI-16596 that this might be another variation of the same occurrence.
10. Difficulty to stop debugging might be same as in WI-8002. So I will add a comment to that issue.
11. Opened issue WI-16599 Search context default.
12. Ticket previously opened WI-16469 Cannot edit a file - text jumps all over the screen.
13. Ctrl-arrow does not move to different tab, even in 126.92. Maybe I am misunderstanding. I thought it was to move between editor window tabs.
14. Regex double escape. Added a comment and voted.
15. http://youtrack.jetbrains.com/issue/WI-16514 is now given as "resolved" and voting not allowed. I strongly suspect this issue wa opened by Maxim as a result of my input from a few days ago, as it looks word-for-word like what I submitted.
Andriy,
Thanks for your response. I hope my detailed response to Maxim just posted covers these now.
Some very cursory checking on 126.92 gave the following results:
1. Place cursor in Editor window.
2. Ctrl-Shift-F to Find in Path.
3. Dialog opens with default set at Whole Project.
4. Close dialog.
5. Position cursor on something in Structure Pane
6. Ctrl-Shift-F to Find in Path.
7. Dialog opens with default set at Directory
Continue doing this with placement of the cursor somewhere in the application. Where the cursor is controls what the default will be. While this might make sense at some level, in actual practice it is confusing, and makes it appear that the default flips around somewhat randomly.
That is, with the curson in the project pane or the structure pane, the default is Directory. Cursor in edit pane, default is Whole Project. Cursor in Find results pane, default is Directory.
Hi Jeff,
4. You were given the answer in original response -- such setting already present.
5. If it is about wrong keymap then it does not depend on PhpStorm version -- just choose another keymap at "Settings | Keymap" or setup your own keys (the same settings page). If it is about "OS intercepting certain keys" -- well, you will have to use another key either in PhpStorm or Mac OS (same applies to Linux and even Windows, when some program that uses global hot keys can intercept them before they reach actual program -- that's the idea of "global hot keys").
8. I've commented there: http://youtrack.jetbrains.com/issue/WI-16598
11. Extremely likely this new ticket will be marked as duplicate of existing http://youtrack.jetbrains.com/issue/IDEA-87037
13. So what it does instead?
15. I strongly believe the same. Changes should be visible when v6 will be released (but hopefully they can publish it early as it applies to v5 as well).
Andriy,
#4 - nice to have that feature. When I looked at the ticket, I did not read in detail so missed the fact that the function I was asking about already exists.
#5 - In fact the EAP build does not have the problem of the OS intercepting the keys. Not sure how you have done this, but I think it works for me.
#8 - saw your comment about having listening enabled. I had listening enabled. It just does not work for me. This includes on the EAP version. I am wondering if I am missing something. I have simply put the bookmarklet code into a Chrome bookmark. Is there more to it?
#11 agreed on the duplication with WI-16598. I added my comment to that ticket.
#13 Ctrl-arrow and Cmd-arrow in attempting to move between editor tabs. "Nothing" appears to happen.
#15 thanks for your input/agreement!
13. Try Cmd+Shift+] / Cmd+Shift+[
I tried, but all that happened was sections of the code were selected or the selection extended.
Not a big deal, as it is a marginally useful feature. Yet I was simply trying to read the manual, and try things.
Well .. that shortcut was mentioned in this recent blog post, so I assume it should work: http://blog.jetbrains.com/webide/2013/02/navigating-between-files-in-the-ide-best-practices/
Except that it does not work. What it does is highlight some kind of block. See screen shot.
Attachment(s):
Screen Shot 2013-02-14 at 10.48.53 AM.png
Yes, that's what it does on Linux/Windows.
Have a look at this comment -- maybe you have different keymap selected? -- http://blog.jetbrains.com/webide/2013/02/navigating-between-files-in-the-ide-best-practices/#comment-29162
I have no Mac to check this out -- maybe you have to disable those shortcuts in your OS for them to work in PhpStorm -- don't know. I think -- I do not see any major complains about this combination not working from other people, so it is either specific to your setup .. or other people just reconfigure OS (or IDE) to use different shortcuts.
Here is a follow up on #7 from my original post, with a screen shot. The issue was given as follows:
7. After a find operation, when clicking on a found location, the window is often not position accurately, but rather a bit away from the location. Sometimes clicking a second time then positions it exactly as it should have the first time.
I have uploaded a screen shot which shows the display immediately after clicking in the Find pane on line under index.php, line 158. As you can see in the screen shot, line 158 is not displayed. Prior to my click on line 158, I had clicked on line 89, which was properly positioned. The expectation was that after then clicking on line 158, that that line should be centered in the editor pane.
Clicking on line 158 in the "find" pane a second time does properly position it centered in the editor pane, as shown in the second screen shot.
While this is a minor annoyance, I have found it to occur quite often.
Attachment(s):
After second click, line 158 properly positioned in the viewport.png
After first click, line 158 not visible in the viewport of the editor pane.png
Possibly because of soft wraps. Try turning them off and check if this will help.
The selected keymap is OS X Copy. I might have tried to add a keystroke, so I guess that's why it made a copy.
I thought I might have added a keystroke for Subversion Commit. But I cannot find where the keystoke is added. When I look in the list, the Subversion Commit command is no longer listed anywhere that I can find, so I can't tell if it has been assigned. I thought it was in the list after some help from you team on the same subject.
Then I decided perhaps "Check In" means "Commit". So I assigned a keystroke, and apparently that is the meaning.
In any case, that keystroke for switch editor tabs on my system does some kind of extended selection of text. I previously sent in a screen shot.
Correct -- you cannot make changes to bundled keymap -- IDE will make a copy which you can edit.
I think this is the problem. For modern Mac OS you should be using "Mac OS X 10.5 +" keymap instead.
Use search functionality (on that search page on the right) -- you can search by assigned keystroke as well
I switched to Mac OX X 10.5+ and the Cmd-Shft-] now works as expected. When I installed PHPStorm there was nothing that told me "make sure to switch from the default keymap" so I was not aware of the need to change it. Perhaps it should default to the newer keymap, as 10.5 is really old now.
I did later find the Commit keystroke, as I pointed out elsewhere. But not by searching on "Commit". Because it is called "Check In". I simply assigned something to that and sure enough, Commit (aka Check-In in non-svn contexts) worked.
I might add at this point that I have gone ahead and bought a license for PHPStorm. Until now been in evaluation mode. Am now committed myself.
It is already "fixed" for v6 -- see my first comment:
And where do I find that setting? Is that the same as "Wrap when typing reaches right margin?" That is already turned off in the Project > Code Style > General section.
By the way, any time anyone suggests "change setting X", it would be _vastly_ superior to rather say, "change setting Code Style > PHP > Wrapping and Braces > Soft Wraps". Of course the leaf of that branch is non-existent. My point is that it would help to give the breadcrumbs for those of us who have not memorized the settings layout yet.
Sure. Let me introduce to Help | Find Action -- it can find any action or settings from one place and allows you to use it directly from there or will take you to the correct settings page.
Since you are still new to PhpStorm and still learning it .. I would suggest checking the blog -- it has quite a few articles dedicated to a specific subject. Many people that use this IDE for a long time very often find feature or two that they were unaware of .. or simply did not used at all.
Since it is a blog, such articles mixed with other news/posts (like EAP build announcements etc), so it will take a bit of time to go trough to find interesting for you article. They are working on a proper tutorials/how-tos page, so hopefully this situation will change soon.
Thanks for your response.
"Help | Find Action" could be useful, but only if you know the name of what you are looking for. Which is sometimes the case, but more often not.
Also, the blog reference will no doubt be very helpful!
Today the problem recurred; I turned off soft wraps, and the problem did not occur. So it is definitely an issue with soft wraps.
I had also opened another issue specifically on this problem. I added a similar comment there.