Re: [Pydev-code] Has the analyze only open editors setting ever had a meaning?
Brought to you by:
fabioz
From: Andreas P. <an...@fr...> - 2014-09-26 13:34:44
|
On 2014-09-26 12:57, Fabio Zadrozny wrote: > On Wed, Sep 24, 2014 at 9:25 AM, Andreas Pakulat <an...@fr...> > wrote: > >> Hi, >> >> I recently stumbled about the 'Builder' page and its 'Analyze only open >> editors' setting. It sounded like disabling this would help one of our >> customers who wanted to get completion for functions in modules that are >> not >> yet imported. Unfortunately it turns out this preference is not being used >> anywhere in the codebase and looking at the existing pydev tags has never >> been used. >> >> I'm wondering wether I'm missing something or wether this has really been >> added (to the ui) and then never used (by the builder)? >> >> On a related note: Is there a way to get pydev to create completions for >> functions/classes in files that haven't been opened yet (after starting >> eclipse)? (i.e. where do I have to look into the codebase to find the >> starting point) > > Hi Andreas, > > Actually, that's still used... if you take a look at the code, the getter > which uses the ANALYZE_ONLY_ACTIVE_EDITOR constant is > org.python.pydev.builder.PyDevBuilderPrefPage.getAnalyzeOnlyActiveEditor(). Ah, I missed the public static getter and its uses during my grep :) > As for getting completions for functions/classes that haven't been imported, > I think I don't quite follow what you mean (you do have > context-insensitive code-completion which would add the import and the token > -- but apparently, that's not what you meant), so, can you > rephrase that to explain better your use case? What I see happening is that completion does not include functions from modules that haven't been open in an editor. For example lets take this project: myproject | - module1 | | | - util.py | - module2 | - main.py util.py has just 1 function definition 'mycoolfun' and main.py is empty. After a fresh start of Eclipse I open main.py and type myc and invoke code-completion. There's no entry for mycoolfunc. If I open util.py, close it again and again invoke code-completion inside main.py the entry for 'mycoolfunc' shows up. My assumption was that this is caused by the 'analyze-only-open-editors' setting, but changing the setting from its default value did not help. Andreas PS: The project's root folder is configured as python path so that shouldn't be a problem. PPS: Tested this with the master branch as well as seeing it with the 2.8 release. -- Andreas Pakulat sq...@fr... froglogic GmbH - Automated UI and Web Testing |