1212import com .intellij .openapi .project .Project ;
1313import com .intellij .openapi .vfs .VirtualFile ;
1414import com .intellij .psi .PsiDirectory ;
15+ import com .intellij .psi .PsiFile ;
1516import com .intellij .psi .PsiManager ;
1617import com .magento .idea .magento2plugin .util .magento .GetModuleNameByDirectoryUtil ;
1718import org .jetbrains .annotations .NotNull ;
@@ -30,7 +31,8 @@ public class CopyMagentoPath extends CopyPathProvider {
3031 @ Override
3132 public void update (@ NotNull final AnActionEvent event ) {
3233 final VirtualFile virtualFile = event .getData (PlatformDataKeys .VIRTUAL_FILE );
33- if (virtualFile != null && virtualFile .isDirectory ()) {
34+ if (virtualFile != null && virtualFile .isDirectory ()
35+ || virtualFile != null && !PHTML .equals (virtualFile .getExtension ())) {
3436 event .getPresentation ().setVisible (false );
3537 }
3638 }
@@ -42,11 +44,22 @@ public String getPathToElement(
4244 @ Nullable final VirtualFile virtualFile ,
4345 @ Nullable final Editor editor
4446 ) {
45- final PsiDirectory directory
46- = PsiManager .getInstance (project ).findFile (virtualFile ).getContainingDirectory ();
47+ if (virtualFile == null ) {
48+ return null ;
49+ }
50+ final PsiFile file
51+ = PsiManager .getInstance (project ).findFile (virtualFile );
52+ if (file == null ) {
53+ return null ;
54+ }
55+ final PsiDirectory directory = file .getContainingDirectory ();
4756 final StringBuilder fullPath = new StringBuilder (virtualFile .getPath ());
57+ String moduleName = GetModuleNameByDirectoryUtil .execute (directory , project );
58+ if (moduleName == null ) {
59+ return null ;
60+ }
4861 final StringBuilder magentoPath
49- = new StringBuilder (GetModuleNameByDirectoryUtil . execute ( directory , project ) );
62+ = new StringBuilder (moduleName );
5063 String path = fullPath .toString ();
5164
5265 if (PHTML .equals (virtualFile .getExtension ())) {
0 commit comments