Class names resolving in Neon plugin for PHPStorm

mesour
Nette Blogger | 236
+
+13
-

Introducing

I'm working on update for Neon plugin for PHPStorm. Now is in the beta version only, you can download and test it by download link. It can be installed from disk (help for install). I will be happy if as many people as possible try it out before we release the official version. There were a lot of changes, so let’s test it out.

Before stable will be released, new beta versions will be pushed to Github and in this forum will be posted information about new update. Download link will be same.

This is update only for add support class names resolving. If you have suggestion to new feature please create issue in original repository intellij-neon/issues with label enhancement.

Links

Issues

If you find some bug in class names implementation, please reply to this topic and I will add it to issues list.

Known issues
  • If use configuration where set only namespace instead of full class name it will show error (undefined class)

Important notes

  • Refactoring for class names is now supported only from PHP to Latte

Changelist

  • Added support find usages for PHP classes used in neon
  • Added inspections for used undefined classes
  • Added support for refactoring class names
  • Added references for used parameters and services
  • Added support for parsing strings and numbers
  • Increased minimum compatibility with PHPStorm 2018.3

Donate

More of you wrote that they would like to contribute to development. I appreciate it, thanks. So I'm adding a link to Patreon, PayPal and a bank account number.

  • Patreon – more tiers
  • PayPal
  • CZ bank account: 2600850198/2010

Last edited by mesour (2020-03-05 15:41)

m.brecher
Generous Backer | 736
+
-1
-

Po aktualizaci PHPStorm na verzi 2021.2.1 jsem zaznamenal chybu v pluginu pro NEON po zápisu nové služby. Posílám chybové hlášení:

java.lang.IllegalArgumentException: Argument for @NotNull parameter ‘project’ of com/jetbrains/php/completion/PhpCompletionUtil.createNamespacePredicate must not be null
at com.jetbrains.php.completion.PhpCompletionUtil.$$$reportNull$$$0(PhpCompletionUtil.java)
at com.jetbrains.php.completion.PhpCompletionUtil.createNamespacePredicate(PhpCompletionUtil.java)
at com.jetbrains.php.completion.PhpCompletionUtil.addSubNamespaces(PhpCompletionUtil.java:103)
at com.jetbrains.php.completion.PhpCompletionUtil.addSubNamespaces(PhpCompletionUtil.java:76)
at cz.juzna.intellij.neon.completion.NamespaceCompletionProvider.addCompletions(NamespaceCompletionProvider.java:33)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:34)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:77)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:154)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:146)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.addCompletions(LiveTemplateCompletionContributor.java:89)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:34)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:77)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:60)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:133)
at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:41)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$12(CompletionProgressIndicator.java:863)
at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:163)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:588)
at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:162)
at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:859)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:847)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$6(CodeCompletionHandlerBase.java:353)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:172)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1078)
at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:170)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:345)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$0(CompletionThreading.java:95)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:91)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:265)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)