Skip to content

Commit 3fbb0a3

Browse files
committed
add logging
1 parent 88a9c6d commit 3fbb0a3

1 file changed

Lines changed: 40 additions & 29 deletions

File tree

src/extension.ts

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -614,39 +614,50 @@ async function resolveDefaultInterpreter(
614614

615615
if (defaultInterpreterPath) {
616616
const defaultManager = getConfiguration('python-envs').get<string>('defaultEnvManager', 'undefined');
617+
traceInfo(`resolveDefaultInterpreter setting exists; found defaultEnvManager: ${defaultManager}`);
617618
if (!defaultManager || defaultManager === 'ms-python.python:venv') {
618-
// if user has defaultInterpreterPath and no defaultEnvManager set then resolve the defaultInterpreterPath setting
619-
const resolved: NativeEnvInfo = await nativeFinder.resolve(defaultInterpreterPath);
620-
if (resolved && resolved.executable) {
621-
const resolvedEnv = await api.resolveEnvironment(Uri.file(resolved.executable));
622-
623-
let findEnvManager = envManagers.managers.find((m) => m.id === resolvedEnv?.envId.managerId);
624-
625-
if (!findEnvManager) {
626-
findEnvManager = envManagers.managers.find((m) => m.id === 'ms-python.python:system');
627-
}
628-
if (resolvedEnv) {
629-
const newEnv: PythonEnvironment = {
630-
envId: {
631-
id: resolvedEnv?.envId.id,
632-
managerId: resolvedEnv?.envId.managerId ?? '',
633-
},
634-
name: 'defaultInterpreterPath: ' + (resolved.version ?? ''),
635-
displayName: 'defaultInterpreterPath: ' + (resolved.version ?? ''),
636-
version: resolved.version ?? '',
637-
displayPath: defaultInterpreterPath ?? '',
638-
environmentPath: defaultInterpreterPath ? Uri.file(defaultInterpreterPath) : Uri.file(''),
639-
sysPrefix: resolved.arch ?? '',
640-
execInfo: {
641-
run: {
642-
executable: defaultInterpreterPath ?? '',
619+
try {
620+
const resolved: NativeEnvInfo = await nativeFinder.resolve(defaultInterpreterPath);
621+
if (resolved && resolved.executable) {
622+
const resolvedEnv = await api.resolveEnvironment(Uri.file(resolved.executable));
623+
traceInfo(`[resolveDefaultInterpreter] API resolved environment: ${JSON.stringify(resolvedEnv)}`);
624+
625+
let findEnvManager = envManagers.managers.find((m) => m.id === resolvedEnv?.envId.managerId);
626+
if (!findEnvManager) {
627+
findEnvManager = envManagers.managers.find((m) => m.id === 'ms-python.python:system');
628+
}
629+
if (resolvedEnv) {
630+
const newEnv: PythonEnvironment = {
631+
envId: {
632+
id: resolvedEnv?.envId.id,
633+
managerId: resolvedEnv?.envId.managerId ?? '',
643634
},
644-
},
645-
};
646-
if (workspace.workspaceFolders?.[0] && findEnvManager) {
647-
await api.setEnvironment(workspace.workspaceFolders[0].uri, newEnv);
635+
name: 'defaultInterpreterPath: ' + (resolved.version ?? ''),
636+
displayName: 'defaultInterpreterPath: ' + (resolved.version ?? ''),
637+
version: resolved.version ?? '',
638+
displayPath: defaultInterpreterPath ?? '',
639+
environmentPath: defaultInterpreterPath ? Uri.file(defaultInterpreterPath) : Uri.file(''),
640+
sysPrefix: resolved.arch ?? '',
641+
execInfo: {
642+
run: {
643+
executable: defaultInterpreterPath ?? '',
644+
},
645+
},
646+
};
647+
if (workspace.workspaceFolders?.[0] && findEnvManager) {
648+
traceInfo(
649+
`[resolveDefaultInterpreter] Setting environment for workspace: ${workspace.workspaceFolders[0].uri.fsPath}`,
650+
);
651+
await api.setEnvironment(workspace.workspaceFolders[0].uri, newEnv);
652+
}
648653
}
654+
} else {
655+
traceWarn(
656+
`[resolveDefaultInterpreter] NativeFinder did not resolve an executable for path: ${defaultInterpreterPath}`,
657+
);
649658
}
659+
} catch (err) {
660+
traceError(`[resolveDefaultInterpreter] Error resolving default interpreter: ${err}`);
650661
}
651662
}
652663
}

0 commit comments

Comments
 (0)