Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove old code for folder support in interpreter path settings #12452

Closed
karrtikr opened this issue Jun 19, 2020 · 8 comments · Fixed by #22413
Closed

Remove old code for folder support in interpreter path settings #12452

karrtikr opened this issue Jun 19, 2020 · 8 comments · Fixed by #22413
Labels
area-environments Features relating to handling interpreter environments bug Issue identified by VS Code Team member as probable bug debt Covers everything internal: CI, testing, refactoring of the codebase, etc. verified Verification succeeded
Milestone

Comments

@karrtikr
Copy link

karrtikr commented Jun 19, 2020

This check is done to ensure if entered interpreter path is valid, and if so, the path is returned. I don't see the point of these checks, as we shouldn't support entering interpreter paths this way.

Variable 'pythonPath' refers to the path user entered

const KnownPythonExecutables = ['python', 'python4', 'python3.6', 'python3.5', 'python3', 'python2.7', 'python2'];
for (let executableName of KnownPythonExecutables) {
// Suffix with 'python' for linux and 'osx', and 'python.exe' for 'windows'.
if (IS_WINDOWS) {
executableName = `${executableName}.exe`;
if (isValidPythonPath(path.join(pythonPath, executableName))) {
return path.join(pythonPath, executableName);
}
if (isValidPythonPath(path.join(pythonPath, 'scripts', executableName))) {
return path.join(pythonPath, 'scripts', executableName);
}
} else {
if (isValidPythonPath(path.join(pythonPath, executableName))) {
return path.join(pythonPath, executableName);
}
if (isValidPythonPath(path.join(pythonPath, 'bin', executableName))) {
return path.join(pythonPath, 'bin', executableName);
}
}
}
return pythonPath;

Also, the first check when ensuring if interpreter path is valid is we should be checking if the entered path exists, which we're not doing.
This leads to us launching 14 exec commands <python> -c '1234' everytime a user enters an invalid path - leading to extension consuming too much CPU.

cc @DonJayamanne @karthiknadig

@karrtikr karrtikr added bug Issue identified by VS Code Team member as probable bug triage-needed Needs assignment to the proper sub-team labels Jun 19, 2020
@ghost ghost removed the triage-needed Needs assignment to the proper sub-team label Jun 22, 2020
@karrtikr karrtikr added the info-needed Issue requires more information from poster label Jun 23, 2020
@DonJayamanne
Copy link

This was for portability.
Users wanted to set the python path in their settings for all users in a team across multiple os.
E.g. assume users have a relative path to a virtual env in their workspace .venv, that would work on Mac Linux and windows without any other change.

@brettcannon might recall this change bring added into the extension.

@karrtikr
Copy link
Author

I see, @karthiknadig has observed that having these checks can wreck the SSH connection because of the 14 spawns made at worst case.
Also, I don't see this documented anywhere, wonder how many users are using this feature. Maybe we should add telemetry before deciding to removing these, or maybe have this as an optional feature?

@brettcannon
Copy link
Member

Thanks to removing python.pythonPath, I don't think this is necessary anymore and we should just expect people to specify the full path to their environment's Python interpreter.

@brettcannon brettcannon added needs PR area-environments Features relating to handling interpreter environments and removed info-needed Issue requires more information from poster triage labels Jun 23, 2020
@karrtikr karrtikr removed their assignment Jun 23, 2020
@luabud luabud added good first issue important Issue identified as high-priority labels Jul 6, 2021
@gsinha18
Copy link

gsinha18 commented Oct 1, 2021

Picking it up

@karrtikr karrtikr changed the title Remove unnecessary checks to ensure if pythonPath is valid when setting pythonPath Add telemetry for folder support in interpreter path settings Oct 20, 2021
@karrtikr
Copy link
Author

Checks have been converted to file exists check instead of launching the processes with #15725, so major concern with this issue is solved.

We should reconsider removing support for folders in python.defaultInterpreterPath setting: #15782. Add telemetry to see how many people use this: #12452 (comment).

@karrtikr
Copy link
Author

Once #17821 is done asynchronously, validating these settings can also be conducted asynchronously, so support this scenario shouldn't be an issue.

@github-actions github-actions bot removed the needs PR label Aug 9, 2022
@karrtikr karrtikr added the needs PR Ready to be worked on label Aug 9, 2022
@karrtikr karrtikr removed the bug Issue identified by VS Code Team member as probable bug label Nov 2, 2023
@karrtikr karrtikr added the debt Covers everything internal: CI, testing, refactoring of the codebase, etc. label Nov 2, 2023
@karrtikr
Copy link
Author

karrtikr commented Nov 2, 2023

We now have folder support inbuilt in the new discovery code, the old code is no longer needed.

@karrtikr
Copy link
Author

karrtikr commented Nov 2, 2023

Verification steps:

  • Python: Select Interpreter -> Enter interpreter path -> Enter full path to the environment folder (for eg. full path to .venv folder, can even contain ~)
  • Ensure interpreter still gets selected

@karrtikr karrtikr changed the title Add telemetry for folder support in interpreter path settings Remove old code for folder support in interpreter path settings Nov 2, 2023
@karrtikr karrtikr added the bug Issue identified by VS Code Team member as probable bug label Nov 2, 2023
@karrtikr karrtikr added this to the November 2023 milestone Nov 2, 2023
@github-actions github-actions bot removed the needs PR Ready to be worked on label Nov 2, 2023
@joyceerhl joyceerhl added the verified Verification succeeded label Nov 30, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 31, 2023
wesm pushed a commit to posit-dev/positron that referenced this issue Mar 28, 2024
…from upstream

Merge pull request #277 from posit-dev/merge/2023.22

Merge vscode-python 2023.22 from upstream
--------------------
Commit message for posit-dev/positron-python@2e3ea32:

handle new upstream `deprecated` response upon parser error

--------------------
Commit message for posit-dev/positron-python@d50c326:

Update yarn.lock

--------------------
Commit message for posit-dev/positron-python@105bf9d:

Merge commit 'a0cddbdf0939729cdb82dca2d129433ad475f51e'

--------------------
Commit message for microsoft/vscode-python@a0cddbd:

bump-release-2023.22 (microsoft/vscode-python#22587)

bump to release version 2023.22 and update package.json
--------------------
Commit message for microsoft/vscode-python@5302d0e:

Revert unsuccessful REPL decoration fix and disable for windows (microsoft/vscode-python#22578)

Reverting microsoft/vscode-python#22572 since it is producing color decoration on weird Python
REPL spot for Windows pwsh users, and disable decoration entirely for
Windows pwsh users temporarily while trying to fix specific problem.

Disable feature for stable. 

Refer: microsoft/vscode-python#22546 microsoft/vscode-python#22535
--------------------
Commit message for microsoft/vscode-python@bffc9b3:

Fix shell integration decoration bug for Windows pwsh (microsoft/vscode-python#22572)

Attempt to fix colorless and randomized circle decoration for Python
REPL usage by Windows Powershell users.
Resolves: microsoft/vscode-python#22546 microsoft/vscode-python#22535
--------------------
Commit message for microsoft/vscode-python@e1b54d0:

fix no test id provided for pytest run (microsoft/vscode-python#22569)

fixes microsoft/vscode-python#22567

Now if a user tries to click the "run" button a empty folder (ie a
folder with no tests in it) it will just run pytest with no testIds as
args and notify the user.
--------------------
Commit message for microsoft/vscode-python@61fcf3a:

Properly build deactivate commands for powershell (microsoft/vscode-python#22570)

For microsoft/vscode-python#20950
--------------------
Commit message for microsoft/vscode-python@db6e15e:

Do not throw if initializing deactivate script fails (microsoft/vscode-python#22566)

For microsoft/vscode-python#20950
--------------------
Commit message for microsoft/vscode-python@caa50dc:

Fix shell integration decoration for windows pwsh (microsoft/vscode-python#22560)

Attempting to fix shell integration decoration glitch for windows pwsh
when using Python REPL from VS Code.
Resolves: microsoft/vscode-python#22546 microsoft/vscode-python#22535
--------------------
Commit message for microsoft/vscode-python@3efb54f:

White space after REPL prompt (microsoft/vscode-python#22549)

There should be white space after new REPL prompt that I override for
purpose of shell integration.
Resolves: microsoft/vscode-python#22548
--------------------
Commit message for microsoft/vscode-python@261ae66:

Improvement: Pass along python interpreter to jedi-language-server (microsoft/vscode-python#22466)

Fixes microsoft/vscode-python#22495

## Before this PR

Overriding the Python interpreter to a different environment that isn't
the current globally-activated base environment would yield no
completions when Jedi is used as the underlying language server.

Example [stackoverflow
question](https://stackoverflow.com/questions/62018436/vscode-intellisense-code-completion-doesnt-work-when-i-am-not-in-base-conda-e)
hitting the same issue.

## After this PR

We now pass along the interpreter path to jedi-language-server as part
of the initial options under `workspace.environmentPath`
([ref](https://github.com/pappasam/jedi-language-server/#workspaceenvironmentpath))
--------------------
Commit message for microsoft/vscode-python@1639753:

switch to conditional error message on check for UUID and port during pytest config (microsoft/vscode-python#22534)

fixes microsoft/vscode-python#19857
--------------------
Commit message for microsoft/vscode-python@9a5363c:

Resolve test suite discovery import errors due to path ordering (microsoft/vscode-python#22454)

[Issue microsoft/vscode-python#22453](microsoft/vscode-python#22453)

- Once starting to run discovery, add the projects root path to PATH at
index 0 so that any further imports will use the projects root directory
and not reference the incorrect directory.
- Since the test suite only allows the start_dir to be one directory
deep, we can conclude that if the start_dir is not "." or contains a
"/", that we need to add that start_dir's parent to PATH. Otherwise, we
simply add the start_dir to PATH.
--------------------
Commit message for microsoft/vscode-python@eb96141:

Use shell integration to denote success/failure  (microsoft/vscode-python#22487)

Resolves: microsoft/vscode-python#22486

Use shell integration to denote success/failure in Python REPL launched
from VS Code.
This would mean having the blue or red decorators based on whether or
not user's command succeeded.
--------------------
Commit message for microsoft/vscode-python@f6e1338:

Use worker threads for fetching conda environments and interpreter related info (microsoft/vscode-python#22481)


--------------------
Commit message for microsoft/vscode-python@3c552f9:

Show warning and allow user to turn off smart send for deprecated Python code (microsoft/vscode-python#22353)

Resolves: microsoft/vscode-python#22341 microsoft/vscode-python#22340

Showing warning message after detecting user is on Python file with
deprecated Python code, and are attempting to run smart send via
shift+enter action. Allow user to turn off this via workspace setting.

---------

Co-authored-by: Courtney Webster <60238438+cwebster-99@users.noreply.github.com>
Co-authored-by: Kartik Raj <karraj@microsoft.com>
--------------------
Commit message for microsoft/vscode-python@ef983f4:

Bump `vscode-tas-client` and fix tests (microsoft/vscode-python#22493)

Closes microsoft/vscode-python#22461

Sinon requires the actual object definition, so we need to point it to
the module file that actually has the function.
--------------------
Commit message for microsoft/vscode-python@9298b2c:

Bump dessant/lock-threads from 4 to 5 (microsoft/vscode-python#22474)

Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads)
from 4 to 5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dessant/lock-threads/releases">dessant/lock-threads's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<p>Learn more about this release from the <a
href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md#changelog">changelog</a>.</p>
<h2>v4.0.1</h2>
<p>Learn more about this release from the <a
href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md#changelog">changelog</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md">dessant/lock-threads's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/dessant/lock-threads/compare/v4.0.1...v5.0.0">5.0.0</a>
(2023-11-14)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>Discussions are also processed by default,
set the <code>process-only</code> input parameter to preserve the old
behavior</li>
</ul>
<pre lang="yaml"><code>    steps:
      - uses: dessant/lock-threads@v5
        with:
          process-only: 'issues, prs'
</code></pre>
<ul>
<li>the action now requires Node.js 20</li>
</ul>
<h3>Features</h3>
<ul>
<li>lock discussions (<a
href="https://github.com/dessant/lock-threads/commit/0a0976f3ded51c88c6128dd96dd115c9f14fa764">0a0976f</a>),
closes <a
href="https://redirect.github.com/dessant/lock-threads/issues/25">#25</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>update dependencies (<a
href="https://github.com/dessant/lock-threads/commit/5a25b54eae3e7a5580d09ef0f7cbc5b18376db67">5a25b54</a>)</li>
</ul>
<h3><a
href="https://github.com/dessant/lock-threads/compare/v4.0.0...v4.0.1">4.0.1</a>
(2023-06-12)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>retry and throttle GitHub API requests (<a
href="https://github.com/dessant/lock-threads/commit/1618e91da69b9fe614fb9837ac673ea4600eb529">1618e91</a>),
closes <a
href="https://redirect.github.com/dessant/lock-threads/issues/35">#35</a></li>
</ul>
<h2><a
href="https://github.com/dessant/lock-threads/compare/v3.0.0...v4.0.0">4.0.0</a>
(2022-12-04)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>the action now requires Node.js 16</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>update dependencies (<a
href="https://github.com/dessant/lock-threads/commit/38e918558115222435d26c0639870cdbe3572929">38e9185</a>)</li>
<li>update docs (<a
href="https://github.com/dessant/lock-threads/commit/32986e26965060a85db09e98ef7e5958c961ae84">32986e2</a>)</li>
</ul>
<h2><a
href="https://github.com/dessant/lock-threads/compare/v2.1.2...v3.0.0">3.0.0</a>
(2021-09-27)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>input parameter names have changed</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dessant/lock-threads/commit/d42e5f49803f3c4e14ffee0378e31481265dda22"><code>d42e5f4</code></a>
chore(release): 5.0.0</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/d8da6c1485cbe748b5b632f1a52cf2a52941cbf9"><code>d8da6c1</code></a>
chore: update package</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/c1eab4b45f97073a922fbd226afab0e34a70cf5f"><code>c1eab4b</code></a>
chore: update workflow</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/0a0976f3ded51c88c6128dd96dd115c9f14fa764"><code>0a0976f</code></a>
feat: lock discussions</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/53f3f0c0b9158bece84746885adc5f4bf2dd1ddc"><code>53f3f0c</code></a>
chore: migrate package to ESM</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/5a25b54eae3e7a5580d09ef0f7cbc5b18376db67"><code>5a25b54</code></a>
fix: update dependencies</li>
<li>See full diff in <a
href="https://github.com/dessant/lock-threads/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dessant/lock-threads&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@e27185a:

Use worker threads for fetching Windows Registry interpreters (microsoft/vscode-python#22479)

For microsoft/vscode-python#22146
--------------------
Commit message for microsoft/vscode-python@7a4de92:

Use `WorkspaceFolder.name` in addition to workspace folder's basename when resolving `${workspaceFolder:name}` syntax in settings (microsoft/vscode-python#22471)

Closes microsoft/vscode-python#22452
--------------------
Commit message for microsoft/vscode-python@fbfa126:

Add 3.12 to conda version list (microsoft/vscode-python#22470)


--------------------
Commit message for microsoft/vscode-python@47552a3:

Install requirements before toml (microsoft/vscode-python#22468)

Fixes microsoft/vscode-python#22423
--------------------
Commit message for microsoft/vscode-python@a1fac81:

If active editor opened is outside the editor, activate the first workspace (microsoft/vscode-python#22450)

For microsoft/vscode-python#22449
--------------------
Commit message for microsoft/vscode-python@b68ddee:

Support deactivating virtual environments without user intervention (microsoft/vscode-python#22405)

Closes microsoft/vscode-python#22448

Adds deactivate script to `PATH`
--------------------
Commit message for microsoft/vscode-python@8d174a8:

Fix shell integration API reliability (microsoft/vscode-python#22446)

microsoft/vscode-python#22440

It leads to terminals activating forever.
--------------------
Commit message for microsoft/vscode-python@1b3c1ea:

Adding `Locked` comments to walkthrough commands (microsoft/vscode-python#22432)

Adds comments to lock command names for walkthrough localization. Only
added Locked comments for walkthrough tiles that are in use and have
commands
--------------------
Commit message for microsoft/vscode-python@2fc9fea:

Revert "Reliably detect whether shell integration is working" (microsoft/vscode-python#22445)

Reverts microsoft/vscode-python#22440

It seems reactivating never finishes after this, although this doesn't
repro when debugging the extension, have to investigate further.
--------------------
Commit message for microsoft/vscode-python@f98caf6:

Add consoleTitle to launch.json properties schema (microsoft/vscode-python#22406)

consoleTitle is effectively an undocumented feature. pydebug accepts the
config key, but vscode will report a problem because it is missing from
the schema. see [this debugpy
issue](microsoft/debugpy#1178) and
[#13040](microsoft/vscode-python#13040)

I used the phrase "console or terminal" because I noticed the name was
represented on both integratedTerminal and internalConsole. I didn't
test externalTerminal.

---------

Co-authored-by: Luciana Abud <45497113+luabud@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@2a976e3:

Reliably detect whether shell integration is working (microsoft/vscode-python#22440)

Closes microsoft/vscode-python#22439

Blocked on https://github.com/microsoft/vscode-distro/pull/822
--------------------
Commit message for microsoft/vscode-python@67b4801:

Improve shell identifier on case-insensitive system (microsoft/vscode-python#22391)

Use case-insensitive regex to remove `.exe`  extension.

See:
microsoft/vscode-python#22036 (comment)
--------------------
Commit message for microsoft/vscode-python@7bc45e5:

Do not attempt to kill the process if it has already exited (microsoft/vscode-python#22424)

Closes microsoft/vscode-python#22420

This bugs seems to have existed every since `rawProcessApi.ts` was
created. `proc.killed` can be `false` even after process has exited.
--------------------
Commit message for microsoft/vscode-python@f6cfa6e:

Remove old code for folder support in interpreter path setting (microsoft/vscode-python#22413)

Closes microsoft/vscode-python#12452

Lead-authored-by: Kartik Raj <karraj@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Courtney Webster <60238438+cwebster-99@users.noreply.github.com>
Co-authored-by: John H. Ayad <johnhany97@gmail.com>
Co-authored-by: Wasim Lorgat <mwlorgat@gmail.com>
Co-authored-by: Shane Saravia <shanesaravia@live.ca>
Co-authored-by: Trysten <trysten@sleepyowl.com>
Co-authored-by: JamzumSum <zzzzss990315@gmail.com>
Co-authored-by: Eleanor Boyd <eleanorboyd@microsoft.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
Co-authored-by: Pete Farland <pete.farland@posit.co>
Co-authored-by: Anthony Kim <62267334+anthonykim1@users.noreply.github.com>
Signed-off-by: GitHub <noreply@github.com>
wesm pushed a commit to posit-dev/positron that referenced this issue Mar 28, 2024
…from upstream

Merge pull request #277 from posit-dev/merge/2023.22

Merge vscode-python 2023.22 from upstream
--------------------
Commit message for posit-dev/positron-python@2e3ea32:

handle new upstream `deprecated` response upon parser error

--------------------
Commit message for posit-dev/positron-python@d50c326:

Update yarn.lock

--------------------
Commit message for posit-dev/positron-python@105bf9d:

Merge commit 'a0cddbdf0939729cdb82dca2d129433ad475f51e'

--------------------
Commit message for microsoft/vscode-python@a0cddbd:

bump-release-2023.22 (microsoft/vscode-python#22587)

bump to release version 2023.22 and update package.json
--------------------
Commit message for microsoft/vscode-python@5302d0e:

Revert unsuccessful REPL decoration fix and disable for windows (microsoft/vscode-python#22578)

Reverting microsoft/vscode-python#22572 since it is producing color decoration on weird Python
REPL spot for Windows pwsh users, and disable decoration entirely for
Windows pwsh users temporarily while trying to fix specific problem.

Disable feature for stable. 

Refer: microsoft/vscode-python#22546 microsoft/vscode-python#22535
--------------------
Commit message for microsoft/vscode-python@bffc9b3:

Fix shell integration decoration bug for Windows pwsh (microsoft/vscode-python#22572)

Attempt to fix colorless and randomized circle decoration for Python
REPL usage by Windows Powershell users.
Resolves: microsoft/vscode-python#22546 microsoft/vscode-python#22535
--------------------
Commit message for microsoft/vscode-python@e1b54d0:

fix no test id provided for pytest run (microsoft/vscode-python#22569)

fixes microsoft/vscode-python#22567

Now if a user tries to click the "run" button a empty folder (ie a
folder with no tests in it) it will just run pytest with no testIds as
args and notify the user.
--------------------
Commit message for microsoft/vscode-python@61fcf3a:

Properly build deactivate commands for powershell (microsoft/vscode-python#22570)

For microsoft/vscode-python#20950
--------------------
Commit message for microsoft/vscode-python@db6e15e:

Do not throw if initializing deactivate script fails (microsoft/vscode-python#22566)

For microsoft/vscode-python#20950
--------------------
Commit message for microsoft/vscode-python@caa50dc:

Fix shell integration decoration for windows pwsh (microsoft/vscode-python#22560)

Attempting to fix shell integration decoration glitch for windows pwsh
when using Python REPL from VS Code.
Resolves: microsoft/vscode-python#22546 microsoft/vscode-python#22535
--------------------
Commit message for microsoft/vscode-python@3efb54f:

White space after REPL prompt (microsoft/vscode-python#22549)

There should be white space after new REPL prompt that I override for
purpose of shell integration.
Resolves: microsoft/vscode-python#22548
--------------------
Commit message for microsoft/vscode-python@261ae66:

Improvement: Pass along python interpreter to jedi-language-server (microsoft/vscode-python#22466)

Fixes microsoft/vscode-python#22495

## Before this PR

Overriding the Python interpreter to a different environment that isn't
the current globally-activated base environment would yield no
completions when Jedi is used as the underlying language server.

Example [stackoverflow
question](https://stackoverflow.com/questions/62018436/vscode-intellisense-code-completion-doesnt-work-when-i-am-not-in-base-conda-e)
hitting the same issue.

## After this PR

We now pass along the interpreter path to jedi-language-server as part
of the initial options under `workspace.environmentPath`
([ref](https://github.com/pappasam/jedi-language-server/#workspaceenvironmentpath))
--------------------
Commit message for microsoft/vscode-python@1639753:

switch to conditional error message on check for UUID and port during pytest config (microsoft/vscode-python#22534)

fixes microsoft/vscode-python#19857
--------------------
Commit message for microsoft/vscode-python@9a5363c:

Resolve test suite discovery import errors due to path ordering (microsoft/vscode-python#22454)

[Issue microsoft/vscode-python#22453](microsoft/vscode-python#22453)

- Once starting to run discovery, add the projects root path to PATH at
index 0 so that any further imports will use the projects root directory
and not reference the incorrect directory.
- Since the test suite only allows the start_dir to be one directory
deep, we can conclude that if the start_dir is not "." or contains a
"/", that we need to add that start_dir's parent to PATH. Otherwise, we
simply add the start_dir to PATH.
--------------------
Commit message for microsoft/vscode-python@eb96141:

Use shell integration to denote success/failure  (microsoft/vscode-python#22487)

Resolves: microsoft/vscode-python#22486

Use shell integration to denote success/failure in Python REPL launched
from VS Code.
This would mean having the blue or red decorators based on whether or
not user's command succeeded.
--------------------
Commit message for microsoft/vscode-python@f6e1338:

Use worker threads for fetching conda environments and interpreter related info (microsoft/vscode-python#22481)


--------------------
Commit message for microsoft/vscode-python@3c552f9:

Show warning and allow user to turn off smart send for deprecated Python code (microsoft/vscode-python#22353)

Resolves: microsoft/vscode-python#22341 microsoft/vscode-python#22340

Showing warning message after detecting user is on Python file with
deprecated Python code, and are attempting to run smart send via
shift+enter action. Allow user to turn off this via workspace setting.

---------

Co-authored-by: Courtney Webster <60238438+cwebster-99@users.noreply.github.com>
Co-authored-by: Kartik Raj <karraj@microsoft.com>
--------------------
Commit message for microsoft/vscode-python@ef983f4:

Bump `vscode-tas-client` and fix tests (microsoft/vscode-python#22493)

Closes microsoft/vscode-python#22461

Sinon requires the actual object definition, so we need to point it to
the module file that actually has the function.
--------------------
Commit message for microsoft/vscode-python@9298b2c:

Bump dessant/lock-threads from 4 to 5 (microsoft/vscode-python#22474)

Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads)
from 4 to 5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dessant/lock-threads/releases">dessant/lock-threads's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<p>Learn more about this release from the <a
href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md#changelog">changelog</a>.</p>
<h2>v4.0.1</h2>
<p>Learn more about this release from the <a
href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md#changelog">changelog</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md">dessant/lock-threads's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/dessant/lock-threads/compare/v4.0.1...v5.0.0">5.0.0</a>
(2023-11-14)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>Discussions are also processed by default,
set the <code>process-only</code> input parameter to preserve the old
behavior</li>
</ul>
<pre lang="yaml"><code>    steps:
      - uses: dessant/lock-threads@v5
        with:
          process-only: 'issues, prs'
</code></pre>
<ul>
<li>the action now requires Node.js 20</li>
</ul>
<h3>Features</h3>
<ul>
<li>lock discussions (<a
href="https://github.com/dessant/lock-threads/commit/0a0976f3ded51c88c6128dd96dd115c9f14fa764">0a0976f</a>),
closes <a
href="https://redirect.github.com/dessant/lock-threads/issues/25">#25</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>update dependencies (<a
href="https://github.com/dessant/lock-threads/commit/5a25b54eae3e7a5580d09ef0f7cbc5b18376db67">5a25b54</a>)</li>
</ul>
<h3><a
href="https://github.com/dessant/lock-threads/compare/v4.0.0...v4.0.1">4.0.1</a>
(2023-06-12)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>retry and throttle GitHub API requests (<a
href="https://github.com/dessant/lock-threads/commit/1618e91da69b9fe614fb9837ac673ea4600eb529">1618e91</a>),
closes <a
href="https://redirect.github.com/dessant/lock-threads/issues/35">#35</a></li>
</ul>
<h2><a
href="https://github.com/dessant/lock-threads/compare/v3.0.0...v4.0.0">4.0.0</a>
(2022-12-04)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>the action now requires Node.js 16</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>update dependencies (<a
href="https://github.com/dessant/lock-threads/commit/38e918558115222435d26c0639870cdbe3572929">38e9185</a>)</li>
<li>update docs (<a
href="https://github.com/dessant/lock-threads/commit/32986e26965060a85db09e98ef7e5958c961ae84">32986e2</a>)</li>
</ul>
<h2><a
href="https://github.com/dessant/lock-threads/compare/v2.1.2...v3.0.0">3.0.0</a>
(2021-09-27)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>input parameter names have changed</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dessant/lock-threads/commit/d42e5f49803f3c4e14ffee0378e31481265dda22"><code>d42e5f4</code></a>
chore(release): 5.0.0</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/d8da6c1485cbe748b5b632f1a52cf2a52941cbf9"><code>d8da6c1</code></a>
chore: update package</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/c1eab4b45f97073a922fbd226afab0e34a70cf5f"><code>c1eab4b</code></a>
chore: update workflow</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/0a0976f3ded51c88c6128dd96dd115c9f14fa764"><code>0a0976f</code></a>
feat: lock discussions</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/53f3f0c0b9158bece84746885adc5f4bf2dd1ddc"><code>53f3f0c</code></a>
chore: migrate package to ESM</li>
<li><a
href="https://github.com/dessant/lock-threads/commit/5a25b54eae3e7a5580d09ef0f7cbc5b18376db67"><code>5a25b54</code></a>
fix: update dependencies</li>
<li>See full diff in <a
href="https://github.com/dessant/lock-threads/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dessant/lock-threads&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@e27185a:

Use worker threads for fetching Windows Registry interpreters (microsoft/vscode-python#22479)

For microsoft/vscode-python#22146
--------------------
Commit message for microsoft/vscode-python@7a4de92:

Use `WorkspaceFolder.name` in addition to workspace folder's basename when resolving `${workspaceFolder:name}` syntax in settings (microsoft/vscode-python#22471)

Closes microsoft/vscode-python#22452
--------------------
Commit message for microsoft/vscode-python@fbfa126:

Add 3.12 to conda version list (microsoft/vscode-python#22470)


--------------------
Commit message for microsoft/vscode-python@47552a3:

Install requirements before toml (microsoft/vscode-python#22468)

Fixes microsoft/vscode-python#22423
--------------------
Commit message for microsoft/vscode-python@a1fac81:

If active editor opened is outside the editor, activate the first workspace (microsoft/vscode-python#22450)

For microsoft/vscode-python#22449
--------------------
Commit message for microsoft/vscode-python@b68ddee:

Support deactivating virtual environments without user intervention (microsoft/vscode-python#22405)

Closes microsoft/vscode-python#22448

Adds deactivate script to `PATH`
--------------------
Commit message for microsoft/vscode-python@8d174a8:

Fix shell integration API reliability (microsoft/vscode-python#22446)

microsoft/vscode-python#22440

It leads to terminals activating forever.
--------------------
Commit message for microsoft/vscode-python@1b3c1ea:

Adding `Locked` comments to walkthrough commands (microsoft/vscode-python#22432)

Adds comments to lock command names for walkthrough localization. Only
added Locked comments for walkthrough tiles that are in use and have
commands
--------------------
Commit message for microsoft/vscode-python@2fc9fea:

Revert "Reliably detect whether shell integration is working" (microsoft/vscode-python#22445)

Reverts microsoft/vscode-python#22440

It seems reactivating never finishes after this, although this doesn't
repro when debugging the extension, have to investigate further.
--------------------
Commit message for microsoft/vscode-python@f98caf6:

Add consoleTitle to launch.json properties schema (microsoft/vscode-python#22406)

consoleTitle is effectively an undocumented feature. pydebug accepts the
config key, but vscode will report a problem because it is missing from
the schema. see [this debugpy
issue](microsoft/debugpy#1178) and
[#13040](microsoft/vscode-python#13040)

I used the phrase "console or terminal" because I noticed the name was
represented on both integratedTerminal and internalConsole. I didn't
test externalTerminal.

---------

Co-authored-by: Luciana Abud <45497113+luabud@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@2a976e3:

Reliably detect whether shell integration is working (microsoft/vscode-python#22440)

Closes microsoft/vscode-python#22439

Blocked on https://github.com/microsoft/vscode-distro/pull/822
--------------------
Commit message for microsoft/vscode-python@67b4801:

Improve shell identifier on case-insensitive system (microsoft/vscode-python#22391)

Use case-insensitive regex to remove `.exe`  extension.

See:
microsoft/vscode-python#22036 (comment)
--------------------
Commit message for microsoft/vscode-python@7bc45e5:

Do not attempt to kill the process if it has already exited (microsoft/vscode-python#22424)

Closes microsoft/vscode-python#22420

This bugs seems to have existed every since `rawProcessApi.ts` was
created. `proc.killed` can be `false` even after process has exited.
--------------------
Commit message for microsoft/vscode-python@f6cfa6e:

Remove old code for folder support in interpreter path setting (microsoft/vscode-python#22413)

Closes microsoft/vscode-python#12452

Lead-authored-by: Kartik Raj <karraj@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Courtney Webster <60238438+cwebster-99@users.noreply.github.com>
Co-authored-by: John H. Ayad <johnhany97@gmail.com>
Co-authored-by: Wasim Lorgat <mwlorgat@gmail.com>
Co-authored-by: Shane Saravia <shanesaravia@live.ca>
Co-authored-by: Trysten <trysten@sleepyowl.com>
Co-authored-by: JamzumSum <zzzzss990315@gmail.com>
Co-authored-by: Eleanor Boyd <eleanorboyd@microsoft.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
Co-authored-by: Pete Farland <pete.farland@posit.co>
Co-authored-by: Anthony Kim <62267334+anthonykim1@users.noreply.github.com>
Signed-off-by: GitHub <noreply@github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-environments Features relating to handling interpreter environments bug Issue identified by VS Code Team member as probable bug debt Covers everything internal: CI, testing, refactoring of the codebase, etc. verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants