Question

Our software which powers our business is nearly 16,000 PHP files long. It's an absolutely vast system. Zend Studio takes literally several hours to run the DLTK indexing.

I can't find an up-to-date response on this, but there must be a way of disabling it, or restricting it to particular directories.

Also, what exactly is this process doing?

Thanks.

Was it helpful?

Solution

The DLTK indexing is a feature of Eclipse that indexes information about dynamic languages like PHP or Perl. For PHP, this includes class definitions including their properties and methods, function prototypes, resolves code that is included or required in other files as well as many other things.

Without it, you would lose things like autocompletion for classes and functions defined by your project. It also helps with refactoring so if you rename a function, it can update all the other files that reference that function.

It's generally a good thing but I feel your pain and have ran into the same issue a number of times.

You can prevent certain directories from being indexed by right-clicking on the folder you would like to exclude from indexing in your project and selecting Build Path and then clicking Exclude. This should prevent it from getting indexed by this process.

Exclude from build path

Alternatively, you can pull up the project properties and manage the excluded paths from there:

Exclude from build path

OTHER TIPS

In case if you have multiple projects and some of them you are using very rarely you can just close the project (from right click menu): this will prevent doing DLTK indexing on those closed projects.

Please note, that closing the project does NOT remove it, so if some day you need to access or change some file you can simply re-open it.

Break out your huge code base into modules and then you can have many smaller projects in Zend Studio, each with much less to index when the dependencies are treated as libraries.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top