Skip to content

Commit c908a36

Browse files
eleanorjboydPeterJCLawcpinamtzJonathanRaynerpetetronic
authored andcommitted
Merged PR posit-dev/positron-python#122: Merging upstream vscode-python 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 <[email protected]> -------------------- 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 <[email protected]> Co-authored-by: Karthik Nadig <[email protected]> -------------------- 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 <[email protected]> -------------------- 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 <[email protected]> Co-authored-by: Peter Law <[email protected]> Co-authored-by: Carlos Piña Martinez <[email protected]> Co-authored-by: Jonathan Rayner <[email protected]> Co-authored-by: Pete Farland <[email protected]> Co-authored-by: paulacamargo25 <[email protected]> Co-authored-by: Karthik Nadig <[email protected]> Co-authored-by: Kartik Raj <[email protected]> Signed-off-by: GitHub <[email protected]>
1 parent 9d901d5 commit c908a36

File tree

99 files changed

+2579
-846
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+2579
-846
lines changed

extensions/positron-python/.github/workflows/build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ jobs:
103103
- name: Run Pyright
104104
uses: jakebailey/pyright-action@v1
105105
with:
106+
version: 1.1.308
106107
working-directory: 'pythonFiles'
107108

108109
### Non-smoke tests

extensions/positron-python/.github/workflows/community-feedback-auto-comment.yml

+10-11
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,17 @@ jobs:
1313
issues: write
1414

1515
steps:
16-
- name: Check For Existing Comment
17-
uses: peter-evans/find-comment@v2
18-
id: finder
16+
- name: Checkout Actions
17+
uses: actions/checkout@v3
1918
with:
20-
issue-number: ${{ github.event.issue.number }}
21-
comment-author: 'github-actions[bot]'
22-
body-includes: Thanks for the feature request! We are going to give the community
19+
repository: 'microsoft/vscode-github-triage-actions'
20+
ref: stable
21+
path: ./actions
22+
23+
- name: Install Actions
24+
run: npm install --production --prefix ./actions
2325

24-
- name: Add Community Feedback Comment
25-
if: steps.finder.outputs.comment-id == ''
26-
uses: peter-evans/create-or-update-comment@v3
26+
- name: Add Community Feedback Comment if applicable
27+
uses: ./actions/python-community-feedback-auto-comment
2728
with:
2829
issue-number: ${{ github.event.issue.number }}
29-
body: |
30-
Thanks for the feature request! We are going to give the community 60 days from when this issue was created to provide 7 👍 upvotes on the opening comment to gauge general interest in this idea. If there's enough upvotes then we will consider this feature request in our future planning. If there's unfortunately not enough upvotes then we will close this issue.

extensions/positron-python/.github/workflows/issue-labels.yml

+13-49
Original file line numberDiff line numberDiff line change
@@ -18,55 +18,19 @@ jobs:
1818
name: "Add 'triage-needed' and remove unrecognizable labels & assignees"
1919
runs-on: ubuntu-latest
2020
steps:
21-
- uses: actions/github-script@v6
21+
- name: Checkout Actions
22+
uses: actions/checkout@v3
2223
with:
23-
github-token: ${{ secrets.GITHUB_TOKEN }}
24-
script: |
25-
const result = await github.rest.issues.listLabelsOnIssue({
26-
owner: context.repo.owner,
27-
repo: context.repo.repo,
28-
issue_number: context.issue.number,
29-
})
30-
const labels = result.data.map((label) => label.name)
31-
const hasNeedsOrTPI = labels.some((label) => (label.startsWith('needs') || label === 'testplan-item' || label.startsWith('iteration-plan') || label === 'release-plan'))
24+
repository: 'microsoft/vscode-github-triage-actions'
25+
ref: stable
26+
path: ./actions
3227

33-
if (!hasNeedsOrTPI) {
34-
console.log('This issue is not labeled with a "needs __", "iteration-plan", "release-plan", or the "testplan-item" label; add the "triage-needed" label.')
28+
- name: Install Actions
29+
run: npm install --production --prefix ./actions
3530

36-
github.rest.issues.addLabels({
37-
owner: context.repo.owner,
38-
repo: context.repo.repo,
39-
issue_number: context.issue.number,
40-
labels: ['triage-needed']
41-
})
42-
} else {
43-
console.log('This issue already has a "needs __", "iteration-plan", "release-plan", or the "testplan-item" label, do not add the "triage-needed" label.')
44-
}
45-
const knownTriagers = ${{ env.TRIAGERS }}
46-
const currentAssignees = await github.rest.issues
47-
.get({
48-
owner: context.repo.owner,
49-
repo: context.repo.repo,
50-
issue_number: context.issue.number,
51-
})
52-
.then((result) => result.data.assignees.map((a) => a.login));
53-
console.log('Known triagers:', JSON.stringify(knownTriagers));
54-
console.log('Current assignees:', JSON.stringify(currentAssignees));
55-
const assigneesToRemove = currentAssignees.filter(a => !knownTriagers.includes(a));
56-
console.log('Assignees to remove:', JSON.stringify(assigneesToRemove));
57-
github.rest.issues.removeAssignees({
58-
owner: context.repo.owner,
59-
repo: context.repo.repo,
60-
issue_number: context.issue.number,
61-
assignees: assigneesToRemove,
62-
});
63-
const knownLabels = ${{ env.REPO_LABELS }}
64-
for( const label of labels) {
65-
if (!knownLabels.includes(label)) {
66-
await github.rest.issues.deleteLabel({
67-
owner: context.repo.owner,
68-
repo: context.repo.repo,
69-
name: label,
70-
})
71-
}
72-
}
31+
- name: "Add 'triage-needed' and remove unrecognizable labels & assignees"
32+
uses: ./actions/python-issue-labels
33+
with:
34+
triagers: ${{ env.TRIAGERS }}
35+
token: ${{secrets.GITHUB_TOKEN}}
36+
repo_labels: ${{ env.REPO_LABELS }}

extensions/positron-python/.github/workflows/lock-issues.yml

+13-5
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,17 @@ jobs:
1515
lock-issues:
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: dessant/lock-threads@v4
18+
- name: Checkout Actions
19+
uses: actions/checkout@v3
1920
with:
20-
github-token: ${{ github.token }}
21-
issue-inactive-days: '30'
22-
process-only: 'issues'
23-
log-output: true
21+
repository: 'microsoft/vscode-github-triage-actions'
22+
ref: stable
23+
path: ./actions
24+
25+
- name: Install Actions
26+
run: npm install --production --prefix ./actions
27+
28+
- name: 'Lock Issues'
29+
uses: ./actions/python-lock-issues
30+
with:
31+
token: ${{ github.token }}

extensions/positron-python/.github/workflows/pr-check.yml

+1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ jobs:
7777
- name: Run Pyright
7878
uses: jakebailey/pyright-action@v1
7979
with:
80+
version: 1.1.308
8081
working-directory: 'pythonFiles'
8182

8283
### Non-smoke tests

extensions/positron-python/.github/workflows/pr-file-check.yml

+9-23
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,15 @@ jobs:
1515
name: 'Check for changed files'
1616
runs-on: ubuntu-latest
1717
steps:
18-
- name: 'package-lock.json matches package.json'
19-
uses: brettcannon/[email protected]
18+
- name: Checkout Actions
19+
uses: actions/checkout@v3
2020
with:
21-
prereq-pattern: 'package.json'
22-
file-pattern: 'package-lock.json'
23-
skip-label: 'skip package*.json'
24-
failure-message: '${prereq-pattern} was edited but ${file-pattern} was not (the ${skip-label} label can be used to pass this check)'
21+
repository: 'microsoft/vscode-github-triage-actions'
22+
ref: stable
23+
path: ./actions
2524

26-
- name: 'package.json matches package-lock.json'
27-
uses: brettcannon/[email protected]
28-
with:
29-
prereq-pattern: 'package-lock.json'
30-
file-pattern: 'package.json'
31-
skip-label: 'skip package*.json'
32-
failure-message: '${prereq-pattern} was edited but ${file-pattern} was not (the ${skip-label} label can be used to pass this check)'
25+
- name: Install Actions
26+
run: npm install --production --prefix ./actions
3327

34-
- name: 'Tests'
35-
uses: brettcannon/[email protected]
36-
with:
37-
prereq-pattern: src/**/*.ts
38-
file-pattern: |
39-
src/**/*.test.ts
40-
src/**/*.testvirtualenvs.ts
41-
.github/test_plan.md
42-
skip-label: 'skip tests'
43-
failure-message: 'TypeScript code was edited without also editing a ${file-pattern} file; see the Testing page in our wiki on testing guidelines (the ${skip-label} label can be used to pass this check)'
28+
- name: Check for changed files
29+
uses: ./actions/python-pr-file-check

extensions/positron-python/.github/workflows/pr-labels.yml

+11-5
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@ jobs:
1313
name: 'Classify PR'
1414
runs-on: ubuntu-latest
1515
steps:
16-
- name: 'PR impact specified'
17-
uses: mheap/github-action-required-labels@v4
16+
- name: Checkout Actions
17+
uses: actions/checkout@v3
1818
with:
19-
mode: exactly
20-
count: 1
21-
labels: 'bug, debt, feature-request, no-changelog'
19+
repository: 'microsoft/vscode-github-triage-actions'
20+
ref: stable
21+
path: ./actions
22+
23+
- name: Install Actions
24+
run: npm install --production --prefix ./actions
25+
26+
- name: Classify PR
27+
uses: ./actions/python-pr-labels

extensions/positron-python/.github/workflows/test-plan-item-validator.yml

+2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ jobs:
1717
repository: 'microsoft/vscode-github-triage-actions'
1818
path: ./actions
1919
ref: stable
20+
2021
- name: Install Actions
2122
run: npm install --production --prefix ./actions
23+
2224
- name: Run Test Plan Item Validator
2325
uses: ./actions/test-plan-item-validator
2426
with:

extensions/positron-python/.github/workflows/triage-info-needed.yml

+28-73
Original file line numberDiff line numberDiff line change
@@ -11,86 +11,41 @@ jobs:
1111
add_label:
1212
runs-on: ubuntu-latest
1313
if: contains(github.event.issue.labels.*.name, 'triage-needed') && !contains(github.event.issue.labels.*.name, 'info-needed')
14-
env:
15-
KEYWORDS: '["\\?", "please", "kindly", "let me know", "try", "can you", "could you", "would you", "may I", "provide", "let us know", "tell me", "give me", "send me", "what", "when", "where", "why", "how"]'
1614
steps:
17-
- name: Check for author
18-
uses: actions/github-script@v6
15+
- name: Checkout Actions
16+
uses: actions/checkout@v3
1917
with:
20-
github-token: ${{ secrets.GITHUB_TOKEN }}
21-
script: |
22-
const issue = await github.rest.issues.get({
23-
owner: context.repo.owner,
24-
repo: context.repo.repo,
25-
issue_number: context.issue.number
26-
});
27-
const commentAuthor = context.payload.comment.user.login;
28-
const commentBody = context.payload.comment.body;
29-
const isTeamMember = ${{ env.TRIAGERS }}.includes(commentAuthor);
18+
repository: 'microsoft/vscode-github-triage-actions'
19+
ref: stable
20+
path: ./actions
3021

31-
const keywords = ${{ env.KEYWORDS }};
32-
const isRequestForInfo = new RegExp(keywords.join('|'), 'i').test(commentBody);
22+
- name: Install Actions
23+
run: npm install --production --prefix ./actions
3324

34-
const shouldAddLabel = isTeamMember && commentAuthor !== issue.data.user.login && isRequestForInfo;
35-
36-
if (shouldAddLabel) {
37-
await github.rest.issues.addLabels({
38-
owner: context.repo.owner,
39-
repo: context.repo.repo,
40-
issue_number: context.issue.number,
41-
labels: ['info-needed']
42-
});
43-
}
25+
- name: Add "info-needed" label
26+
uses: ./actions/python-triage-info-needed
27+
with:
28+
triagers: ${{ env.TRIAGERS }}
29+
action: 'add'
30+
token: ${{secrets.GITHUB_TOKEN}}
4431

4532
remove_label:
4633
if: contains(github.event.issue.labels.*.name, 'info-needed') && contains(github.event.issue.labels.*.name, 'triage-needed')
4734
runs-on: ubuntu-latest
4835
steps:
49-
- name: Check for author
50-
uses: actions/github-script@v6
36+
- name: Checkout Actions
37+
uses: actions/checkout@v3
38+
with:
39+
repository: 'microsoft/vscode-github-triage-actions'
40+
ref: stable
41+
path: ./actions
42+
43+
- name: Install Actions
44+
run: npm install --production --prefix ./actions
45+
46+
- name: Remove "info-needed" label
47+
uses: ./actions/python-triage-info-needed
5148
with:
52-
github-token: ${{ secrets.GITHUB_TOKEN }}
53-
script: |
54-
const issue = await github.rest.issues.get({
55-
owner: context.repo.owner,
56-
repo: context.repo.repo,
57-
issue_number: context.issue.number
58-
});
59-
const commentAuthor = context.payload.comment.user.login;
60-
const issueAuthor = issue.data.user.login;
61-
if (commentAuthor === issueAuthor) {
62-
await github.rest.issues.removeLabel({
63-
owner: context.repo.owner,
64-
repo: context.repo.repo,
65-
issue_number: context.issue.number,
66-
name: 'info-needed'
67-
});
68-
return;
69-
}
70-
if (${{ env.TRIAGERS }}.includes(commentAuthor)) {
71-
// If one of triagers made a comment, ignore it
72-
return;
73-
}
74-
// Loop through all the comments on the issue in reverse order and find the last username that a TRIAGER mentioned
75-
// If the comment author is the last mentioned username, remove the "info-needed" label
76-
const comments = await github.rest.issues.listComments({
77-
owner: context.repo.owner,
78-
repo: context.repo.repo,
79-
issue_number: context.issue.number
80-
});
81-
for (const comment of comments.data.slice().reverse()) {
82-
if (!${{ env.TRIAGERS }}.includes(comment.user.login)) {
83-
continue;
84-
}
85-
const matches = comment.body.match(/@\w+/g) || [];
86-
const mentionedUsernames = matches.map(match => match.replace('@', ''));
87-
if (mentionedUsernames.includes(commentAuthor)) {
88-
await github.rest.issues.removeLabel({
89-
owner: context.repo.owner,
90-
repo: context.repo.repo,
91-
issue_number: context.issue.number,
92-
name: 'info-needed'
93-
});
94-
break;
95-
}
96-
}
49+
triagers: ${{ env.TRIAGERS }}
50+
action: 'remove'
51+
token: ${{secrets.GITHUB_TOKEN}}

extensions/positron-python/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The Python extension does offer [some support](https://github.com/microsoft/vsco
99

1010
## Installed extensions
1111

12-
The Python extension will automatically install the [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance) and [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter) extensions to give you the best experience when working with Python files and Jupyter notebooks. However, Pylance is an optional dependency, meaning the Python extension will remain fully functional if it fails to be installed. You can also [uninstall](https://code.visualstudio.com/docs/editor/extension-marketplace#_uninstall-an-extension) it at the expense of some features if you’re using a different language server.
12+
The Python extension will automatically install the [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance) extension to give you the best experience when working with Python files. However, Pylance is an optional dependency, meaning the Python extension will remain fully functional if it fails to be installed. You can also [uninstall](https://code.visualstudio.com/docs/editor/extension-marketplace#_uninstall-an-extension) it at the expense of some features if you’re using a different language server.
1313

1414
Extensions installed through the marketplace are subject to the [Marketplace Terms of Use](https://cdn.vsassets.io/v/M146_20190123.39/_content/Microsoft-Visual-Studio-Marketplace-Terms-of-Use.pdf).
1515

0 commit comments

Comments
 (0)