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

Fx win reg locator #1837

Draft
wants to merge 642 commits into
base: main
Choose a base branch
from
Draft

Conversation

DonJayamanne
Copy link
Owner

No description provided.

Kartik Raj and others added 30 commits November 9, 2023 16:59
… when resolving `${workspaceFolder:name}` syntax in settings (#22471)

Closes #22452
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>
Closes #22461

Sinon requires the actual object definition, so we need to point it to
the module file that actually has the function.
…hon code (#22353)

Resolves: #22341 #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>
Resolves: #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.
[Issue #22453](#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.
…22466)

Fixes #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))
There should be white space after new REPL prompt that I override for
purpose of shell integration.
Resolves: #22548
Attempting to fix shell integration decoration glitch for windows pwsh
when using Python REPL from VS Code.
Resolves: #22546 #22535
fixes #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.
Attempt to fix colorless and randomized circle decoration for Python
REPL usage by Windows Powershell users.
Resolves: #22546 #22535
Reverting #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: #22546 #22535
bump to release version 2023.22 and update package.json
unfreezing main by switching version back to `-rc`, `2023.23.0-rc`
…g" (#22638)

Reverts #22413
#22618

Turns out we still need this code for old deprecated APIs that we
expose, one of which is used in testing.
Fixes pre-release, dynamic strings are not supported by localization.
…22629)

Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
Add steps to use for a point releases to the release plan document so there is a reference on how to do so.
…o be canceled (#22653)

This logging will provide greater visibility for users as the discovery
or execution process immediately exits since the process interprets
there is already a similar process is going. This can inform users or
help spot bugs
DonJayamanne and others added 29 commits May 13, 2024 14:51
**Fixes**
* #23413
* & the fact that we always use the same conda exe to manage all conda
envs, even if multiple are installed.

* Step 1:
* Look for conda install folders in known locations such as `/<user
home>/miniconda3`, `<user profile>/Anaconda3`
* Step 2:
* For each install location identified, inspect that folder and extract
the
        * Conda executable
        * All environments belonging to that conda installation
* Step 3:
    * Old approach, 
* 1. find any conda in sys path or other locations and find conda
installation via that mechanism
* 2. Get all envs from environments.txt file (any remaining conda envs
not discovered in 1 & 2 will be discoverred here and use some the global
conda exe)
Once we have step 1 and 2, I do not expect anything new to show up in
step 3,
Even if users install conda into some custom locations (the solution
would be to run step 1 with the custom location provided by user in
settings.json file)

**How to find environments?**
* Look in the `envs` folder of the conda installation
* Look at the entries in the `environments.txt` file
* Look at the `env_dirs` in the `.condarc` file

With these two, we should be able to eliminate the need to ever spawn
conda to get the env directories.


**How do we know whether a conda environment belongs to a specific conda
installation**
* If it is in the `envs` sub directory of the conda installation
* Else, have a look at `<env folder>/conda-meta/history` file to look at
the conda installation that was used to create this environment
Allow users to use Interactive Window UI with Python custom REPL
controller instead of iPykernel.
Closes #23175
Closes #23174 
Closes #23029
Majority of: #23332 

Context menu under Python for running Python REPL code using IW UI
should only appear when user's ```pythonRunREPL``` experiment is
enabled.
fixes #23434

switched parameterized function IDs to now be
`path/to/file::ClassIfExists::functionName` so it is an absolute ID and
will not be confused across classes.
We discussed how it might not be clear to the user that this action will
create a virtual environment in addition to running their last command
to install packages into the newly created environment. Thoughts on
adding this detail?
… UI (#23442)

"Smartly" allow execute on enter for the
#23235 experiment.
User should be able to execute when they press enter on text input box
of interactive window trigger from Python extension, whereas we would
"wait" and allow insertion of new line after detecting user's Python
command is not complete.

When the user finally types enter again on a blank line, we should just
proceed to execute whatever code, regardless of whether it is
complete/valid or not to replicate Python's original interactive REPL
behavior.

Basically creating Python command and registering that for keybinding of
'Enter'.
This would conditionally call interactive.execute which would then
eventually call our execute handler contributed from Python n
extension's REPL controller, or go ahead and insert,pass in Enter to the
text input box to allow user to type "complete" code.



This PR only intends to implement/add changes regarding execute on enter
logic, adding Intellisense support, and also adding things into
disposables so they can be properly disposed. Trying to also add setting
to allow toggling on/off to send Python command to Terminal or IW REPL
if the user is in experiment.


Handling of interrupt for windows should be on separate PR.
Test will be added later as separate PR.

---------

Co-authored-by: Courtney Webster <60238438+cwebster-99@users.noreply.github.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
This ensures that if we run cargo build to build the native code it gets
included in the VSIX. For now this is only for the builds for VSIX
generated on github, for testing. As this is not ready for published
pre-releases.
@karthiknadig karthiknadig deleted the fxWinRegLocator branch June 13, 2024 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.