I have been using Komodo Edit since version 6. I'm a big fan. It's very feature rich which is what attracted me to it in the first place. It also had the ability to easily customize the fonts and colours as well as the overall theme. Snippets, macros, code intelligence/autocomplete, etc. were just some of the flavours of icing on a very delicious cake.

However, over the last little while I've noticed it has steadily gone downhill in the performance department, most notably in the code intelligence and "fast" open areas.

Up until version 8.0.2 the code intelligence component was amazing; it worked flawlessly and was able to pick up any user-defined code without a problem. As many might notice, I work in WordPress a lot, so there is a lot of custom defined functions, classes, and constants, not to mention my own coding on top of that. Simply put, my projects have a lot of custom-defined code for the code intelligence to pick up on. But as I mentioned before, this was no problem.

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.

If I had a small project with my own code (no WordPress or any other CMS or framework) then the code intelligence and autocomplete would work as expected: it would be fast, responsive, and would work 98% of the time (sometimes you would type too fast and wouldn't trigger the autocomplete - pretty annoying as well).

It wasn't just my computer either; several coworkers also had issues with the code intelligence/autocomplete. Even after complete reinstalls of Windows the same issues would come back - and from my searches online and reading their issue tracker/forums, I'm not alone. Meanwhile at home I am still running 8.0.2 and my code intelligence/autocomplete works great. The 8.5.x branch goes up until 8.5.4 (I think there's an 8.5.5 but it was never officially released). The problems persisted with any release on the 8.5.x branch.

A coworker got so annoyed with it he switched to Sublime Text 2. Sublime Text 2, admittedly, is much sleeker and honestly just runs better overall. It's not as feature rich and doesn't have native code intelligence/autocomplete (you can install a package that will facilitate most of it, though). Its fast open was very fast, and had a command palette that allows you to execute commands, find files, etc. Pretty cool.

At that point I discovered there's a "fast open" for Komodo. I tweaked it a bit but noticed that it's simply not that fast. Sometimes it would literally take 5 or 6 seconds for the list to populate. Not much of a fast open, and not much of an incentive for me to stick with the keyboard instead of using the mouse and opening the file via the places pane. Again, if I had my own project (without WordPress) it would find files very fast - as expected. So okay, if you have a project with hundreds of files (I excluded many, many file types) it could get slow... but WordPress is hardly the only CMS or framework out there with many files, and to be blunt, WordPress is insanely popular so I don't see it as an outlier in this case.

Komodo Edit 9 was released a couple weeks ago. I have been using the nightlies for a couple weeks before its release in great anticipation that some of these issues were taken care of. In fact, from browsing the Komodo forum, it seemed like a large consensus was to polish the application instead of introducing new features. Apparently there was some performance enhancements but I honestly don't see them. Code intelligence and autocomplete still have their issues as before. Fast open is still slow. The application has many bugs. It's just sluggish. Bloated. Unresponsive. Maybe it's because I am running Edit instead of IDE (the paid version), but from what I have read in the past it's not that. And even if it is, they're doing themselves a disservice by releasing buggy software intentionally as an incentive to purchase the "full" version.

Lastly, the computers we are running are also not that bad. They have 8GB of RAM, a solid state drive, etc. There shouldn't be a performance issue. Regardless, the specs on the computers at my work far exceed what is recommended by ActiveState.

Then comes PhpStorm. I have known about it for a long time but never really looked into it because Komodo Edit seemed to do everything I was looking for, even if it had its issues. An old coworker has since switched though and really likes it. Well today on my lunch break I decided to give it a test run. So far I am blown away. It is fast, responsive, and overall very impressive. I still have some investigating to do, but so far it has met all my expectations. It even provides the ability to compile LESS files (so maybe I don't have to deal with a third-party compiler running in the background on my machine) and will pick up variables and mixins (something Komodo doesn't do). The fast open is lightning fast. It has snippets. It has even better colour and font customization than Komodo.

I'm not 100% hooked yet. Like I said, I still have some investigation to do, but I think I'll be switching pretty soon.

I know there are a couple Komodo users here. Have you ever considered PhpStorm?

Thanks for reading!

    I've been using PHPStorm for over 2 years now, and absolutely love it. I switched from Komodo, and used to keep komodo for quick edits, but now PHPStorm is the only editor of any type installed (unless you include vim and anything included by default in CentOS 7).

    There is no feature I'm looking for that I can't find. I'd also point out that the entire engineering department (70+ devs) use PHPStorm here.

      Derokorian: have you tried PyCharm, another one of JetBrain's IDE offerings (but for Python and Python frameworks)? From what I understand they have the same core code base spun off from IntelliJ IDEA, and while I was impressed by the features, something just did not sit well with me at the time with the interface. Unfortunately, I could not identify exactly what, i.e., it could have just been due to personal preference arising from past editor usage. Maybe I'll take another look at it, and now PhpStorm too, since some of my current work does involve PHP.

        laserlight I have not looked at PyCharm at all, as I don't do any python work. If you ever have trouble finding a feature in PHPStorm just post here, I'm sure I know where it is heh.

          I'm in the process of learning phpStorm right now, and it's code intelligence certainly seems better than Komodo Edit, at least in my first impressions. If in the end I feel at least as comfortable with it as I did with Komodo, I'll probably stay with it since our team of 4 are probably all going to switch to it (along with the shift to Laravel from our in-house framework, and which phpStorm seems to support very well).

            I'm pretty convinced. I was playing around with the code formatter yesterday and it's amazing. And I have setup LESS and UglifyJS on my system so my LESS and JavaScript files are automatically compiled. I can drop third-party compilers! I also love the in-depth ability to setup the colors - way better than Komodo; I can finally colour the <?php ?> tags again!

            The code intelligence/autocomplete is wondrous. It even picks up classes in my (compiled) CSS file when I add the class attribute to HTML elements. It shows the colour preview in the gutter even for my LESS colour variables.

            The only thing it seems isn't quite as good as Komodo is the fuzzy logic for searching for files using the "fast open" functionality. For example I have a file called header-home.php. In Komodo I could just type "header home" and it would come up in the results, but PhpStorm doesn't list it. I have to type something like "header-h". Far from a deal breaker, but something I have noticed.

            Overall though PhpStorm is far superior. I'm really glad I decided to try it out.

              There are different commands for opening a file. Given the file path "etc/env/local/app_config/env.spotx.daemon.sidxpub.xml" I hit ctrl+n and type local/sidx and then enter to open this file. So you can say its somewhere in a subfolder,. Its also pretty fuzzy in a file name too, given "spotx.spotmarket.sidx.type.market_conf.xml" I hit ctrl+n again and type sidxmarket and get this file to come back. For your file, you should be able to type "headh" to have it come up.

              What key mapping scheme did you use? Maybe you used a different one, there are open options that require typing entire file names.

                I am using the default keymap. I press Shift twice to bring up the "Search Everywhere" box, which to my understanding was a combination of all the other, more specific searches. Ctrl+n searches classes, shift+ctrl+n searches files. If I do shift+ctrl+n and type "header home" it does come up. I can also type "headh" and it comes up too. I guess the search everywhere box searches everything, but uses a more strict criteria for retrieving its results, probably to maintain performance. I wonder if there's a way to change that. I'm curious if it would hit performance a lot or if it would be barely noticeable (if it affects performance at all).

                  This I cannot answer for you, you are using a different keymapping! (and no, there is no default, when you first open it after installing you pick a keymap scheme, which are based off of other IDEs, komodo not being an option). I never use search everywhere, as I generally don't want to search methods, classes, variables, and files all at once... I generally know what I"m looking for and use the tool specific to that.

                    I mean the default keymap based on the option that's preselected from their list :p Pretty sure it was IntelliJ IDEA, which is JetBrains' Java IDE.

                    I can only remember a couple other options, which were Visual Studio, Emacs, and I think Netbeans. I don't use any of those applications so I just stuck with their first choice.

                      I know what the answer is going to be, but I feel I need to ask anyway:

                      Do you know of a way to disable the autosave in PhpStorm? It makes me very uncomfortable and honestly what the hell? They can't include this as an option in their myriad of options? They have over 9000 options but don't include that as one? I searched online. There are some "mitigating" settings you can change, but it doesn't disable the autosave. I have never heard this in an IDE or text editor ever. At least not as a default, unchangeable setting. Like I get that some people may like it, which is why it should be included as an option, but I think most people are going to find it weird and unintuitive.

                      Anyway, just wondering if you had any insight on it. Maybe a plugin you know about that disables it, etc.

                      EDIT: Why did they even bother including a save button in the toolbar? 😕

                        Isn't that configurable here: [ATTACH]5193[/ATTACH] ?

                        Note: I'm using a "nightly build" version while waiting for the boss to actually buy some licenses, so maybe it's a new feature?

                        autosave.png

                          Those are the same options I have, but they don't actually disable the autosave - only configure how it works. I found this "guide", but when I tried making a change to a file, then immediately exiting the application, they changes were there (I opened the file in Komodo and Windows updated the modified date/time), so they obviously don't work. I have enabled the setting to mark a tab if I made a change (I would think this would be default - what if you accidentally typed something?), but that doesn't really solve anything, and if you close the file and reopen it, it still has the asterisk, kind of defeating its purpose.

                            You most certainly can, I'm using released 8.0.3 and using the search bar at the top, I typed in save and found the options nogdog pointed out. The search feature in settings is amazing and makes it easy to find what you're looking for without expanding all menus.
                            [ATTACH]5195[/ATTACH]

                            I'd also point out, that I don't know of anyone using PHPStorm that has changed this setting 😛

                            save.png

                              I didn't even know about it until I saw it here. Since everything I do is in Git, I guess if/when I saw any file changed during a "git status" that I didn't want changed, I just reverted it via Git without any thought as to why it may have been changed. 🙂

                                So I've done some testing and this is what I have discovered:

                                You can disable the "active" autosave, but when the application or project is closed, the changes are saved automatically. 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.

                                I have all the checkboxes under "Synchronization" unchecked.

                                There are no warnings when you try to close a tab, the project, or the application. You can set the "confirm application exit" option, but that is just in general - has nothing to do with modified files.

                                I'm still going to use PhpStorm over Komodo, but I honestly don't like this behaviour, and it baffles me that this isn't an option that users can control.

                                EDIT: It appears these changes do not apply to files that have file watchers assigned to them. I currently have a file watcher for my .less files and one for my .js files, and they are automatically saved and compiled as I type.

                                  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.