本文整理汇总了TypeScript中vscode.FileSystemWatcher类的典型用法代码示例。如果您正苦于以下问题:TypeScript FileSystemWatcher类的具体用法?TypeScript FileSystemWatcher怎么用?TypeScript FileSystemWatcher使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FileSystemWatcher类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: constructor
constructor() {
const subscriptions: Disposable[] = [];
window.onDidChangeActiveTextEditor(Display.updateEditor, this, subscriptions);
var config = workspace.getConfiguration('perforce');
if(config && PerforceCommands.checkFolderOpened()) {
if(config['editOnFileSave']) {
workspace.onWillSaveTextDocument(e => {
e.waitUntil(this.onWillSaveFile(e.document));
}, this, subscriptions);
}
if(config['editOnFileModified']) {
workspace.onDidChangeTextDocument(this.onFileModified, this, subscriptions);
}
if(config['addOnFileCreate'] || config['deleteOnFileDelete']) {
this._watcher = workspace.createFileSystemWatcher('**/*', false, true, false);
if(config['addOnFileCreate']) {
this._watcher.onDidCreate(this.onFileCreated, this, subscriptions);
}
if(config['deleteOnFileDelete']) {
this._watcher.onDidDelete(this.onFileDeleted, this, subscriptions);
}
}
}
this._disposable = Disposable.from.apply(this, subscriptions);
}
示例2: setupFileSystemWatcherOnHead
//Sets up a file system watcher on HEAD so we can know when the current branch has changed
private setupFileSystemWatcherOnHead(): void {
let pattern: string = this._gitContext.GitFolder + "/HEAD";
let fsw:FileSystemWatcher = workspace.createFileSystemWatcher(pattern, true, false, true);
fsw.onDidChange((uri) => {
Logger.LogInfo("HEAD has changed, re-parsing GitContext object");
this._gitContext = new GitContext(workspace.rootPath);
Logger.LogInfo("CurrentBranch is: " + this._gitContext.CurrentBranch);
this.refreshPollingItems();
});
}
示例3: doInit
public doInit(indexInProgress: boolean) {
console.log("Crane Initialised...");
this.showIndexingStatusBarMessage();
var statusBarItem: StatusBarItem = window.createStatusBarItem(StatusBarAlignment.Right);
statusBarItem.text = Config.version;
statusBarItem.tooltip = 'Crane (PHP Code-completion) version ' + Config.version;
statusBarItem.show();
var serverDebugMessage: NotificationType<{ type: string, message: string }> = { method: "serverDebugMessage" };
Crane.langClient.onNotification(serverDebugMessage, message => {
switch (message.type) {
case 'info': Debug.info(message.message); break;
case 'error': Debug.error(message.message); break;
case 'warning': Debug.warning(message.message); break;
default: Debug.info(message.message); break;
}
});
var requestType: RequestType<any, any, any> = { method: "workDone" };
Crane.langClient.onRequest(requestType, (tree) => {
// this.projectBuilding = false;
Crane.statusBarItem.text = '$(check) PHP File Indexing Complete!';
// Load settings
let craneSettings = workspace.getConfiguration("crane");
Debug.info("Processing complete!");
if (Config.showBugReport) {
setTimeout(() => {
Crane.statusBarItem.tooltip = "Found a problem with the PHP Intellisense provided by Crane? Click here to file a bug report on Github";
Crane.statusBarItem.text = "$(bug) Found a PHP Intellisense Bug?";
Crane.statusBarItem.command = "crane.reportBug";
Crane.statusBarItem.show();
}, 5000);
} else {
Crane.statusBarItem.hide();
}
});
var types = Config.phpFileTypes;
Debug.info(`Watching these files: {${types.include.join(',')}}`);
var fsw: FileSystemWatcher = workspace.createFileSystemWatcher(`{${types.include.join(',')}}`);
fsw.onDidChange(e => {
workspace.openTextDocument(e).then(document => {
if (document.languageId != 'php') return;
Debug.info('File Changed: ' + e.fsPath);
Crane.langClient.sendRequest({ method: 'buildObjectTreeForDocument' }, {
path: e.fsPath,
text: document.getText()
});
});
});
fsw.onDidCreate(e => {
workspace.openTextDocument(e).then(document => {
if (document.languageId != 'php') return;
Debug.info('File Created: ' + e.fsPath);
Crane.langClient.sendRequest({ method: 'buildObjectTreeForDocument' }, {
path: e.fsPath,
text: document.getText()
});
});
});
fsw.onDidDelete(e => {
Debug.info('File Deleted: ' + e.fsPath);
Crane.langClient.sendRequest({ method: 'deleteFile' }, {
path: e.fsPath
});
});
if (!indexInProgress) {
// Send request to server to build object tree for all workspace files
this.processAllFilesInWorkspace();
}
}