CodeIntel Improvements

I appreciate any efforts with regard to making Komodo IDE Code Intelligence more solid. Could you please share where you might be with regard to improvements and also when you believe the intelligence engine might be more fool-proof. What is happening with 8.5.3 is that my intelligence database seems to be getting corrupt as I copy and paste and refactor my code–it doesn’t happen immediately after deleting my codeintel database in my user folder and after a rebuild. But even simple things like adding a new function or class to a PHP script the engine does not pick it up and I have to double-check my work for typos, etc. Until you get there (rock-solid engine), could you please give us a toolbar icon for forcing a rebuild of the intelligence database. Would be useful to those of us who want a feeling that our database is not chock full of old code definitions we have done away with or changed. Just tonight I got some code completion that applied to a class member under its old name–I had since actually renamed it. If I had not noticed, the code intel would have just helped me type a bug in my code. So…how about a toolbar icon please? and maybe a notice that you detect the need to rebuild, or if you give us the icon, give us a warm fuzzy message that the engine is done parsing before we proceed to work. Thanks much, Komodo is a great tool.

I do have something to share if you are a XAMPP user, or it would apply to other tools for which you use an Apache-related LAMP stack. I saw that the engine was spending lots of time in one of php folders called “pear”. I am not a pear user so I removed the folder from XAMPP. Also the php\tests as well as php\pear. I got rid of the perl folder higher up too. In general move folder resources out that you are not using and refine the folders Komodo looks through in preferences. I have only the languages I like to used checked off. My previous post, however, still applies about the engine failing after working and refactoring code and just a simple function add does not get picked up. I vote for a toolbar icon for rebuilding the code intel database even after you feel you are rock solid engin-wise.

Could you please update to Komodo 8.5.4, there were some known stability issues with codeintel in Komodo 8.5.3.

You can force a codeintel database rebuild by deleting the codeintel folder from your profile directory (not your install directory), however we wont be providing a button to do this right from Komodo as this is just a temporary workaround for a problem which has already been fixed for most/all use-cases.

I moved a post to a new topic: Project using wrong root

I had upgraded to the latest 8.5.4 a week or two ago and I’m witnessing oddities still with the autocomplete. Just in a vary simple use case: when I have two files in the same folder open (in my project hierarchy/project root set as needed), and then refactor a function, change its name, save the file, go to one of the open files and use autocomplete, the old function name persists in the dropdown–the new function name has not been picked up by codeintel. It’s a very dangerous situation for causing programmers to create bugs by choosing a bad autocomplete suggestion. I’m constantly deleting my code intel database to rid myself of corruption and bad codeintel suggestions. I’ve gotten to the point where I checked out Sublime Text and then also PhpStorm yesterday. Sublime Text uses a fork of your codeintel and it is blazing fast. Codeintel is going to kill Komodo and cause loss of market share if you can’t get it fixed and working optimally asap. This is the one feature in an IDE that must work. I like Komodo a lot and I’m honestly looking to stay with it (as are others). We need some darn good incentive asap. If vers 9 is solid and has a re-vamp of codeintel…let me know. Thanks and I do appreciate what your team has accomplished with this tool.

1 Like

@careyh could you try to reproduce the refactoring issue @rneal mentioned and log a bug on it? That does indeed sound pretty bad.

@rneal would you be able to supply a copy of your log when your codeintel db becomes corrupt? That’s Help > Troubleshooting > View Log File. Thanks, we appreciate your patience and dedication, sorry for the inconvenience :frowning:

I’m not really clear on how I’m to repro the issue but so far I cannot.

I still have the Pear folder in my XAMPP install. I create a random file and start adding functions to it and the code intel database is updated within a second (less?). I tried refactoring my code as well and the code intel update occurs just as fast as if I had manually added a function.

I tried this in in Komodo 8.5.4 and the dev build for Komodo 9.

@rneal , It sounds like you’re on a team of developers that are using Komodo. Are every single one of you having the same issue?

  • Carey

I appreciate you trying to reproduce, I’m not even sure I can reproduce it at will, but I will keep attentive and try to capture the problem. It seems to occur after some period of time working in the IDE. I understand you will want a log file as well, though Komodo itself is not notifying me of a known problem.

No, I’m just a single developer. Windows 8.1. Writing php primarily, yes, XAMPP.

I have 3 observations noted of where the autocomplete is failing after working with my code during a session, and took screenshots as well to jog my memory, and I have also saved off the log file; I even saved off a copy of my codeintel folder if you need me to examine anything within it. Please advise as to what to do for conveying all this to you. Are people just pasting log files in the forums? I’d be happy to speak with you or someone by phone as well as email directly offline. In fact I would prefer that over this mechanism. Let me know as I’d be happy to help you drill down to the cause of the problem. Please elect to communicate directly via phone or email in this circumstance as I think it would be more efficient/productive.

@rneal, please contact support@activestate.com with the data that you’ve gathered and we’ll see what we can find. Please attach as much as possible as well as a reference to this post.

Thanks a lot for digging in and gather this. Hopefully we can make some progress from your efforts

We’ll report back here with any results we find.

  • Carey

Got it @rneal. Forwarding to the dev team.

  • Carey

I had been away from coding for a bit but am now back into it. On the latest 8.5 here. Per the code samples I gave you and you having forwarded them to dev team, wondering where CodeIntel is these days. Is there a new/better engine available if I try a version 9? Please let me know what the team’s current perspective is regarding CodeIntel. Thanks.

Hey @rneal,

Unfortunately I don’t think any progress has been made on this particular issue. Even with all the information you provided we can’t reproduce the issue to diagnose and correct it.

I’ve had a chance to review it today and try to create a example file that I can just hand over to the team for easy debugging but I’ve had no luck reproducing your issue still.

Here are the two example files I made:
File1.ph

<?php
// file1.php
class Morepizza extends Pizza {
   public function __construct( ) {
       echo "More pizza getting constructed up in here.  Holla.";
    }
    
    $this->// I get completions here no matter what I do in file2
}
?>

File2.php

<?php
// file2.php
class Pizza {
    
    public function __construct( )
    {
        echo "Pizza getting contructed up in here.  Holla.";
    }
    public function foobar_baz_optical()
    {
        echo "cheese cake is seriously friggin amazing.";
    }
    public function is_pizza_awesome()
    {
        return true;
    }
}

?>

I used ra-factoring , wrote new functions in file2.php, changed function names manually. I cannot for the life of me get this to corrupt my code intel DB.

I wonder, do you have multiple sources of this code on your computer that Komodo could be scanning? It looks like infrastructure style code so you may use it on more than one project.

Very sorry that no progress has been made @rneal.

  • Carey