mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 10:38:59 +01:00
watcher - support suspend/resume for non-correlated requests (#228703)
This commit is contained in:
@@ -9,7 +9,6 @@
|
||||
"aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",
|
||||
"enabledApiProposals": [
|
||||
"workspaceTrust",
|
||||
"createFileSystemWatcher",
|
||||
"multiDocumentHighlightProvider",
|
||||
"mappedEditsProvider",
|
||||
"codeActionAI",
|
||||
|
||||
@@ -117,7 +117,7 @@ export interface TypeScriptServiceConfiguration {
|
||||
readonly enableProjectDiagnostics: boolean;
|
||||
readonly maxTsServerMemory: number;
|
||||
readonly enablePromptUseWorkspaceTsdk: boolean;
|
||||
readonly useVsCodeWatcher: boolean; // TODO@bpasero remove this setting eventually
|
||||
readonly useVsCodeWatcher: boolean;
|
||||
readonly watchOptions: Proto.WatchOptions | undefined;
|
||||
readonly includePackageJsonAutoImports: 'auto' | 'on' | 'off' | undefined;
|
||||
readonly enableTsServerTracing: boolean;
|
||||
@@ -223,7 +223,12 @@ export abstract class BaseServiceConfigurationProvider implements ServiceConfigu
|
||||
}
|
||||
|
||||
private readUseVsCodeWatcher(configuration: vscode.WorkspaceConfiguration): boolean {
|
||||
return configuration.get<boolean>('typescript.tsserver.experimental.useVsCodeWatcher', false);
|
||||
const watcherExcludes = configuration.get<Record<string, boolean>>('files.watcherExclude') ?? {};
|
||||
if (watcherExcludes['**/node_modules/*/**'] /* VS Code default prior to 1.94.x */ === true) {
|
||||
return false; // we cannot use the VS Code watcher if node_modules are excluded
|
||||
}
|
||||
|
||||
return configuration.get<boolean>('typescript.tsserver.experimental.useVsCodeWatcher', true);
|
||||
}
|
||||
|
||||
private readWatchOptions(configuration: vscode.WorkspaceConfiguration): Proto.WatchOptions | undefined {
|
||||
|
||||
@@ -1152,7 +1152,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
|
||||
ignoreChangeEvents?: boolean,
|
||||
) {
|
||||
const disposable = new DisposableStore();
|
||||
const watcher = disposable.add(vscode.workspace.createFileSystemWatcher(pattern, { excludes: [] /* TODO:: need to fill in excludes list */, ignoreChangeEvents }));
|
||||
const watcher = disposable.add(vscode.workspace.createFileSystemWatcher(pattern, undefined, ignoreChangeEvents));
|
||||
disposable.add(watcher.onDidChange(changeFile =>
|
||||
this.addWatchEvent(id, 'updated', changeFile.fsPath)
|
||||
));
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
"include": [
|
||||
"src/**/*",
|
||||
"../../src/vscode-dts/vscode.d.ts",
|
||||
"../../src/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts",
|
||||
"../../src/vscode-dts/vscode.proposed.codeActionAI.d.ts",
|
||||
"../../src/vscode-dts/vscode.proposed.codeActionRanges.d.ts",
|
||||
"../../src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts",
|
||||
|
||||
Reference in New Issue
Block a user