AmailP / robot-plugin

Robot Framework support plugin for IntelliJ Idea
Other
72 stars 38 forks source link

Auto-complete stops displaying keywords from Python libraries #12

Open wdomes opened 9 years ago

wdomes commented 9 years ago

Sometimes, keywords from installed Python libraries (e.g. selenium2library, BuiltIn, etc.) stop displaying in the auto-complete menu in PyCharm. User defined keywords continue to display in the auto-complete menu. I've been able to get the keywords to display again by "refreshing" the Python instance in PyCharm with these steps:

  1. In Preferences -> Project: -> Project Interpreter, change the Project Interpreter to a different Python instance/installation.
  2. Click Apply.
  3. Change the Project Interpreter back to the previously selected Python instance/installation.
  4. Verify the expected installed Python packages display in the Preferences window.
  5. Click OK.

I've noticed that PyCharm shows a Null Pointer Exception coming from the plug-in regarding the auto-complete, but I can't tell if it is related to the library keywords not displaying. Here's the exception from PyCharm:

java.lang.NullPointerException at amailp.intellij.robot.extensions.RobotLibrariesCompletionContributor$$anon$1.librariesInScope$1(RobotLibrariesCompletionContributor.scala:44) at amailp.intellij.robot.extensions.RobotLibrariesCompletionContributor$$anon$1.addCompletions(RobotLibrariesCompletionContributor.scala:37) at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36) at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:155) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:81) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:135) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:128) at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$2.addCompletions(LiveTemplateCompletionContributor.java:90) at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36) at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:155) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:81) at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:112) at com.intellij.codeInsight.completion.CompletionProgressIndicator.a(CompletionProgressIndicator.java:796) at com.intellij.codeInsight.completion.CompletionProgressIndicator.access$1000(CompletionProgressIndicator.java:90) at com.intellij.codeInsight.completion.CompletionProgressIndicator$1CalculateItems.run(CompletionProgressIndicator.java:778) at com.intellij.codeInsight.completion.AsyncCompletion$1$1$1.run(CompletionThreading.java:93) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:872) at com.intellij.codeInsight.completion.AsyncCompletion$1$1.run(CompletionThreading.java:88) at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152) at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:452) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137) at com.intellij.codeInsight.completion.AsyncCompletion$1.run(CompletionThreading.java:84) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:400) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695) at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)

I'm running Mac OS X 10.10.4, Java 1.7.0_75-b13, PyCharm 4.5.3, Python 2.7.6.

The Python Robot Framework libraries I have installed are: robotframework (2.8.6) robotframework-appiumlibrary (1.2.3) robotframework-databaselibrary (0.6) robotframework-selenium2library (1.5.0)

AmailP commented 8 years ago

Sorry for the very embarrassing delay of my answer :-/

Anyway, does it still happen with the new versions of the plugin? can you please tell me the affected version of the Robot Framework Support plugin?

Thanks,

Valerio