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

Improve the logic of the Run button in the upper right corner #21097

Closed
JiahaoCodes opened this issue Apr 21, 2023 · 3 comments · Fixed by #21202
Closed

Improve the logic of the Run button in the upper right corner #21097

JiahaoCodes opened this issue Apr 21, 2023 · 3 comments · Fixed by #21202
Assignees
Labels
area-terminal feature-request Request for new features or functionality

Comments

@JiahaoCodes
Copy link

When using a Python plugin, if I want to launch two programs and have them run indefinitely (e.g. in an infinite loop), the logic of the Run button in the upper right corner is very strange. When I use the Run button to launch the programs, both programs share the same terminal, which causes the second program to have to wait for the first program to finish before it can start (obviously, the first program in the infinite loop will not stop), which obviously does not meet the usage habits.

I hope that the Run button in the upper right corner has the following logic:

  • Each program uses a new terminal and displays the name of the running program in each terminal to distinguish different programs(e.g. python:filename),
  • or detects the status of the terminal, if the previous program has finished execution, start in the same terminal, otherwise start in a new terminal.
@JiahaoCodes JiahaoCodes added the feature-request Request for new features or functionality label Apr 21, 2023
@github-actions github-actions bot added the triage-needed Needs assignment to the proper sub-team label Apr 21, 2023
@luabud
Copy link
Member

luabud commented Apr 24, 2023

#15770, #14094

@karrtikr karrtikr changed the title the logic of the Run button in the upper right corner Improve the logic of the Run button in the upper right corner May 8, 2023
@karrtikr
Copy link

karrtikr commented May 8, 2023

@SAquarius I've incorporated your suggestion in #21202 to open a different "Python" terminal for every file, thanks.

We hope to solve this issue generally in #15770, #14094.

@karrtikr karrtikr added area-terminal needs PR Ready to be worked on and removed triage-needed Needs assignment to the proper sub-team labels May 8, 2023
@karrtikr karrtikr added this to the May 2023 milestone May 8, 2023
@karrtikr
Copy link

karrtikr commented May 8, 2023

Closing in favor of #14094.

@karrtikr karrtikr closed this as not planned Won't fix, can't repro, duplicate, stale May 8, 2023
@karrtikr karrtikr removed this from the May 2023 milestone May 8, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 9, 2023
@eleanorjboyd eleanorjboyd removed the needs PR Ready to be worked on label Dec 14, 2023
wesm pushed a commit to posit-dev/positron that referenced this issue Mar 28, 2024
…on release 2023.10.0

Merge pull request #122 from posit-dev/merge/2023.10.0

Merging upstream vscode-python release 2023.10.0
--------------------
Commit message for posit-dev/positron-python@fc0926f:

Add typings to get updated EnvironmentVariableCollection API

--------------------
Commit message for posit-dev/positron-python@8c11f29:

Merge remote-tracking branch 'upstream/release/2023.10'

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

Update version and readme for release (posit-dev/positron-python#21388)

Co-authored-by: Soojin (Min) Choi <minsa110@gmail.com>
--------------------
Commit message for microsoft/vscode-python@ad9c899:

Update version for release candidate (microsoft/vscode-python#21369)


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

fix bug so canceling debug works in rewrite (microsoft/vscode-python#21361)

fixes microsoft/vscode-python#21336
--------------------
Commit message for microsoft/vscode-python@be829b3:

Unittest for large workspaces (microsoft/vscode-python#21351)

follows the same steps as making pytest compatible with large workspaces
with many tests. Now test_ids are sent over a port as a json instead of
in the exec function which can hit a cap on # of characters. Should fix
microsoft/vscode-python#21339.
--------------------
Commit message for microsoft/vscode-python@cd76ee1:

add pythonTestAdapter to experiment enum (microsoft/vscode-python#21357)

allow people to opt in and out of the pythonTestAdapter rewrite via the
settings `python.experiment.optInto` or `python.experiment.optOutfrom`
--------------------
Commit message for microsoft/vscode-python@dbd0b73:

adding extra log messages for rewrite debugging (microsoft/vscode-python#21352)

These logs print errors and other bits of information which will be
helpful for debugging workflows of users where we need to get
information such as args or which step in the process they got to.
--------------------
Commit message for microsoft/vscode-python@d968b8c:

Dont show command for button trigger in command pallet (microsoft/vscode-python#21350)

Fixes microsoft/vscode-python#21322
--------------------
Commit message for microsoft/vscode-python@e9a8dd5:

remove duplicates from test_ids array (microsoft/vscode-python#21347)

this will partially remediate
microsoft/vscode-python#21339 in regards to
the duplicate IDs being run.
--------------------
Commit message for microsoft/vscode-python@f148139:

allow pytest tests to handle multiple payloads (microsoft/vscode-python#21301)

As part of the switch to allow for dynamic run- the pytest discovery and
execution tests are now switched to be take lists of dicts where the
dicts are the payloads.
--------------------
Commit message for microsoft/vscode-python@c213491:

Apply environment variables after shell initialization scripts are run in `pythonTerminalEnvVarActivation` experiment (microsoft/vscode-python#21290)

For microsoft/vscode-python#11039 microsoft/vscode-python#20822
Closes microsoft/vscode-python#21297

Update proposed APIs to be used in Terminal activation experiment.
--------------------
Commit message for microsoft/vscode-python@72f7ef8:

Set up testing rewrite experiment (microsoft/vscode-python#21258)

is the beginning of this issue:
microsoft/vscode-python#21150, in that it will
start the process of implementing the setting in the extension
--------------------
Commit message for microsoft/vscode-python@4109228:

fix debugging with new pytest run script (microsoft/vscode-python#21299)

fix debugging for run_pytest_script.py setup
--------------------
Commit message for microsoft/vscode-python@b916981:

remove unneeded multiroot code (microsoft/vscode-python#21295)

removed extra steps to wrap data since this creates duplicate folders in
the controller and only keeps the most recent instead of all the roots
from different workspaces.
--------------------
Commit message for microsoft/vscode-python@e2a9cec:

allow large scale testing (microsoft/vscode-python#21269)

allows new testing rewrite to handle 500+ tests and load and run these
tests. High limit tested was 10,000 tests.
--------------------
Commit message for microsoft/vscode-python@f2f5fe2:

Check config type in the ChildProcessAttachEvents (microsoft/vscode-python#21272)


--------------------
Commit message for microsoft/vscode-python@4b4e5b7:

Update pyright version (microsoft/vscode-python#21296)

Fix error in tests, updating pyright version
--------------------
Commit message for microsoft/vscode-python@c9a7268:

Revert "Remove hack to check the vscode version" (microsoft/vscode-python#21294)

Reverts microsoft/vscode-python#21180
For microsoft/vscode-python#20769
--------------------
Commit message for microsoft/vscode-python@a74f1d1:

Detect installed packages in the selected environment (microsoft/vscode-python#21231)

Fixes microsoft/vscode-python#21140
--------------------
Commit message for microsoft/vscode-python@b0ebc9b:

Enable debug pytest (microsoft/vscode-python#21228)

fixes microsoft/vscode-python#21147

---------

Co-authored-by: Aidos Kanapyanov <65722512+aidoskanapyanov@users.noreply.github.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
--------------------
Commit message for microsoft/vscode-python@be9662f:

revert testing to using socket (microsoft/vscode-python#21242)

switch back to using a socket instead of an output file for use in the
plugin communication during testing. This should work now that we
resolved the issue with python path for windows.
--------------------
Commit message for microsoft/vscode-python@b4a47bb:

Add reload flag on fastApi provider (microsoft/vscode-python#21241)


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

Add option for pyenv interpreters when creating environments with venv (microsoft/vscode-python#21219)

Resolves microsoft/vscode-python#20881 .

Testing:

Behaves as expected when testing with Extension Development Host:


![image](https://github.com/microsoft/vscode-python/assets/30149293/d114d9ab-f2d8-4273-877b-d7dd030cfe76)
--------------------
Commit message for microsoft/vscode-python@b3d43e5:

Do not open "save as" window when running existing Python files (microsoft/vscode-python#21232)

Closes microsoft/vscode-python#21209
--------------------
Commit message for microsoft/vscode-python@b0da28c:

Remove IS_WINDOWS constant in favor of PlatformService (microsoft/vscode-python#21157)

Solves partially microsoft/vscode-python#8542
--------------------
Commit message for microsoft/vscode-python@0c4fa40:

Change name of command to run Python files in separate terminals (microsoft/vscode-python#21229)

Closes microsoft/vscode-python#14094
--------------------
Commit message for microsoft/vscode-python@1533818:

Added option to run multiple Python files in separate terminals (microsoft/vscode-python#21223)

Closes microsoft/vscode-python#21215
microsoft/vscode-python#14094

Added the option to assign a dedicated terminal for each Python file:


![image](https://github.com/microsoft/vscode-python/assets/13199757/b01248e4-c826-4de0-b15f-cde959965e68)
--------------------
Commit message for microsoft/vscode-python@eb9fde3:

Add `createEnvironment.contentButton` setting (microsoft/vscode-python#21212)

Closes microsoft/vscode-python#20982

---------

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

Add logging when interpreter path changes (microsoft/vscode-python#21210)

For microsoft/vscode-python#21208
--------------------
Commit message for microsoft/vscode-python@8d291f7:

Disable "snippets" expansion in Jedi LSP (microsoft/vscode-python#21194)

This brings the Jedi based completion experience in line with that
provided by Pylance. Completions now insert only the current symbol
rather than assuming that the user wants to e.g: call that symbol.

This means for example that completing `max` will insert just `max`
rather `max(arg1, arg2)`. While for this case this may be seen as less
useful, it means that insertions in places where a call is not desired
(such as imports and typing contexts) will not be forced to manually
remove the parentheses and template arguments which might otherwise be
inserted.

Users can still use the signature support UI to explore signatures and
of course insertion of an opening parenthesis will still insert a
closing one.

Hopefully this new configuration will be preferable to a majority of
users.

I've done some light testing to check that this disables the described
additional completion, however I'm not massively familiar with JediLSP
so I'm not sure what other behaviours this will disable.

Fixes microsoft/vscode-python#15858
--------------------
Commit message for microsoft/vscode-python@a85eb3b:

Fix startup telemetry issue (microsoft/vscode-python#21203)

Could fix microsoft/vscode-python#20874 based
on error trace.
--------------------
Commit message for microsoft/vscode-python@17daae4:

Open separate Python terminals when running different Python files (microsoft/vscode-python#21202)

Closes microsoft/vscode-python#21097
Closes microsoft/vscode-python#14094
--------------------
Commit message for microsoft/vscode-python@f0253e5:

Use actions from `vscode-github-triage-actions` in all Python automations (microsoft/vscode-python#21178)


--------------------
Commit message for microsoft/vscode-python@678f70d:

Remove hack to check the vscode version (microsoft/vscode-python#21180)

Closed: microsoft/vscode-python#20769
--------------------
Commit message for microsoft/vscode-python@6bdada0:

Use `saveEditor` proposed API for running untitled Python files (microsoft/vscode-python#21183)

Closes microsoft/vscode-python#21182

Lead-authored-by: Eleanor Boyd <eleanorboyd@microsoft.com>
Co-authored-by: Peter Law <PeterJCLaw@gmail.com>
Co-authored-by: Carlos Piña Martinez <carlospinamartinezdm@gmail.com>
Co-authored-by: Jonathan Rayner <jonathan.j.rayner@gmail.com>
Co-authored-by: Pete Farland <pete.farland@posit.co>
Co-authored-by: paulacamargo25 <paulitacv25@gmail.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
Co-authored-by: Kartik Raj <karraj@microsoft.com>
Signed-off-by: GitHub <noreply@github.com>
wesm pushed a commit to posit-dev/positron that referenced this issue Mar 28, 2024
…on release 2023.10.0

Merge pull request #122 from posit-dev/merge/2023.10.0

Merging upstream vscode-python release 2023.10.0
--------------------
Commit message for posit-dev/positron-python@fc0926f:

Add typings to get updated EnvironmentVariableCollection API

--------------------
Commit message for posit-dev/positron-python@8c11f29:

Merge remote-tracking branch 'upstream/release/2023.10'

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

Update version and readme for release (posit-dev/positron-python#21388)

Co-authored-by: Soojin (Min) Choi <minsa110@gmail.com>
--------------------
Commit message for microsoft/vscode-python@ad9c899:

Update version for release candidate (microsoft/vscode-python#21369)


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

fix bug so canceling debug works in rewrite (microsoft/vscode-python#21361)

fixes microsoft/vscode-python#21336
--------------------
Commit message for microsoft/vscode-python@be829b3:

Unittest for large workspaces (microsoft/vscode-python#21351)

follows the same steps as making pytest compatible with large workspaces
with many tests. Now test_ids are sent over a port as a json instead of
in the exec function which can hit a cap on # of characters. Should fix
microsoft/vscode-python#21339.
--------------------
Commit message for microsoft/vscode-python@cd76ee1:

add pythonTestAdapter to experiment enum (microsoft/vscode-python#21357)

allow people to opt in and out of the pythonTestAdapter rewrite via the
settings `python.experiment.optInto` or `python.experiment.optOutfrom`
--------------------
Commit message for microsoft/vscode-python@dbd0b73:

adding extra log messages for rewrite debugging (microsoft/vscode-python#21352)

These logs print errors and other bits of information which will be
helpful for debugging workflows of users where we need to get
information such as args or which step in the process they got to.
--------------------
Commit message for microsoft/vscode-python@d968b8c:

Dont show command for button trigger in command pallet (microsoft/vscode-python#21350)

Fixes microsoft/vscode-python#21322
--------------------
Commit message for microsoft/vscode-python@e9a8dd5:

remove duplicates from test_ids array (microsoft/vscode-python#21347)

this will partially remediate
microsoft/vscode-python#21339 in regards to
the duplicate IDs being run.
--------------------
Commit message for microsoft/vscode-python@f148139:

allow pytest tests to handle multiple payloads (microsoft/vscode-python#21301)

As part of the switch to allow for dynamic run- the pytest discovery and
execution tests are now switched to be take lists of dicts where the
dicts are the payloads.
--------------------
Commit message for microsoft/vscode-python@c213491:

Apply environment variables after shell initialization scripts are run in `pythonTerminalEnvVarActivation` experiment (microsoft/vscode-python#21290)

For microsoft/vscode-python#11039 microsoft/vscode-python#20822
Closes microsoft/vscode-python#21297

Update proposed APIs to be used in Terminal activation experiment.
--------------------
Commit message for microsoft/vscode-python@72f7ef8:

Set up testing rewrite experiment (microsoft/vscode-python#21258)

is the beginning of this issue:
microsoft/vscode-python#21150, in that it will
start the process of implementing the setting in the extension
--------------------
Commit message for microsoft/vscode-python@4109228:

fix debugging with new pytest run script (microsoft/vscode-python#21299)

fix debugging for run_pytest_script.py setup
--------------------
Commit message for microsoft/vscode-python@b916981:

remove unneeded multiroot code (microsoft/vscode-python#21295)

removed extra steps to wrap data since this creates duplicate folders in
the controller and only keeps the most recent instead of all the roots
from different workspaces.
--------------------
Commit message for microsoft/vscode-python@e2a9cec:

allow large scale testing (microsoft/vscode-python#21269)

allows new testing rewrite to handle 500+ tests and load and run these
tests. High limit tested was 10,000 tests.
--------------------
Commit message for microsoft/vscode-python@f2f5fe2:

Check config type in the ChildProcessAttachEvents (microsoft/vscode-python#21272)


--------------------
Commit message for microsoft/vscode-python@4b4e5b7:

Update pyright version (microsoft/vscode-python#21296)

Fix error in tests, updating pyright version
--------------------
Commit message for microsoft/vscode-python@c9a7268:

Revert "Remove hack to check the vscode version" (microsoft/vscode-python#21294)

Reverts microsoft/vscode-python#21180
For microsoft/vscode-python#20769
--------------------
Commit message for microsoft/vscode-python@a74f1d1:

Detect installed packages in the selected environment (microsoft/vscode-python#21231)

Fixes microsoft/vscode-python#21140
--------------------
Commit message for microsoft/vscode-python@b0ebc9b:

Enable debug pytest (microsoft/vscode-python#21228)

fixes microsoft/vscode-python#21147

---------

Co-authored-by: Aidos Kanapyanov <65722512+aidoskanapyanov@users.noreply.github.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
--------------------
Commit message for microsoft/vscode-python@be9662f:

revert testing to using socket (microsoft/vscode-python#21242)

switch back to using a socket instead of an output file for use in the
plugin communication during testing. This should work now that we
resolved the issue with python path for windows.
--------------------
Commit message for microsoft/vscode-python@b4a47bb:

Add reload flag on fastApi provider (microsoft/vscode-python#21241)


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

Add option for pyenv interpreters when creating environments with venv (microsoft/vscode-python#21219)

Resolves microsoft/vscode-python#20881 .

Testing:

Behaves as expected when testing with Extension Development Host:


![image](https://github.com/microsoft/vscode-python/assets/30149293/d114d9ab-f2d8-4273-877b-d7dd030cfe76)
--------------------
Commit message for microsoft/vscode-python@b3d43e5:

Do not open "save as" window when running existing Python files (microsoft/vscode-python#21232)

Closes microsoft/vscode-python#21209
--------------------
Commit message for microsoft/vscode-python@b0da28c:

Remove IS_WINDOWS constant in favor of PlatformService (microsoft/vscode-python#21157)

Solves partially microsoft/vscode-python#8542
--------------------
Commit message for microsoft/vscode-python@0c4fa40:

Change name of command to run Python files in separate terminals (microsoft/vscode-python#21229)

Closes microsoft/vscode-python#14094
--------------------
Commit message for microsoft/vscode-python@1533818:

Added option to run multiple Python files in separate terminals (microsoft/vscode-python#21223)

Closes microsoft/vscode-python#21215
microsoft/vscode-python#14094

Added the option to assign a dedicated terminal for each Python file:


![image](https://github.com/microsoft/vscode-python/assets/13199757/b01248e4-c826-4de0-b15f-cde959965e68)
--------------------
Commit message for microsoft/vscode-python@eb9fde3:

Add `createEnvironment.contentButton` setting (microsoft/vscode-python#21212)

Closes microsoft/vscode-python#20982

---------

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

Add logging when interpreter path changes (microsoft/vscode-python#21210)

For microsoft/vscode-python#21208
--------------------
Commit message for microsoft/vscode-python@8d291f7:

Disable "snippets" expansion in Jedi LSP (microsoft/vscode-python#21194)

This brings the Jedi based completion experience in line with that
provided by Pylance. Completions now insert only the current symbol
rather than assuming that the user wants to e.g: call that symbol.

This means for example that completing `max` will insert just `max`
rather `max(arg1, arg2)`. While for this case this may be seen as less
useful, it means that insertions in places where a call is not desired
(such as imports and typing contexts) will not be forced to manually
remove the parentheses and template arguments which might otherwise be
inserted.

Users can still use the signature support UI to explore signatures and
of course insertion of an opening parenthesis will still insert a
closing one.

Hopefully this new configuration will be preferable to a majority of
users.

I've done some light testing to check that this disables the described
additional completion, however I'm not massively familiar with JediLSP
so I'm not sure what other behaviours this will disable.

Fixes microsoft/vscode-python#15858
--------------------
Commit message for microsoft/vscode-python@a85eb3b:

Fix startup telemetry issue (microsoft/vscode-python#21203)

Could fix microsoft/vscode-python#20874 based
on error trace.
--------------------
Commit message for microsoft/vscode-python@17daae4:

Open separate Python terminals when running different Python files (microsoft/vscode-python#21202)

Closes microsoft/vscode-python#21097
Closes microsoft/vscode-python#14094
--------------------
Commit message for microsoft/vscode-python@f0253e5:

Use actions from `vscode-github-triage-actions` in all Python automations (microsoft/vscode-python#21178)


--------------------
Commit message for microsoft/vscode-python@678f70d:

Remove hack to check the vscode version (microsoft/vscode-python#21180)

Closed: microsoft/vscode-python#20769
--------------------
Commit message for microsoft/vscode-python@6bdada0:

Use `saveEditor` proposed API for running untitled Python files (microsoft/vscode-python#21183)

Closes microsoft/vscode-python#21182

Lead-authored-by: Eleanor Boyd <eleanorboyd@microsoft.com>
Co-authored-by: Peter Law <PeterJCLaw@gmail.com>
Co-authored-by: Carlos Piña Martinez <carlospinamartinezdm@gmail.com>
Co-authored-by: Jonathan Rayner <jonathan.j.rayner@gmail.com>
Co-authored-by: Pete Farland <pete.farland@posit.co>
Co-authored-by: paulacamargo25 <paulitacv25@gmail.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
Co-authored-by: Kartik Raj <karraj@microsoft.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-terminal feature-request Request for new features or functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants