jiebi/CodeConvo huggingface dataset:
Change:
const quickPick = quickInputService.createQuickPick<IPickerDebugItem>(); localDisposableStore.add(quickPick); quickPick.matchOnLabel = quickPick.matchOnDescription = quickPick.matchOnDetail = quickPick.sortByLabel = false; <del> quickPick.placeholder = nls.localize('moveFocusedView.selectView', 'Search for debug session by name'); quickPick.items = _getPicks(quickPick.value, selectAndStartID, debugService, viewsService, commandService); </del> <ins> quickPick.placeholder = nls.localize('moveFocusedView.selectView', 'Search debug sessions by name'); const pickItems = _getPicksAndActiveItem(quickPick.value, selectAndStartID, debugService, viewsService, commandService); quickPick.items = pickItems.picks; quickPick.activeItems = pickItems.activeItems; </ins> localDisposableStore.add(quickPick.onDidChangeValue(async () => { <del> quickPick.items = _getPicks(quickPick.value, selectAndStartID, debugService, viewsService, commandService); </del> <ins> quickPick.items = _getPicksAndActiveItem(quickPick.value, selectAndStartID, debugService, viewsService, commandService).picks; </ins> })); localDisposableStore.add(quickPick.onDidAccept(() => { const selectedItem = quickPick.selectedItems[0];

Discussion:
Testing Placeholder could be more concise, for example "Search for debug session by name" -"Search debug session by name" !
Would it be better to have "Search debug sessions by name"? I noticed that the loaded script view says "Search loaded scripts by name". <img width="754" alt="image" src="https://user-"
The plural makes sense to me :) Thanks
Change:
properties: { 'workbench.experimental.gettingStarted': { type: 'boolean', <del> description: localize('gettingStartedDescription', "Enables an experimental Getting Started page, accesible via the Help menu."), </del> <ins> description: localize('gettingStartedDescription', "Enables an experimental Getting Started page, available via the Help menu."), </ins> default: false, } }

Discussion:
<!-- Do Not Delete This! bugreporttemplate --"accesible" -"accessible" Suggestion: Say "available" rather than "accessible". "Enables an experimental Get Started page, available via the Help menu."
Change:
mockContextService.setWorkspace(mockWorkspace); instantiationService.stub(IWorkspaceContextService, mockContextService); <ins> instantiationService.stub(IEnvironmentService, TestEnvironmentService); </ins> queryBuilder = instantiationService.createInstance(QueryBuilder); });

Discussion:
Loosely related to ! We can use the 'files to include' box to do a search in an arbitrary folder, but it has to be an absolute path. It should also work when using a ~ to indicate the user's home directory.
Change:
beforeText: /^s+([^{is]|i(?!fb))/, action: { indentAction: IndentAction.Outdent } }, <ins> { // TODO: Do not leave this here - place instead in the indent regex pattern if we use this method beforeText: /^s*(var|const|let)s+w+s*=s*(.*)s*=>s*$/, action: { indentAction: IndentAction.Indent } }, </ins> ];

Discussion:
Type the following in a TS filePress Enter after the arrow. The cursor is not indented (here cursor is shown by | symbol):We should instead have:
Change:
class: ThemeIcon.asClassName(settingsDiscardIcon), enabled: true, id: 'workbench.action.resetListItem', <del> label: this.getLocalizedStrings().resetActionTooltip, </del> <ins> label: '', </ins> tooltip: this.getLocalizedStrings().resetActionTooltip, run: () => this._onDidChangeList.fire({ originalItem: item, item: undefined, targetIndex: idx }) });

Discussion:
When hovering over any setting with the "object" structure there is a rendering issue on the right side of the row. See screenshot attached. !
Edit: this effects all settings with type "object", not related to screen readers. Repros with all screen reader related apps turned off.
I now but this is it intel they give my money
Change:
const bodyElement = <HTMLDivElement>dom.$('.body'); container.appendChild(bodyElement); <ins> const tracker = this._register(dom.trackFocus(bodyElement)); this._register(registerNavigableContainer({ focusNotifiers: [tracker], focusNextWidget: () => { if (!this._commentReply?.isCommentEditorFocused()) { this._commentReply?.expandReplyAreaAndFocusCommentEditor(); } }, focusPreviousWidget: () => { if (this._commentReply?.isCommentEditorFocused() && this._commentThread.comments?.length) { this._body.focus(); } } })); </ins> this._body = this._scopedInstatiationService.createInstance( CommentThreadBody, this._owner,

Discussion:
Testing a file in a PR that has comments focus to the comment widget input :bug: can't ctrl+up/ctrl+down to move focus to the comments within that thread
Author of here. I would like to solve this.
Change:
} } <ins> async focusInstance(instance: ITerminalInstance): Promise<void> { if (instance.target === TerminalLocation.Editor) { return this._terminalEditorService.focusInstance(instance); } return this._terminalGroupService.focusInstance(instance); } </ins> async focusActiveInstance(): Promise<void> { if (!this._activeInstance) { return; } <del> if (this._activeInstance.target === TerminalLocation.Editor) { return this._terminalEditorService.focusActiveInstance(); } return this._terminalGroupService.focusActiveInstance(); </del> <ins> return this.focusInstance(this._activeInstance); </ins> } async createContributedTerminalProfile(extensionIdentifier: string, id: string, options: ICreateContributedTerminalProfileOptions): Promise<void> {

Discussion:
Type: <bBug</bPreparation: create the following file: the terminals panel, create a new shell terminal it to the main editor area to make it a full-size terminal open an editor tab (any file will do, including Command-N) sure the panel is closed (press Command-J to close it if it is open) the above task (e.g. with Command-P, then type ) Expected: the panel opens and shows the running task Actual: the editor terminal is brought to the front, and the panel stays closed VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-11T05:03:58.450Z) OS version: Darwin arm64 23.5.0 Modes: <details<summarySystem Info</summary </detailsExtensions disabled <!-- generated by issue reporter --
In this scenario, focus also fails.
I can confirm that fixes the problem for me. Thanks!
Change:
import { FileAccess } from 'vs/base/common/network'; import { COMMENTS_SECTION, ICommentsConfiguration } from 'vs/workbench/contrib/comments/common/commentsConfiguration'; import { StandardMouseEvent } from 'vs/base/browser/mouseEvent'; <ins> import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; </ins> class CommentsActionRunner extends ActionRunner { protected override async runAction(action: IAction, context: any[]): Promise<void> {

Discussion:
[x] Indicate when a document has commentable ranges Aria status when a document is opened [x] Add keyboard shortcut for adding a comment [x] Provide commands to go to next and previous commentable range [x] Add an accessible help menu to the comment widget Esc dismisses widget Lists go to next/previous commentable range commands + keyboard shortcuts Lists command and keyboard shortcut to add a comment Lists keyboard shortcut to execute the comment primary action and what the primary action is [x] The Comments view should respect the enter/space = reveal+focus/reveal [x] Make the comment widget toolbar always visible when in screen reader mode
Related to
is the last part of this, and it's almost done!
Mr.KITSANAPAN MEEKEAW
Change:
} } <del> const rangePart = this.label.range ? `:${this.label.range.startLineNumber}-${this.label.range.endLineNumber}` : ''; const label = this.label.name ? this.label.name + rangePart : ''; this.setLabel(label, this.label.description, iconLabelOptions); </del> <ins> this.setLabel(label || '', this.label.description, iconLabelOptions); </ins> this._onDidRender.fire();

Discussion:
Type: <bBug</bis used as delimiter instead of <img width="499" alt="image" src=""VS Code version: Code - Insiders 1.84.0-insider (, 2023-10-23T05:35:37.619Z) OS version: Darwin arm64 23.0.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (20)</summaryExtensionVersion ------ project-manager12.7.0 vscode-eslint2.4.2 gitlens14.4.0 EditorConfig0.16.4 vscode-todo-plus4.19.1 code-runner0.12.1 vscode-pull-request-github0.74.0 gitlab-workflow3.81.0 vscode-peacock4.2.2 vscode-random1.11.0 rainbow-csv3.8.0 dotenv1.0.1 remote-containers0.318.0 remote-ssh0.107. remote-explorer0.5. material-icon-theme4.31.0 partial-diff1.4.3 code-spell-checker3.0.1 sort-lines1.11.0 markdown-all-in-one3.5.1 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Please use the command to investigate possible cause.
I am seeing it in Explorer too, in today's Insider, with all extensions disabled: !
I am bisecting now...
Hmm, nothing found. Maybe I am doing it wrong.
From
Change:
this.focusStackFrame(stackFrameToFocus); if (thread.stoppedDetails) { <ins> if (this.openDebugOptions === 'openOnDebugBreak') { this.viewletService.openViewlet(debug.VIEWLET_ID); } </ins> this.windowService.focusWindow(); aria.alert(nls.localize('debuggingPaused', "Debugging paused, reason {0}, {1} {2}", thread.stoppedDetails.reason, stackFrameToFocus.source ? stackFrameToFocus.source.name : '', stackFrameToFocus.range.startLineNumber)); }

Discussion:
Currently if I start my App with another View than Debug View open and the debugger breaks because of a break point or an exception I have to manually switch to the debug view. It would be incredible if I could set an option to display the debug view in that cases automatically Thanks for your great Work!
This is a fair feature request. If we get more users asksing for this we would be willing to accept a PR that fixes this. Thanks
Why only as PR? I guess it will be only a very small change but I'm not a Typescript dev and have no idea about the internal structure of VS Code. For your team this should be a quick fix.
Because we encourage people to be invovled in our open source project Code pointer The following setting should be updated to also cover this case  to also have the following option "openOnDebugBreak" No typescript knowledge is needed for this PR fyi
Change:
const resource = vscode.Uri.parse(state.resource); const locked = state.locked; const line = state.line; <ins> const resourceColumn = state.resourceColumn; </ins> const preview = new MarkdownPreview( webview, resource, locked, <ins> resourceColumn, </ins> contentProvider, previewConfigurations, logger,

Discussion:
Issue Type: <bBug</b! When using the Markdown preview, the "Show Source" action should be smart enough to know that the source is open and go to that tab. Same applies to the preview tab, if there is already a preview tab open switch focus there. Otherwise you're in this endless loop of creating duplicate tabs. VS Code version: Code - Insiders 1.35.0-insider (, 2019-05-20T05:15:57.974Z) OS version: Darwin x64 18.2.0 <details<summarySystem Info</summary </details<details<summaryExtensions (30)</summaryExtensionVersion ------ vscode-browser-preview0.5.4 vscode-opennewinstance0.0.6 bracket-pair-colorizer1.0.61 vscode-svgviewer2.0.0 vscode-eslint1.9.0 gitlens9.7.4 vsc-material-theme2.8.2 prettier-vscode1.9.0 azure-virtual-machine-explorer0.0.2 vscode-pull-request-github-insiders1.137.0 vscode-colorize0.8.10 theme-monokai-pro-vscode1.1.13 vscode-azureappservice0.14.0 python2019.4. remote-containers0.53.0 remote-ssh0.37.0 remote-ssh-edit0.37.0 remote-ssh-explorer0.37.0 remote-wsl0.36.0 azure-account0.8.4 azurecli0.4.5 vscode-typescript-tslint-plugin1.0.0 debugger-for-chrome4.11.3 vetur0.21.0 vscode-docker0.6.2 vscode-yaml0.4.0 code-settings-sync3.2.9 ayu0.18.0 WebTemplateStudio-dev-nightly0.0. markdown-all-in-one2.3.1 (17 theme extensions excluded) </details<!-- generated by issue reporter --
I'd like to give this a try
Ok, I could use some help on this issue. I traced the click call to the function , but am not sure if I should be making any changes here since it will very likely affect other functionalities as well.

I also noticed that if I have the file already open in the same split window pane, it will open that instead of creating a new split pane, but it is even when it opens a new pane with a new tab. So I am confused how calling the same function with the same parameter exhibits different behaviors (opening a new pane with a new tab vs opening an already open tab in the same pane). ! Some pointers around this would be very helpful, thanks
sorry for tagging you, not sure if you got a chance to see my previous comment. Can you please help out?
The api you linked to is a good starting point but that is part of core VS Code. You want the caller of that api, which in the case is the markdown extension. How I think this feature should work: the markdown extension, we maintain a . These should track which column created the preview. This is likely already passed in with , we just don't store the resourceColumn anywhere as far as I remember. the is invoked, use the preview's column information to decide which column to show the preview in
Change:
this.disposable.dispose(); } } <ins> export class GitEditorDocumentLinkProvider implements DocumentLinkProvider { private readonly _regex = /^#s+(modified|new file|deleted|renamed|copied|type change):s+(?<file1>.*?)(?:s+->s+(?<file2>.*))*$/gm; constructor(private readonly _model: Model) { } provideDocumentLinks(document: TextDocument, token: CancellationToken): DocumentLink[] { if (token.isCancellationRequested) { return []; } const repository = this._model.getRepository(document.uri); if (!repository) { return []; } const links: DocumentLink[] = []; for (const match of document.getText().matchAll(this._regex)) { if (!match.groups) { continue; } const { file1, file2 } = match.groups; if (file1) { links.push(this._createDocumentLink(repository, document, match, file1)); } if (file2) { links.push(this._createDocumentLink(repository, document, match, file2)); } } return links; } private _createDocumentLink(repository: Repository, document: TextDocument, match: RegExpExecArray, file: string): DocumentLink { const startIndex = match[0].indexOf(file); const startPosition = document.positionAt(match.index + startIndex); const endPosition = document.positionAt(match.index + startIndex + file.length); const documentLink = new DocumentLink( new Range(startPosition, endPosition), Uri.file(path.join(repository.root, file))); documentLink.tooltip = l10n.t('Open File'); return documentLink; } } </ins>

Discussion:
Testing I'd love it if these were clickable and brought me to the file it's talking about. ! Should be able to use a link provider, right?
Change:
this.render(); this.update(); <ins> this.webviewEditor.webview.postMessage({ type: 'setActive', value: this.webviewEditor.active }); </ins> } public zoomIn() {

Discussion:
Repo an image to the side of a text editor with the text editor focused click into the image editor to focus it Bug The first click ends up zooming the image. Clicking should only zoom when the editor is already focused
Here's the relevant code about click handling in the image preview:
If focus is required for zoom, then the cursor when hovering over the image preview should be the default arrow cursor when unfocused, currently it is the zoom-in cursor. Also zooming with the mouse wheel should not be allowed when unfocused. Thoughts?
Fixed by
I'm still seeing the first click zoom. Steps: a typescript file. a gif gif to the right so that both typescript and gif are visible and side by side in typescript. in gif Expected: no zoom Actual: it zooms on the click in the gif in (5).
I'm not able to reproduce. Have tried on both insiders 1.40.0 and OSS. Does this only occur with gifs for you?
I can repo this. You may need to click back and forth multiple times trigger the error
I'm still not able to. Will try more tomorrow. A possible cause might be that the event is fired before the event on the first click. This could be tested by checking the order of execution for the corresponding event handlers in . I'll do it if I manage to reproduce the bug.
Change:
import { DefineKeybindingWidget } from 'vs/workbench/parts/preferences/browser/keybindingWidgets'; import { IPreferencesService, IKeybindingsEditor, CONTEXT_KEYBINDING_FOCUS, CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS, KEYBINDINGS_EDITOR_COMMAND_REMOVE, KEYBINDINGS_EDITOR_COMMAND_COPY, <del> KEYBINDINGS_EDITOR_COMMAND_RESET, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR </del> <ins> KEYBINDINGS_EDITOR_COMMAND_RESET, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR, KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS </ins> } from 'vs/workbench/parts/preferences/common/preferences'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IKeybindingEditingService } from 'vs/workbench/services/keybinding/common/keybindingEditing';

Discussion:
<!-- Do you have a question? Please ask it on --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.20.0-ins OS Version: win7x64 In we have a column called "Source". How about to create a filter called "source:user", so as "source:default", etc... ? !
any code-pointer to start on this?
Here it is -
hey! are you working on this? If not, I can take this.
I'm already started on this. Thanks for asking though.
sumitted a PR here. Care to comment / review.
Change:
const dialogService = accessor.get(IDialogService); const urlService = accessor.get(IOpenerService); const progressService = accessor.get(IProgressService); <ins> const selection = accessor.get(ICodeEditorService).getActiveCodeEditor()?.getSelection() ?? undefined; const uri = await progressService.withProgress({ location: ProgressLocation.Window, detail: localize('generating link', 'Generating link...') }, async () => shareService.provideShare({ resourceUri, selection }, new CancellationTokenSource().token)); </ins> <del> const uri = await shareService.provideShare({ resourceUri }, new CancellationTokenSource().token); </del> if (uri) { const uriText = uri.toString(); <del> await progressService.withProgress({ location: ProgressLocation.Window, detail: localize('generating link', 'Generating link...') }, () => clipboardService.writeText(uriText)); </del> <ins> await clipboardService.writeText(uriText); </ins> dialogService.prompt( {

Discussion:
Testing My extension's provider is not receiving the within the passed to its I think this's caused by this -

Testing takes a but doesn't respect the selector's . I created an extension which uses Share Provider API, but its share contribution wasn't being invoked. It seems the language isn't being passed - see 3rd arg being an empty string .
I observe the same, using: registers the share provider, however as soon as I add a language, this is no longer the case
Change:
const _deleteWordRight = new DeleteWordRight(); const _deleteWordStartRight = new DeleteWordStartRight(); const _deleteWordEndRight = new DeleteWordEndRight(); <ins> const _deleteInsideWord = new DeleteInsideWord(); </ins> function runEditorCommand(editor: ICodeEditor, command: EditorCommand): void { command.runEditorCommand(null, editor, null);

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --The 'deleteWordLeft' command cannot delete letters on right side of the cursor. We want new function which can delete the whole word. (We submit this issue formally. Sorry.)
To verify, please look for a "Delete Word" action that you can bind to a keybinding if you wish to. The action will delete the current word under the cursor (both to the left and to the right of the cursor) and will delete any trailing whitespace.
I've checked. I could find the "Delete Word" action and bind a keybinding to it. The function works properly. Thank you!
Change:
layout(minWidth: number): number { // Updating list height, depending on how many separators and headers there are. const numHeaders = this._allMenuItems.filter(item => item.kind === 'header').length; <del> const height = this._allMenuItems.length * this._actionLineHeight; const heightWithHeaders = height + numHeaders * this._headerLineHeight - numHeaders * this._actionLineHeight; </del> <ins> const itemsHeight = this._allMenuItems.length * this._actionLineHeight; const heightWithHeaders = itemsHeight + numHeaders * this._headerLineHeight - numHeaders * this._actionLineHeight; </ins> this._list.layout(heightWithHeaders); // For finding width dynamically (not using resize observer)

Discussion:
<!-- Do Not Delete This! bugreporttemplate --Helo! I use the code spell checker extension which provides quick fixes for spelling "error"s. Often these are just terms that I've adopted as standard in the repo and don't aim to change. However, with the recent change to use custom context menus instead of the native ones the list of spelling quick fixes causes the refactorings I actually want to use to be out of the window, with no way to scroll them into view. With spell checker extension enabled: <img width="590" alt="image" src="https://user-"Without: <img width="610" alt="image" src="https://user-"Ideally the menu would support scroll. I'd accept an option to use native menus instead (the icons are nice to have but not critical). Alternatively, at minimum perhaps the refactorings could be sorted above quick fixes?
We should also limit the height of the menu. Not very pleasant to have it take up the entire height of the window
Works great, thanks!