robot-plugin icon indicating copy to clipboard operation
robot-plugin copied to clipboard

Auto-complete stops displaying keywords from Python libraries

Open wdomes opened this issue 10 years ago • 1 comments

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)

wdomes avatar Jul 22 '15 16:07 wdomes

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

AmailP avatar Aug 28 '16 17:08 AmailP