java.awt.event.ContainerListener#com.intellij.openapi.project.Project源码实例Demo

下面列出了java.awt.event.ContainerListener#com.intellij.openapi.project.Project 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: GitToolBox   文件: BlameDetailsAction.java
private boolean isEnabled(@NotNull AnActionEvent e) {
  GitToolBoxConfig2 config = AppConfig.get();
  if (!config.getShowBlameWidget() && !config.getShowEditorInlineBlame()) {
    return false;
  }
  Project project = e.getData(CommonDataKeys.PROJECT);
  if (project == null) {
    return false;
  }
  Editor editor = e.getData(CommonDataKeys.EDITOR);
  if (editor != null) {
    Document document = editor.getDocument();
    if (!BlameUi.isDocumentInBulkUpdate(document)) {
      VirtualFile editorFile = FileDocumentManager.getInstance().getFile(document);
      if (editorFile != null) {
        return VirtualFileRepoCache.getInstance(project).isUnderGitRoot(editorFile);
      }
    }
  }
  return false;
}
 
源代码2 项目: intellij   文件: ExternalLibraryManager.java
ExternalLibraryManager(Project project) {
  this.project = project;
  this.duringBlazeSync = false;
  this.libraries = ImmutableMap.of();
  AsyncVfsEventsPostProcessor.getInstance()
      .addListener(
          events -> {
            if (duringBlazeSync || libraries.isEmpty()) {
              return;
            }
            ImmutableList<VirtualFile> deletedFiles =
                events.stream()
                    .filter(VFileDeleteEvent.class::isInstance)
                    .map(VFileEvent::getFile)
                    .collect(toImmutableList());
            if (!deletedFiles.isEmpty()) {
              libraries.values().forEach(library -> library.removeInvalidFiles(deletedFiles));
            }
          },
          project);
}
 
@NotNull
private static Collection<String> collectForArrayScopeVariablesFoo(@NotNull Project project, @NotNull Collection<String> typeName, @NotNull PsiVariable psiVariable) {
    Collection<String> previousElements = psiVariable.getTypes();

    String[] strings = typeName.toArray(new String[typeName.size()]);

    for (int i = 1; i <= strings.length - 1; i++ ) {
        previousElements = resolveTwigMethodName(project, previousElements, strings[i]);

        // we can stop on empty list
        if(previousElements.size() == 0) {
            return Collections.emptyList();
        }
    }

    return previousElements;
}
 
源代码4 项目: idea-php-symfony2-plugin   文件: DotEnvUtil.java
/**
 * Provide targets for "%env(FOOBAR)%"
 *
 * @param parameter "%env(FOOBAR)%", "%env(resolve:DB)%"
 */
@NotNull
public static Collection<PsiElement> getEnvironmentVariableTargetsForParameter(@NotNull Project project, @NotNull String parameter) {
    if(parameter.length() < 7 || !parameter.startsWith("%env(") || !parameter.endsWith(")%")) {
        return Collections.emptyList();
    }

    String parameterName = parameter.substring(5, parameter.length() - 2);

    // https://github.com/symfony/symfony/pull/23901 => RegisterEnvVarProcessorsPass
    // '%env(int:DATABASE_PORT)%'
    // '%env(resolve:int:foo:DB)%'
    Matcher matcher = Pattern.compile("^[\\w-_^:]+:(.*)$", Pattern.MULTILINE).matcher(parameterName);
    if(matcher.find()){
        parameterName = matcher.group(1);
    }

    return DotEnvUtil.getEnvironmentVariableTargets(project, parameterName);
}
 
源代码5 项目: consulo-csharp   文件: OperatorsProvider.java
private static void buildOperatorsForDelegates(Consumer<PsiElement> consumer, Project project, CSharpTypeDeclaration typeDeclaration, DotNetTypeRef selfTypeRef)
{
	for(IElementType elementType : new IElementType[]{
			CSharpTokens.PLUS,
			CSharpTokens.MINUS
	})
	{
		CSharpLightMethodDeclarationBuilder builder = new CSharpLightMethodDeclarationBuilder(project);
		builder.setOperator(elementType);

		builder.withParent(typeDeclaration);

		builder.withReturnType(selfTypeRef);

		for(int i = 0; i < 2; i++)
		{
			CSharpLightParameterBuilder parameterBuilder = new CSharpLightParameterBuilder(project);
			parameterBuilder.withName("p" + i);
			parameterBuilder.withTypeRef(selfTypeRef);
			builder.addParameter(parameterBuilder);
		}

		consumer.consume(builder);
	}
}
 
源代码6 项目: consulo   文件: SetShortcutAction.java
@Override
public void update(@Nonnull AnActionEvent e) {
  Presentation presentation = e.getPresentation();

  Project project = e.getProject();
  JBPopup seDialog = project == null ? null : project.getUserData(SearchEverywhereManager.SEARCH_EVERYWHERE_POPUP);
  if (seDialog == null) {
    presentation.setEnabled(false);
    return;
  }

  KeymapManager km = KeymapManager.getInstance();
  Keymap activeKeymap = km != null ? km.getActiveKeymap() : null;
  if (activeKeymap == null) {
    presentation.setEnabled(false);
    return;
  }

  AnAction action = e.getData(SELECTED_ACTION);
  Component component = e.getData(PlatformDataKeys.CONTEXT_COMPONENT);
  presentation.setEnabled(action != null && component != null);
}
 
@Override
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> results) {
    // we need project element; so get it from first item
    if(psiElements.size() == 0) {
        return;
    }

    Project project = psiElements.get(0).getProject();
    if(!Symfony2ProjectComponent.isEnabled(project)) {
        return;
    }

    for(PsiElement psiElement: psiElements) {
        if(psiElement.getNode().getElementType() != XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN) {
            continue;
        }

        PsiElement xmlAttributeValue = psiElement.getParent();
        if(xmlAttributeValue instanceof XmlAttributeValue && (DoctrineMetadataPattern.getXmlTargetDocumentClass().accepts(xmlAttributeValue) || DoctrineMetadataPattern.getXmlTargetEntityClass().accepts(xmlAttributeValue) || DoctrineMetadataPattern.getEmbeddableNameClassPattern().accepts(xmlAttributeValue))) {
            attachXmlRelationMarker(psiElement, (XmlAttributeValue) xmlAttributeValue, results);
        }
    }
}
 
源代码8 项目: otto-intellij-plugin   文件: ShowUsagesAction.java
static void chooseAmbiguousTargetAndPerform(@NotNull final Project project,
    final Editor editor,
    @NotNull PsiElementProcessor<PsiElement> processor) {
  if (editor == null) {
    Messages.showMessageDialog(project, FindBundle.message("find.no.usages.at.cursor.error"),
        CommonBundle.getErrorTitle(), Messages.getErrorIcon());
  }
  else {
    int offset = editor.getCaretModel().getOffset();
    boolean chosen = GotoDeclarationAction.chooseAmbiguousTarget(editor, offset, processor,
        FindBundle.message("find.usages.ambiguous.title", "crap"), null);
    if (!chosen) {
      ApplicationManager.getApplication().invokeLater(new Runnable() {
        @Override
        public void run() {
          if (editor.isDisposed() || !editor.getComponent().isShowing()) return;
          HintManager.getInstance().showErrorHint(editor, FindBundle.message("find.no.usages.at.cursor.error"));
        }
      }, project.getDisposed());
    }
  }
}
 
源代码9 项目: consulo   文件: DiffUtil.java
@Nonnull
public static EditorEx createEditor(@Nonnull Document document, @Nullable Project project, boolean isViewer, boolean enableFolding) {
  EditorFactory factory = EditorFactory.getInstance();
  EditorEx editor = (EditorEx)(isViewer ? factory.createViewer(document, project) : factory.createEditor(document, project));

  editor.putUserData(DiffManagerImpl.EDITOR_IS_DIFF_KEY, Boolean.TRUE);

  editor.getSettings().setShowIntentionBulb(false);
  ((EditorMarkupModel)editor.getMarkupModel()).setErrorStripeVisible(true);
  editor.getGutterComponentEx().setShowDefaultGutterPopup(false);

  if (enableFolding) {
    setFoldingModelSupport(editor);
  } else {
    editor.getSettings().setFoldingOutlineShown(false);
    editor.getFoldingModel().setFoldingEnabled(false);
  }

  UIUtil.removeScrollBorder(editor.getComponent());

  return editor;
}
 
源代码10 项目: consulo   文件: SurroundWithHandler.java
private static void invokeSurrounderInTests(Project project,
                                            Editor editor,
                                            PsiFile file,
                                            Surrounder surrounder,
                                            int startOffset,
                                            int endOffset, List<SurroundDescriptor> surroundDescriptors) {
  assert ApplicationManager.getApplication().isUnitTestMode();
  for (SurroundDescriptor descriptor : surroundDescriptors) {
    final PsiElement[] elements = descriptor.getElementsToSurround(file, startOffset, endOffset);
    if (elements.length > 0) {
      for (Surrounder descriptorSurrounder : descriptor.getSurrounders()) {
        if (surrounder.getClass().equals(descriptorSurrounder.getClass())) {
          doSurround(project, editor, surrounder, elements);
          return;
        }
      }
    }
  }
}
 
源代码11 项目: consulo   文件: PathsVerifier.java
public PathsVerifier(final Project project, final VirtualFile baseDirectory, final List<FilePatch> patches, BaseMapper baseMapper) {
  myProject = project;
  myBaseDirectory = baseDirectory;
  myPatches = patches;
  myBaseMapper = baseMapper;

  myMovedFiles = new HashMap<>();
  myBeforePaths = new ArrayList<>();
  myCreatedDirectories = new ArrayList<>();
  myTextPatches = new ArrayList<>();
  myBinaryPatches = new ArrayList<>();
  myWritableFiles = new ArrayList<>();
  myVcsManager = ProjectLevelVcsManager.getInstance(myProject);
  mySkipped = new ArrayList<>();

  myAddedPaths = new ArrayList<>();
  myDeletedPaths = new ArrayList<>();
}
 
源代码12 项目: vue-for-idea   文件: ValidationUtils.java
public static boolean validatePath(Project project, String path, boolean allowEmpty) {
    if (StringUtils.isEmpty(path)) {
        return allowEmpty;
    }
    File filePath = new File(path);
    if (filePath.isAbsolute()) {
        if (!filePath.exists() || !filePath.isFile()) {
            return false;
        }
    } else {
        if (project == null || project.getBaseDir() == null) {
            return true;
        }
        VirtualFile child = project.getBaseDir().findFileByRelativePath(path);
        if (child == null || !child.exists() || child.isDirectory()) {
            return false;
        }
    }
    return true;
}
 
源代码13 项目: consulo   文件: TestErrorViewAction.java
protected void openView(Project project, JComponent component) {
  final MessageView messageView = MessageView.SERVICE.getInstance(project);
  final Content content = ContentFactory.getInstance().createContent(component, getContentName(), true);
  messageView.getContentManager().addContent(content);
  messageView.getContentManager().setSelectedContent(content);
  ToolWindow toolWindow = ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.MESSAGES_WINDOW);
  if (toolWindow != null) {
    toolWindow.activate(null);
  }
}
 
@Override
@Nullable
public StructureViewBuilder getStructureViewBuilder(@Nonnull final FileType fileType, @Nonnull final VirtualFile file, @Nonnull final Project project) {
  if (!(fileType instanceof LanguageFileType)) return null;

  final PsiFile psiFile = PsiManager.getInstance(project).findFile(file);
  if (psiFile == null) return null;

  final PsiStructureViewFactory factory = LanguageStructureViewBuilder.INSTANCE.forLanguage(psiFile.getLanguage());
  return factory == null ?  null : factory.getStructureViewBuilder(psiFile);
}
 
源代码15 项目: consulo   文件: SelectWordHandler.java
@Override
public void execute(@Nonnull Editor editor, DataContext dataContext) {
  if (LOG.isDebugEnabled()) {
    LOG.debug("enter: execute(editor='" + editor + "')");
  }
  Project project = DataManager.getInstance().getDataContext(editor.getComponent()).getData(CommonDataKeys.PROJECT);
  if (project == null) {
    if (myOriginalHandler != null) {
      myOriginalHandler.execute(editor, dataContext);
    }
    return;
  }
  PsiDocumentManager.getInstance(project).commitAllDocuments();

  TextRange range = selectWord(editor, project);
  if (editor instanceof EditorWindow) {
    if (range == null || !isInsideEditableInjection((EditorWindow)editor, range, project) || TextRange.from(0, editor.getDocument().getTextLength()).equals(
            new TextRange(editor.getSelectionModel().getSelectionStart(), editor.getSelectionModel().getSelectionEnd()))) {
      editor = ((EditorWindow)editor).getDelegate();
      range = selectWord(editor, project);
    }
  }
  if (range == null) {
    if (myOriginalHandler != null) {
      myOriginalHandler.execute(editor, dataContext);
    }
  }
  else {
    editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset());
  }
}
 
源代码16 项目: consulo   文件: PatchApplier.java
@CalledInAwt
public static void refreshPassedFilesAndMoveToChangelist(@Nonnull final Project project,
                                                         final Collection<FilePath> directlyAffected,
                                                         final Collection<VirtualFile> indirectlyAffected,
                                                         final Consumer<Collection<FilePath>> targetChangelistMover) {
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  for (FilePath filePath : directlyAffected) {
    lfs.refreshAndFindFileByIoFile(filePath.getIOFile());
  }
  if (project.isDisposed()) return;

  final ChangeListManager changeListManager = ChangeListManager.getInstance(project);
  if (! directlyAffected.isEmpty() && targetChangelistMover != null) {
    changeListManager.invokeAfterUpdate(new Runnable() {
                                          @Override
                                          public void run() {
                                            targetChangelistMover.consume(directlyAffected);
                                          }
                                        }, InvokeAfterUpdateMode.SYNCHRONOUS_CANCELLABLE,
                                        VcsBundle.message("change.lists.manager.move.changes.to.list"),
                                        new Consumer<VcsDirtyScopeManager>() {
                                          @Override
                                          public void consume(final VcsDirtyScopeManager vcsDirtyScopeManager) {
                                            markDirty(vcsDirtyScopeManager, directlyAffected, indirectlyAffected);
                                          }
                                        }, null);
  } else {
    markDirty(VcsDirtyScopeManager.getInstance(project), directlyAffected, indirectlyAffected);
  }
}
 
源代码17 项目: consulo   文件: GotoInspectionModel.java
public GotoInspectionModel(Project project) {
  super(project, IdeBundle.message("prompt.goto.inspection.enter.name"), "goto.inspection.help.id");
  final InspectionProfileImpl rootProfile = (InspectionProfileImpl)InspectionProfileManager.getInstance().getRootProfile();
  for (ScopeToolState state : rootProfile.getAllTools(project)) {
    InspectionToolWrapper tool = state.getTool();
    InspectionToolWrapper workingTool = tool;
    if (tool instanceof LocalInspectionToolWrapper) {
      workingTool = LocalInspectionToolWrapper.findTool2RunInBatch(project, null, tool.getShortName());
      if (workingTool == null) {
        continue;
      }
    }
    myToolNames.put(tool.getDisplayName(), workingTool);
    final String groupName = tool.getGroupDisplayName();
    Set<InspectionToolWrapper> toolsInGroup = myGroupNames.get(groupName);
    if (toolsInGroup == null) {
      toolsInGroup = new HashSet<InspectionToolWrapper>();
      myGroupNames.put(groupName, toolsInGroup);
    }
    toolsInGroup.add(workingTool);
    myToolShortNames.put(tool.getShortName(), workingTool);
  }

  final Set<String> nameIds = new HashSet<String>();
  nameIds.addAll(myToolNames.keySet());
  nameIds.addAll(myGroupNames.keySet());
  myNames = ArrayUtil.toStringArray(nameIds);
}
 
源代码18 项目: consulo   文件: MoveHandler.java
/**
 * called by an Action in AtomicAction
 */
@Override
public void invoke(@Nonnull Project project, @Nonnull PsiElement[] elements, DataContext dataContext) {
  final PsiElement targetContainer = dataContext == null ? null : dataContext.getData(LangDataKeys.TARGET_PSI_ELEMENT);
  final Set<PsiElement> filesOrDirs = new HashSet<PsiElement>();
  for(MoveHandlerDelegate delegate: Extensions.getExtensions(MoveHandlerDelegate.EP_NAME)) {
    if (delegate.canMove(dataContext) && delegate.isValidTarget(targetContainer, elements)) {
      delegate.collectFilesOrDirsFromContext(dataContext, filesOrDirs);
    }
  }
  if (!filesOrDirs.isEmpty()) {
    for (PsiElement element : elements) {
      if (element instanceof PsiDirectory) {
        filesOrDirs.add(element);
      }
      else {
        final PsiFile containingFile = element.getContainingFile();
        if (containingFile != null) {
          filesOrDirs.add(containingFile);
        }
      }
    }
    MoveFilesOrDirectoriesUtil
      .doMove(project, PsiUtilBase.toPsiElementArray(filesOrDirs), new PsiElement[]{targetContainer}, null);
    return;
  }
  doMove(project, elements, targetContainer, dataContext, null);
}
 
源代码19 项目: intellij   文件: ScalaBinaryContextProvider.java
/** Returns all scala_binary targets reachable from the given source file. */
private static Collection<TargetIdeInfo> findScalaBinaryTargets(
    Project project, File mainClassFile) {
  FilteredTargetMap map =
      SyncCache.getInstance(project)
          .get(SCALA_BINARY_MAP_KEY, ScalaBinaryContextProvider::computeTargetMap);
  return map != null ? map.targetsForSourceFile(mainClassFile) : ImmutableList.of();
}
 
源代码20 项目: buck   文件: ClearTreeViewPanelAction.java
@Override
public void actionPerformed(AnActionEvent anActionEvent) {
  Project project = anActionEvent.getProject();
  if (project != null) {
    BuckUIManager buckUIManager = BuckUIManager.getInstance(project);
    buckUIManager
        .getBuckTreeViewPanel()
        .getModifiableModel()
        .removeAllChildren(buckUIManager.getBuckTreeViewPanel().getRoot());
  }
}
 
源代码21 项目: consulo   文件: ExecutionHelper.java
public static Collection<RunContentDescriptor> findRunningConsoleByTitle(final Project project,
                                                                         @Nonnull final NotNullFunction<String, Boolean> titleMatcher) {
  return findRunningConsole(project, new NotNullFunction<RunContentDescriptor, Boolean>() {
    @Nonnull
    @Override
    public Boolean fun(RunContentDescriptor selectedContent) {
      return titleMatcher.fun(selectedContent.getDisplayName());
    }
  });
}
 
源代码22 项目: consulo   文件: SelectionQuotingTypedHandler.java
@Override
public Result beforeCharTyped(final char charTyped, final Project project, final Editor editor, final PsiFile file, final FileType fileType) {
  // TODO[oleg] remove this hack when API changes
  if (myReplacedTextRange != null) {
    if (myReplacedTextRange.getEndOffset() <= editor.getDocument().getTextLength()) {
      if (myRestoreStickySelection && editor instanceof EditorEx) {
        EditorEx editorEx = (EditorEx)editor;
        CaretModel caretModel = editorEx.getCaretModel();
        caretModel.moveToOffset(myLtrSelection ? myReplacedTextRange.getStartOffset() : myReplacedTextRange.getEndOffset());
        editorEx.setStickySelection(true);
        caretModel.moveToOffset(myLtrSelection ? myReplacedTextRange.getEndOffset() : myReplacedTextRange.getStartOffset());
      }
      else {
        if (myLtrSelection || editor instanceof EditorWindow) {
          editor.getSelectionModel().setSelection(myReplacedTextRange.getStartOffset(), myReplacedTextRange.getEndOffset());
        }
        else {
          editor.getSelectionModel().setSelection(myReplacedTextRange.getEndOffset(), myReplacedTextRange.getStartOffset());
        }
        if (Registry.is("editor.smarterSelectionQuoting")) {
          editor.getCaretModel().moveToOffset(myLtrSelection ? myReplacedTextRange.getEndOffset() : myReplacedTextRange.getStartOffset());
        }
      }
    }
    myReplacedTextRange = null;
    return Result.STOP;
  }
  return Result.CONTINUE;
}
 
public PolymorphismRefactoring(PsiFile sourceFile,
                               Project project,
                               PsiClass sourceTypeDeclaration,
                               TypeCheckElimination typeCheckElimination) {
    this.sourceFile = sourceFile;
    this.sourceTypeDeclaration = sourceTypeDeclaration;
    this.typeCheckElimination = typeCheckElimination;
    elementFactory = PsiElementFactory.getInstance(project);
    codeStyleManager = CodeStyleManager.getInstance(project);
    this.project = project;
    semicolon = (PsiJavaToken) elementFactory.createStatementFromText(";", null).getFirstChild();
}
 
源代码24 项目: consulo   文件: PlatformOrPluginUpdateChecker.java
public static AsyncResult<Void> checkAndNotifyForUpdates(@Nullable Project project, boolean showResults, @Nullable ProgressIndicator indicator) {
  AsyncResult<Void> actionCallback = AsyncResult.undefined();
  PlatformOrPluginUpdateResult updateResult = checkForUpdates(showResults, indicator);
  if (updateResult == PlatformOrPluginUpdateResult.CANCELED) {
    actionCallback.setDone();
    return actionCallback;
  }

  UIUtil.invokeLaterIfNeeded(() -> {
    actionCallback.setDone();

    showUpdateResult(project, updateResult, showResults);
  });
  return actionCallback;
}
 
源代码25 项目: flutter-intellij   文件: FlutterProjectCreator.java
public static void disableUserConfig(Project project) {
  if (FlutterModuleUtils.declaresFlutter(project)) {
    for (Module module : ModuleManager.getInstance(project).getModules()) {
      final AndroidFacet facet = AndroidFacet.getInstance(module);
      if (facet == null) {
        continue;
      }
      facet.getProperties().ALLOW_USER_CONFIGURATION = false;
    }
  }
}
 
源代码26 项目: consulo   文件: PsiFileReferenceHelper.java
@Override
@Nonnull
public Collection<PsiFileSystemItem> getContexts(final Project project, @Nonnull final VirtualFile file) {
  final PsiFileSystemItem item = getPsiFileSystemItem(project, file);
  if (item != null) {
    final PsiFileSystemItem parent = item.getParent();
    if (parent != null) {
      final ProjectFileIndex index = ProjectRootManager.getInstance(project).getFileIndex();
      final VirtualFile parentFile = parent.getVirtualFile();
      assert parentFile != null;
      VirtualFile root = index.getSourceRootForFile(parentFile);
      if (root != null) {
        String path = VfsUtilCore.getRelativePath(parentFile, root, '.');

        if (path != null) {
          final Module module = ModuleUtilCore.findModuleForFile(file, project);

          if (module != null) {
            return getContextsForModule(module, path, GlobalSearchScope.moduleWithDependenciesScope(module));
          }
        }

        // TODO: content root
      }
      return Collections.singleton(parent);
    }
  }
  return Collections.emptyList();
}
 
源代码27 项目: intellij   文件: BlazeMenuGroup.java
@Override
public final void update(AnActionEvent e) {
  // Don't hide the menu if project is null: it will be null temporarily while loading a
  // Blaze project, and sometimes stays hidden permanently if we hide it during loading.
  Project project = e.getProject();
  if (project != null && !Blaze.isBlazeProject(project)) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }

  e.getPresentation().setEnabledAndVisible(true);
  e.getPresentation().setText(menuName(Blaze.getBuildSystem(e.getProject())));
}
 
源代码28 项目: consulo   文件: GlobalInspectionContextBase.java
public GlobalInspectionContextBase(@Nonnull Project project) {
  myProject = project;

  for (InspectionExtensionsFactory factory : InspectionExtensionsFactory.EP_NAME.getExtensionList()) {
    final GlobalInspectionContextExtension extension = factory.createGlobalInspectionContextExtension();
    myExtensions.put(extension.getID(), extension);
  }
}
 
源代码29 项目: consulo   文件: MessageBusUtil.java
public static <T> void invokeLaterIfNeededOnSyncPublisher(final Project project, final Topic<T> topic, final Consumer<T> listener) {
  final Application application = ApplicationManager.getApplication();
  final Runnable runnable = createPublisherRunnable(project, topic, listener);
  if (application.isDispatchThread()) {
    runnable.run();
  } else {
    application.invokeLater(runnable);
  }
}
 
源代码30 项目: consulo   文件: RenameFileFix.java
@Override
public void invoke(@Nonnull Project project, Editor editor, PsiFile file) {
  VirtualFile vFile = file.getVirtualFile();
  Document document = PsiDocumentManager.getInstance(project).getDocument(file);
  FileDocumentManager.getInstance().saveDocument(document);
  try {
    vFile.rename(file.getManager(), myNewFileName);
  }
  catch(IOException e){
    MessagesEx.error(project, e.getMessage()).showLater();
  }
}