本文整理汇总了Java中com.intellij.openapi.vfs.newvfs.NewVirtualFile类的典型用法代码示例。如果您正苦于以下问题:Java NewVirtualFile类的具体用法?Java NewVirtualFile怎么用?Java NewVirtualFile使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NewVirtualFile类属于com.intellij.openapi.vfs.newvfs包,在下文中一共展示了NewVirtualFile类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: markDirty
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
@NotNull
public static List<VirtualFile> markDirty(boolean recursive, boolean reloadChildren, @NotNull VirtualFile... files) {
List<VirtualFile> list = ContainerUtil.filter(Condition.NOT_NULL, files);
if (list.isEmpty()) {
return Collections.emptyList();
}
for (VirtualFile file : list) {
if (reloadChildren) {
file.getChildren();
}
if (file instanceof NewVirtualFile) {
if (recursive) {
((NewVirtualFile)file).markDirtyRecursively();
}
else {
((NewVirtualFile)file).markDirty();
}
}
}
return list;
}
示例2: isFileIgnored
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
boolean isFileIgnored(@NotNull VirtualFile file) {
if (myVfsEventNesting != 0 || !(file instanceof NewVirtualFile)) {
return isFileIgnoredNoCache(file);
}
int id = ((NewVirtualFile)file).getId();
if (id < 0) {
return isFileIgnoredNoCache(file);
}
ConcurrentBitSet checkedIds = myCheckedIds;
if (checkedIds.get(id)) {
return myIgnoredIds.containsKey(id);
}
boolean result = isFileIgnoredNoCache(file);
if (result) {
myIgnoredIds.put(id, Boolean.TRUE);
}
else {
myIgnoredIds.remove(id);
}
checkedIds.set(id);
return result;
}
示例3: scan
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
public void scan() {
NewVirtualFile root = myRefreshQueue.pullFirst().first;
boolean rootDirty = root.isDirty();
debug(LOG, "root=%s dirty=%b", root, rootDirty);
if (!rootDirty) return;
NewVirtualFileSystem fs = root.getFileSystem();
FileAttributes rootAttributes = fs.getAttributes(root);
if (rootAttributes == null) {
scheduleDeletion(root);
root.markClean();
return;
}
else if (rootAttributes.isDirectory()) {
fs = PersistentFS.replaceWithNativeFS(fs);
}
myRefreshQueue.addLast(pair(root, rootAttributes));
try {
processQueue(fs, PersistentFS.getInstance());
}
catch (RefreshCancelledException e) {
LOG.debug("refresh cancelled");
}
}
示例4: markSuspiciousFilesDirty
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
public void markSuspiciousFilesDirty(List<VirtualFile> files) {
storeRefreshStatusToFiles();
if (myWatcher.isOperational()) {
for (String root : myWatcher.getManualWatchRoots()) {
final VirtualFile suspiciousRoot = findFileByPathIfCached(root);
if (suspiciousRoot != null) {
((NewVirtualFile)suspiciousRoot).markDirtyRecursively();
}
}
}
else {
for (VirtualFile file : files) {
if (file.getFileSystem() == this) {
((NewVirtualFile)file).markDirtyRecursively();
}
}
}
}
示例5: refreshWithoutFileWatcher
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
@Override
public void refreshWithoutFileWatcher(final boolean asynchronous) {
Runnable heavyRefresh = new Runnable() {
@Override
public void run() {
for (VirtualFile root : myManagingFS.getRoots(LocalFileSystemImpl.this)) {
((NewVirtualFile)root).markDirtyRecursively();
}
refresh(asynchronous);
}
};
if (asynchronous && myWatcher.isOperational()) {
RefreshQueue.getInstance().refresh(true, true, heavyRefresh, myManagingFS.getRoots(this));
}
else {
heavyRefresh.run();
}
}
示例6: refreshOpenFiles
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
@Override
public void refreshOpenFiles() {
List<VirtualFile> files = ContainerUtil.newArrayList();
for (Project project : ProjectManager.getInstance().getOpenProjects()) {
for (VirtualFile file : FileEditorManager.getInstance(project).getSelectedFiles()) {
if (file instanceof NewVirtualFile) {
files.add(file);
}
}
}
if (!files.isEmpty()) {
// refresh open files synchronously so it doesn't wait for potentially longish refresh request in the queue to finish
RefreshQueue.getInstance().refresh(false, false, null, files);
}
}
示例7: getFrameworkIdOfBuildFile
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
@Nullable
public static String getFrameworkIdOfBuildFile(VirtualFile file) {
if (file instanceof NewVirtualFile) {
final DataInputStream is = FRAMEWORK_FILE_ATTRIBUTE.readAttribute(file);
if (is != null) {
try {
try {
if (is.available() == 0) {
return null;
}
return IOUtil.readString(is);
}
finally {
is.close();
}
}
catch (IOException e) {
LOG.error(file.getPath(), e);
}
}
return "";
}
return file.getUserData(FRAMEWORK_FILE_MARKER);
}
示例8: forceBuildFile
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
private static void forceBuildFile(VirtualFile file, @Nullable String value) {
if (file instanceof NewVirtualFile) {
final DataOutputStream os = FRAMEWORK_FILE_ATTRIBUTE.writeAttribute(file);
try {
try {
IOUtil.writeString(StringUtil.notNullize(value), os);
}
finally {
os.close();
}
}
catch (IOException e) {
LOG.error(e);
}
}
else {
file.putUserData(FRAMEWORK_FILE_MARKER, value);
}
}
示例9: testFindRootPerformance
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
public void testFindRootPerformance() throws IOException {
File tempJar = IoTestUtil.createTestJar();
final VirtualFile jar = refreshAndFindFile(tempJar);
assertNotNull(jar);
final JarFileSystem fs = JarFileSystem.getInstance();
final String path = jar.getPath() + "!/";
final NewVirtualFile root = ManagingFS.getInstance().findRoot(path, fs);
PlatformTestUtil.startPerformanceTest("find root is slow", 5000, new ThrowableRunnable() {
@Override
public void run() throws Throwable {
JobLauncher.getInstance().invokeConcurrentlyUnderProgress(Collections.nCopies(500, null), null, false, false, new Processor<Object>() {
@Override
public boolean process(Object o) {
for (int i = 0; i < 20000; i++) {
NewVirtualFile rootJar = ManagingFS.getInstance().findRoot(path, fs);
assertNotNull(rootJar);
assertSame(root, rootJar);
}
return true;
}
});
}
}).assertTiming();
}
示例10: addFileToDelete
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
private void addFileToDelete(VirtualFile file) {
if (file.isDirectory() && file instanceof NewVirtualFile && !isDirectoryVersioningSupported()) {
for (VirtualFile child : ((NewVirtualFile)file).getCachedChildren()) {
addFileToDelete(child);
}
}
else {
final VcsDeleteType type = needConfirmDeletion(file);
final FilePath filePath =
VcsContextFactory.SERVICE.getInstance().createFilePathOnDeleted(new File(file.getPath()), file.isDirectory());
if (type == VcsDeleteType.CONFIRM) {
myDeletedFiles.add(filePath);
}
else if (type == VcsDeleteType.SILENT) {
myDeletedWithoutConfirmFiles.add(filePath);
}
}
}
示例11: actionPerformed
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
@Override
public void actionPerformed(AnActionEvent e) {
final Project project = getEventProject(e);
final VirtualFile[] files = getFiles(e);
if (project == null || files == null || files.length == 0) return;
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
for (VirtualFile file : files) {
if (file instanceof NewVirtualFile) {
((NewVirtualFile)file).markDirtyRecursively();
}
}
}
});
RefreshQueue.getInstance().refresh(true, true, new Runnable() {
@Override
public void run() {
postRefresh(project, files);
}
}, files);
}
示例12: processFile
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
public boolean processFile(NewVirtualFile file) {
if (file.isDirectory() || file.is(VFileProperty.SPECIAL)) {
return true;
}
try {
DataInputStream stream = FSRecords.readContent(file.getId());
if (stream == null) return true;
byte[] bytes = FileUtil.loadBytes(stream);
totalSize.addAndGet(bytes.length);
count.incrementAndGet();
ProgressManager.getInstance().getProgressIndicator().setText(file.getPresentableUrl());
}
catch (IOException e) {
LOG.error(e);
}
return true;
}
示例13: isAntFileOld
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
private static boolean isAntFileOld(VirtualFile file) {
if (file instanceof NewVirtualFile) {
final DataInputStream is = ourAttribute.readAttribute(file);
if (is != null) {
try {
try {
return is.readBoolean();
}
finally {
is.close();
}
}
catch (IOException e) {
LOG.error(e);
}
}
return false;
}
return Boolean.TRUE.equals(file.getUserData(ourAntFileMarker));
}
示例14: visitFile
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
@Override
public boolean visitFile(VirtualFile file) {
file.putUserData(MODIFICATION_DATE_KEY, null);
if(file instanceof NewVirtualFile) {
final DataOutputStream os = MODIFICATION_STAMP_FILE_ATTRIBUTE.writeAttribute(file);
try {
try {
IOUtil.writeString(StringUtil.notNullize("0"), os);
} finally {
os.close();
}
} catch(IOException e) {
// Ignore it but we might need to throw an exception
String message = e.getMessage();
}
}
return recursive;
}
示例15: setModificationStamp
import com.intellij.openapi.vfs.newvfs.NewVirtualFile; //导入依赖的package包/类
public static void setModificationStamp(VirtualFile file) {
// Store it in memory first
if(file != null) {
file.putUserData(Util.MODIFICATION_DATE_KEY, file.getTimeStamp());
if(file instanceof NewVirtualFile) {
final DataOutputStream os = MODIFICATION_STAMP_FILE_ATTRIBUTE.writeAttribute(file);
try {
try {
IOUtil.writeString(StringUtil.notNullize(file.getTimeStamp() + ""), os);
} finally {
os.close();
}
} catch(IOException e) {
// Ignore it but we might need to throw an exception
String message = e.getMessage();
}
}
}
}