src/vs/workbench/common/resources.ts/ResourceContextKey/set
class ResourceContextKey:	set(value: URI | null) {
		if (!ResourceContextKey._uriEquals(this._resourceKey.get(), value)) {
			this._contextKeyService.bufferChangeEvents(() => {
				this._resourceKey.set(value);
				this._schemeKey.set(value ? value.scheme : null);
				this._filenameKey.set(value ? basename(value) : null);
				this._dirnameKey.set(value ? dirname(value).fsPath : null);
				this._pathKey.set(value ? value.fsPath : null);
				this._langIdKey.set(value ? this._modeService.getModeIdByFilepathOrFirstLine(value) : null);
				this._extensionKey.set(value ? extname(value) : null);
				this._hasResource.set(!!value);
				this._isFileSystemResource.set(value ? this._fileService.canHandleResource(value) : false);
			});
		}
	}