Which directories will Komodo's Code Intelligence scan?

Posted by toddw on 2013-07-18 14:27

How does Komodo's Code Intelligence system determine the directories to scan for code information?


Komodo's code intelligence system will scan multiple directories. Generally these are the locations Komodo will scan:

  • Current directory - any files residing in the same directory of the current editing file.
  • Project directory - the base directory of the project is recursively scanned (can be disabled by the "Include all files and directories from the project base directory" preference).
  • Additional include directory preferences - Any directory that has been added to the "Languages > Lang > Include Directories" preferences are scanned recursively.
  • Language interpreter include directories - any directories included by the language interpreter (i.e. language executable), such as PHP's php.ini settings, or Python's sys.path settings.
  • API Catalogs - any API catalogs that have not yet been scanned.
  • Stdlib - the language stdlib, if it's the first Komodo start, or the stdlib has changed.

The directories scanned and included are slightly different between languages, for example PHP and JavaScript use Import Everything handling, which means that there is no direct "import x" used to control what code the file has access to, but instead it has the ability to access all code, whereas other languages like Python explicitly import the modules they wish to use.

yark | Wed, 2014-01-08 16:52

It also scan directory where .komodoproject file is located. If it's bug you can reproduce as follows:

I have directory called "projects" and there are number of subdirectories in it each with particular project.
When i want to add a new project i create new directory, download code from git and adding new project in Komodo. Whet it asks where to place a komodoproject file i place it into my root "projects" directory and than i go to project properties and change "project base directory" to, say new subfolder.

When Komodo want to use code intel it will scan all my "projects" directory, Python will take all CPU and all free RAM and than virtual memory. So i need to force close Python process.