-
Notifications
You must be signed in to change notification settings - Fork 81
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge latest upstream python extension
-------------------- Commit message for microsoft/vscode-python@fc72be9: Show `Python: Report issue` command in palette regardless of whether a Python file is opened (microsoft/vscode-python#20726) Closes microsoft/vscode-python#20723 -------------------- Commit message for microsoft/vscode-python@c18e8c9: Detect ActiveState Python runtimes (microsoft/vscode-python#20534) Closes microsoft/vscode-python#20532 -------------------- Commit message for microsoft/vscode-python@2152cd9: Don't set `formatOnType` for auto-indent experiment if it's already set (microsoft/vscode-python#20710) -------------------- Commit message for microsoft/vscode-python@995b0bc: Add support for 'back' to all create env UI. (microsoft/vscode-python#20693) Closes microsoft/vscode-python#20274 ### Usage This change allows callers of the Create Environment command to handle `Back` and `Cancel`: ``` typescript let result: CreateEnvironmentResult | undefined; try { const result = await commands.executeCommand("python.createEnvironment", {showBackButton: true}); } catch(e) { // error while creating environment } if (result?.action === 'Back') { // user clicked Back } if (result?.action === 'Cancel') { // user pressed escape or Cancel } ``` I decided to go with `result?.action` because we don't have a npm package for python extension API so catching particular exception might be error prone with `ex instanceof <error>`. We will provide a proper interface via `api.environments` for create environment, and contribution to create environment. Until that point this command will provide the stop gap. ### Notes 1. I did not use the multi-step input that is used in the rest of the extension because, the existing implementation does not have context. Consider the following scenario: venv -> workspace select -> python select -> packages. Assume that there is only one workspace, and we don't show the workspace selection UI, that decision is done inside the workspace step. So, if there is only 1 workspace it is a short circuit to next step. User is on python selection and clicks `back`, workspace selection short circuits to next step which is python selection. So, from user perspective, back does not work. This can be fixed by sending context that the reason control moved to previous step was because user clicked on back. 2. This makes a change to old multi step API to rethrow the exception, if user hits `back` and the current step has no steps to go back to. -------------------- Commit message for microsoft/vscode-python@f3ecbf5: Fix-conda-version-parsing (microsoft/vscode-python#20674) -------------------- Commit message for microsoft/vscode-python@a6a6f50: Inactive pytest run command (microsoft/vscode-python#20653) Here the new flow is created but kept inactive for the pytest execution -------------------- Commit message for microsoft/vscode-python@2202fbe: Call the correct API to determine if a user is in treatment or control group (microsoft/vscode-python#20690) Closes microsoft/vscode-python#20183 -------------------- Commit message for microsoft/vscode-python@b0ab10d: Only use activated environment from terminal if VSCode was launched via CLI (microsoft/vscode-python#20667) Closes microsoft/vscode-python#20644 -------------------- Commit message for microsoft/vscode-python@02a92fc: Ensure interpreter path isn't truncated for workspace-relative paths when storing value (microsoft/vscode-python#20661) For microsoft/vscode-python#20660 I'm not quite sure why this was done. It doesn't make sense to do this only for display. -------------------- Commit message for microsoft/vscode-python@377067f: Use correct API to get interpreter path for language servers (microsoft/vscode-python#20656) For microsoft/vscode-python#20644 closes microsoft/vscode-python#20657 -------------------- Commit message for microsoft/vscode-python@cd6ca9d: Remove `isort` extension dependency (microsoft/vscode-python#20577) Closes microsoft/vscode-python#20586 Lead-authored-by: Kartik Raj <karraj@microsoft.com> Co-authored-by: Erik De Bonte <erikd@microsoft.com> Co-authored-by: Karthik Nadig <kanadig@microsoft.com> Co-authored-by: mitchell <mitchellb@activestate.com> Co-authored-by: Pete Farland <pete.farland@posit.co> Co-authored-by: Eleanor Boyd <eleanorboyd@microsoft.com>
- Loading branch information
Showing
84 changed files
with
1,799 additions
and
510 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
30 changes: 30 additions & 0 deletions
30
extensions/positron-python/src/client/common/vscodeApis/extensionsApi.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
import * as path from 'path'; | ||
import * as fs from 'fs-extra'; | ||
import { Extension, extensions } from 'vscode'; | ||
import { PVSC_EXTENSION_ID } from '../constants'; | ||
|
||
export function getExtension<T = unknown>(extensionId: string): Extension<T> | undefined { | ||
return extensions.getExtension(extensionId); | ||
} | ||
|
||
export function isExtensionEnabled(extensionId: string): boolean { | ||
return extensions.getExtension(extensionId) !== undefined; | ||
} | ||
|
||
export function isExtensionDisabled(extensionId: string): boolean { | ||
// We need an enabled extension to find the extensions dir. | ||
const pythonExt = getExtension(PVSC_EXTENSION_ID); | ||
if (pythonExt) { | ||
let found = false; | ||
fs.readdirSync(path.dirname(pythonExt.extensionPath), { withFileTypes: false }).forEach((s) => { | ||
if (s.toString().startsWith(extensionId)) { | ||
found = true; | ||
} | ||
}); | ||
return found; | ||
} | ||
return false; | ||
} |
Oops, something went wrong.