Bonesnap wrote:

Makes me wonder what happens if the power goes out or if there's a system crash (or if the application crashes). Closing the file tab doesn't save the changes, and when you reopen the file, it will still have the asterisk. Pressing ctrl+s will manually save the file, removing the asterisk.

You might want to ask your coworker who's using Sublime Text, because if I recall it's behaviour, you're describing the same thing that it does (and, If I recall rightly, it's the conventional behaviour for Mac apps in general; relevant because ST is a descendant of one.)

    Basically what's happening, if PHPStorm keeps a changes history. If you right click a file in the project and choose show history under local history, you can see all the changes that have been made and revert any of them individually. So if the system crashes at most you would lose maybe a minute or two of changes.

      On the topic of opening files: Have you discovered cmd-click / ctrl-click on usages of classes and functions? It will take you to the definition. E.g.

      $foo = Foo::factoryBar();
      

      cmd-click / ctrl-click factoryBar would take you to the definition of Foo::factoryBar - it opens the file and scrolls factoryBar into view.

        johanafm;11046881 wrote:

        On the topic of opening files: Have you discovered cmd-click / ctrl-click on usages of classes and functions? It will take you to the definition. E.g.

        $foo = Foo::factoryBar();
        

        cmd-click / ctrl-click factoryBar would take you to the definition of Foo::factoryBar - it opens the file and scrolls factoryBar into view.

        You can also hit control b while your cursor is at a function/method/variable name.

          So it seems if you're switching between file types, the file watcher will stop compiling as well until you actually save. I noticed it when I went from my .less files to my main .js file (I have file watchers on both). Maybe it's just a coincidence but when my went back to my .less file and my menu wasn't updating I was wondering why :p. Other file types (.php) still update "manually".

          Weedpacket;11046861 wrote:

          You might want to ask your coworker who's using Sublime Text, because if I recall it's behaviour, you're describing the same thing that it does (and, If I recall rightly, it's the conventional behaviour for Mac apps in general; relevant because ST is a descendant of one.)

          He does have a Mac, but I am pretty sure he uses Coda on it, though he discovered there's a version of PhpStorm for Mac so he's going to look into that. He seemed off put by the autosave, so maybe the behaviour in Sublime Text 2 is different? He's been using Brackets lately, so maybe he just forgot.

          johanafm;11046881 wrote:

          On the topic of opening files: Have you discovered cmd-click / ctrl-click on usages of classes and functions? It will take you to the definition. E.g.

          $foo = Foo::factoryBar();
          

          cmd-click / ctrl-click factoryBar would take you to the definition of Foo::factoryBar - it opens the file and scrolls factoryBar into view.

          Komodo did this as well, though it was much slower and buggier.

            Bonesnap;11046711 wrote:

            But then they released version 8.5, and everything went to hell. I noticed code intelligence was very sluggish, slow, or simply didn't work. I would start typing, expecting some autocomplete for a variable or function and would get nothing. Or it would come up, but would take several seconds. Well obviously I could have just continued to type the function if I knew it was going to take 3 or 4 seconds for the list to appear. What's ironic is in the release notes for 8.5, ActiveState (the company that makes Komodo Edit) says they modified the code intelligence and autocomplete to be in its own process to improve performance. But the opposite happened! Native PHP functions and classes seemed to be okay, though.

            Maybe you should call up the Komodo team and tell them to quite hiring developers away from NetBeans :evilgrin: :evilgrin: :evilgrin:

            public function duck_and_run() {
            
               $this-height--;
            
               foreach ($range(1,1000) as $null) {
                  $this->distance++;
               }
               exit; //bye now!
            }
              5 months later

              I have a PHP Storm question..
              I've been trying it out and one thing I don't like is it marks variables and function names, which aren't real words as a "typo" - so that's everything.
              What do you all do? Add each one as a dictionary entry ?
              Seems odd that you can't set it to "ignore spelling on PHP variables" .

                You most certainly can disable spell check. Go to settings -> editor -> inspections -> spelling, uncheck the things you don't want it to check (literals, code, comments)

                However, I never have this problem, all my variables are words....

                  By default its spell-checker understands camelCase and snake_case, so if your variables are composed of actual words $suchAsThis, it will be fine (and you'll be encouraged to use meaningful and readable variable names 😉 ). As far as turning it off (e.g. have to deal with legacy code?), this looks like your best bet (I've not tried it): http://stackoverflow.com/questions/14983942/how-to-disable-spell-checking-for-all-my-projects . Looks like you can turn it on/off globally or by project.

                  PS: A halfway measure might be to change the indication of misspellings to something less noticeable, so you can ignore it when you don't care.

                    Ah ok.. thanks
                    I use snake case and the vars are based on real words but, for instance, I almost always add short prefixes on SQL columns to indicate what table they are in.
                    Seemed like a good idea way back when!

                      cretaceous;11050527 wrote:

                      Ah ok.. thanks
                      I use snake case and the vars are based on real words but, for instance, I almost always add short prefixes on SQL columns to indicate what table they are in.
                      Seemed like a good idea way back when!

                      Maybe add those prefixes to the dictionary?

                        PSA to anyone considering purchasing a PhpStorm licence:

                        As on November 2, 2015, JetBrains (the company who makes PhpStorm) will no longer be offering perpetual licences and will be moving over to a subscription-based licencing scheme. Link to the announcement.

                        A quick perusal of the comments shows that the reaction to this news has been overwhelmingly negative. Like, I don't remember seeing such a negative reaction to something like this since the release fiasco of Diablo III or the new SimCity. Most people are pissed. I can't say I blame them. I guess I am one of the "lucky" ones since I own a perpetual licence, but anyone who wants to start using the software (legally) after November 2, 2015 will be locked in to their subscription. If you are unable to connect to the Internet after 30 days to verify your subscription the application will shut down.

                        What are your guys' thoughts on this? I assume those here who already use it have a perpetual licence so you're okay like me because we can always fall back to it.

                          A negative reaction is only natural: these developer tools are more product than service, therefore people expect to pay for a product that they can use until the changing software ecosystem makes the tool unusable (whether because of complementary software upgrades, or simply because newer tools are too superior to ignore). The services provided are the product upgrades and customer support, hence a licensing model that charges for access to upgrades and premium support sounds more reasonable than monthly subscription with no product at all if one does not renew subscription.

                            Exactly. What you wrote was basically what others have been saying in the comments. Developers are expecting a product, not a service. I am wondering if a decent compromise would be to offer the option of the perpetual licence for individuals but organizations would be required to go with the subscription.

                            As one person stated it seemed like they had the best model already: pay a larger upfront cost to obtain the software and some included upgrades, then pay a reduced amount as long as support and updates are desired. If support or updates are not desired then you can continue to use the software at the version your licence expired. Seems like everyone except for JetBrains likes that model.

                            It's comforting to know I have a perpetual licence but makes it really hard to keep advocating the software to others. Pretty disappointed.

                              Oh.. a shame.. it makes sense for a company's cash flow, but if sales drop off, it's self defeating.
                              I thought Adobe had found the subscription thing a struggle, but they can't back down on it - and they own the market in several sectors, while JetBrains have lots of competition.

                              The problem is for casual users.. I use Photoshop a few hours each month at most, so can't justify upgrading to a subscription version - my antique does all I need - but there will come a time when it won't install on the next computer.. so then I guess I will learn Gimp. Maybe JetBrains don't think that scenario will affect them, as the price is lower.

                                JetBrains.com wrote:

                                $ 49 /year for existing users**

                                That is the same as I already pay every year to renew my perpetual license... I don't see the difference or why it matters 😛

                                  Derokorian;11050601 wrote:

                                  That is the same as I already pay every year to renew my perpetual license... I don't see the difference or why it matters 😛

                                  It matters for two reasons:

                                  1) While I think this his been debunked, it's rather ambiguous if your perpetual licence is actually perpetual once you "switch" to the new licencing scheme. From the "Full details" link at the bottom of the pricing page:

                                  JetBrains wrote:

                                  1. The offer is available to customers with or without upgrade subscriptions regardless of the subscription status, provided a customer switches their existing licenses to the new model before January 1, 2017

                                  JetBrains wrote:

                                  2. The offer only applies to switching existing licenses to the new model. Purchases for additional users will fall under the standard pricing

                                  I don't know about you, but when I read the word "switch" in this type of context it sounds like "change". Also, to be fair, there is this under their FAQ:

                                  JetBrains wrote:

                                  No. Any licenses purchased before November 2, 2015, remain valid and will continue working indefinitely according to the corresponding license terms.

                                  Again, I think this has been debunked but I am not 100% sure. In any case it's confusing, which is ironic because this new model was supposed to be easy to understand, though I am not sure what's easier to understand than "make one payment and you can use the software forever".

                                  2) If your payments lapse for any reason you lose your discount and it goes back up to $79, and that is a promotional offer which ends January 31, 2016 (only a few months away), otherwise it goes back up to $99.

                                  JetBrains wrote:

                                  3. Once the offer is used, the special price is available indefinitely until payments are canceled or paused.

                                  So just make sure you don't stop giving them money, otherwise you might have to give them more money in the future.

                                  However, undoubtedly due to the overwhelming amount of backlash they have received, they are "listening". Sounds like they are going to revise it and let us know what that is sometime next week. Stay tuned!

                                  EDIT: And really, 3) you shouldn't have to rent desktop software, especially software that was perfectly fine on perpetual licences a few days ago. Most people are not upset about the cost (except WebStorm users - that doubled I think); it's the lack of ownership and control.

                                    Bonesnap wrote:

                                    I don't know about you, but when I read the word "switch" in this type of context it sounds like "change"

                                    Well, if you're not changing then you're not going to be purchasing a new license, in which case there wouldn't be anything for the offered discount to apply to.

                                      Weedpacket;11050625 wrote:

                                      Well, if you're not changing then you're not going to be purchasing a new license, in which case there wouldn't be anything for the offered discount to apply to.

                                      True, you could just not do anything and stick with what you have, but at some point your hand might be forced because newer versions will contain bug fixes and feature updates - some that you may require. You can either bite the bullet and switch over, or find alternative software. Chances are I'll probably be okay for a long, long time, but it's still annoying (it's also a crap move to your loyal fan base). I personally like to keep up with the latest versions of software, but not at the cost of ownership.

                                      According to their blog, 9.5 will be released by the end of this year. I am sure they will release 10 by the time my upgrade subscription expires, but then I don't get anymore updates, including bug fixes. Kinda annoying, don't you think?