Search in sources :

Example 1 with VirtualFileEvent

use of com.intellij.openapi.vfs.VirtualFileEvent in project intellij-community by JetBrains.

the class MovePackageAsDirectoryTest method testMultipleClassesInOneFile.

public void testMultipleClassesInOneFile() throws Exception {
    final boolean[] fileWasDeleted = new boolean[] { false };
    final VirtualFileAdapter fileAdapter = new VirtualFileAdapter() {

        @Override
        public void fileDeleted(@NotNull VirtualFileEvent event) {
            fileWasDeleted[0] = !event.getFile().isDirectory();
        }
    };
    VirtualFileManager.getInstance().addVirtualFileListener(fileAdapter);
    try {
        doTest(createAction("pack1", "target"));
    } finally {
        VirtualFileManager.getInstance().removeVirtualFileListener(fileAdapter);
    }
    Assert.assertFalse("Deleted instead of moved", fileWasDeleted[0]);
}
Also used : VirtualFileEvent(com.intellij.openapi.vfs.VirtualFileEvent) NotNull(org.jetbrains.annotations.NotNull) VirtualFileAdapter(com.intellij.openapi.vfs.VirtualFileAdapter)

Example 2 with VirtualFileEvent

use of com.intellij.openapi.vfs.VirtualFileEvent in project intellij-community by JetBrains.

the class ConfigProjectComponent method runActivity.

@Override
public void runActivity(@NotNull Project project) {
    // Register project-level config managers
    final EditorFactory editorFactory = EditorFactory.getInstance();
    MessageBus bus = project.getMessageBus();
    EditorSettingsManager editorSettingsManager = new EditorSettingsManager(project);
    EncodingManager encodingManager = new EncodingManager(project);
    LineEndingsManager lineEndingsManager = new LineEndingsManager(project);
    bus.connect().subscribe(AppTopics.FILE_DOCUMENT_SYNC, encodingManager);
    bus.connect().subscribe(AppTopics.FILE_DOCUMENT_SYNC, editorSettingsManager);
    bus.connect().subscribe(AppTopics.FILE_DOCUMENT_SYNC, lineEndingsManager);
    VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileAdapter() {

        @Override
        public void fileCreated(@NotNull VirtualFileEvent event) {
            updateOpenEditors(event);
        }

        @Override
        public void fileDeleted(@NotNull VirtualFileEvent event) {
            updateOpenEditors(event);
        }

        @Override
        public void contentsChanged(@NotNull VirtualFileEvent event) {
            updateOpenEditors(event);
        }

        private void updateOpenEditors(VirtualFileEvent event) {
            final VirtualFile file = event.getFile();
            if (".editorconfig".equals(file.getName())) {
                if (ProjectRootManager.getInstance(project).getFileIndex().isInContent(file) || !Registry.is("editor.config.stop.at.project.root")) {
                    for (Editor editor : editorFactory.getAllEditors()) {
                        if (editor.isDisposed())
                            continue;
                        ;
                        ((EditorEx) editor).reinitSettings();
                    }
                }
            }
        }
    }, project);
}
Also used : EncodingManager(org.editorconfig.configmanagement.EncodingManager) VirtualFile(com.intellij.openapi.vfs.VirtualFile) EditorFactory(com.intellij.openapi.editor.EditorFactory) MessageBus(com.intellij.util.messages.MessageBus) EditorSettingsManager(org.editorconfig.configmanagement.EditorSettingsManager) VirtualFileEvent(com.intellij.openapi.vfs.VirtualFileEvent) LineEndingsManager(org.editorconfig.configmanagement.LineEndingsManager) Editor(com.intellij.openapi.editor.Editor) VirtualFileAdapter(com.intellij.openapi.vfs.VirtualFileAdapter)

Example 3 with VirtualFileEvent

use of com.intellij.openapi.vfs.VirtualFileEvent in project intellij-plugins by JetBrains.

the class PhoneGapStartupActivity method runActivity.

@Override
public void runActivity(@NotNull Project project) {
    StartupManager.getInstance(project).runWhenProjectIsInitialized(() -> {
        if (PhoneGapUtil.isPhoneGapProject(project)) {
            if (PhoneGapSettings.getInstance().isExcludePlatformFolder()) {
                excludeWorkingDirectories(project);
            }
            PhoneGapExecutableChecker.check(project);
        }
    });
    VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileListener() {

        @Override
        public void fileCreated(@NotNull VirtualFileEvent event) {
            if (!isProcess(event)) {
                return;
            }
            updateModuleExcludeByFSEvent(project, event, ContainerUtil.newHashSet(), ContainerUtil.newHashSet(getExcludedFolderNames(event)));
        }

        @Override
        public void beforeFileDeletion(@NotNull VirtualFileEvent event) {
            if (!isProcess(event)) {
                return;
            }
            updateModuleExcludeByFSEvent(project, event, getExcludedFolderNames(event), ContainerUtil.newHashSet());
        }

        private boolean isProcess(@NotNull VirtualFileEvent event) {
            return shouldExcludeDirectory(event) && PhoneGapUtil.isPhoneGapProject(project) && PhoneGapSettings.getInstance().isExcludePlatformFolder();
        }
    }, project);
}
Also used : VirtualFileListener(com.intellij.openapi.vfs.VirtualFileListener) VirtualFileEvent(com.intellij.openapi.vfs.VirtualFileEvent)

Aggregations

VirtualFileEvent (com.intellij.openapi.vfs.VirtualFileEvent)3 VirtualFileAdapter (com.intellij.openapi.vfs.VirtualFileAdapter)2 Editor (com.intellij.openapi.editor.Editor)1 EditorFactory (com.intellij.openapi.editor.EditorFactory)1 VirtualFile (com.intellij.openapi.vfs.VirtualFile)1 VirtualFileListener (com.intellij.openapi.vfs.VirtualFileListener)1 MessageBus (com.intellij.util.messages.MessageBus)1 EditorSettingsManager (org.editorconfig.configmanagement.EditorSettingsManager)1 EncodingManager (org.editorconfig.configmanagement.EncodingManager)1 LineEndingsManager (org.editorconfig.configmanagement.LineEndingsManager)1 NotNull (org.jetbrains.annotations.NotNull)1