in src/utils.ts [722:738]
export function reportChangedExtensionSetting(event: vscode.ConfigurationChangeEvent, telemetryReporter: Readonly<TelemetryReporter>): void {
const extensionSettingsList = Object.entries(vscode.workspace.getConfiguration(SETTINGS_STORE_NAME)).splice(4) as Array<ExtensionSettings>;
for (const currentSetting of extensionSettingsList) {
const settingName: string = currentSetting[0];
const settingValue: boolean | string | {[key: string]: string} | undefined = currentSetting[1];
if (event.affectsConfiguration(`${SETTINGS_STORE_NAME}.${settingName}`)) {
if (settingName !== undefined) {
if (settingValue !== undefined) {
const telemetryObject: {[key: string]: string} = {};
const objString = typeof settingValue !== 'object' ? settingValue.toString() : JSON.stringify(settingValue);
telemetryObject[settingName] = objString;
telemetryReporter.sendTelemetryEvent('user/settingsChanged', telemetryObject);
}
}
}
}
}