jiebi/CodeConvo huggingface dataset:
Change:
switch (changeType) { case ChangeType.Add: audioCueService.playAudioCue(AudioCue.diffLineInserted, true); <ins> break; </ins> case ChangeType.Delete: audioCueService.playAudioCue(AudioCue.diffLineDeleted, true); <ins> break; </ins> case ChangeType.Modify: audioCueService.playAudioCue(AudioCue.diffLineModified, true); <ins> break; </ins> } }

Discussion:
has indicated that the diff inserted / modified audio cues are hard to differentiate and that the sounds are not as fast / singular toned as they should be
what do you think of this?
I agree with the suggestion. At least for me it is very difficult to identify the difference between the sounds used.
Sounds good -- will start on this asap.
I don't hear the cues as often anymore. I also noticed that when using up/down keys on the right diff editor, no audio cue shows up for a deleted section. Example with .gitignore file: Left: Right:
I can reproduce
it's getting to the line I expect it to (see logs) but no sound is produced - thoughts? https://user-
Change:
return store.add(RefCounted.createOfNonDisposable(result, multiDiffItemStore, this)); }, i => JSON.stringify([i.modifiedUri?.toString(), i.originalUri?.toString()])); <del> const documents = observableValue<readonly RefCounted<IDocumentDiffItem>[]>('documents', []); </del> <ins> const documents = observableValue<readonly RefCounted<IDocumentDiffItem>[] | 'loading'>('documents', 'loading'); </ins> const updateDocuments = derived(async reader => { /** @description Update documents */

Discussion:
open a multifile diff reload window while the diff editor stores and loads it says that there are no changes yet <img width="1178" alt="Screenshot 2024-06-21 at 09 16 43" src=""
Thanks for filing! Briefly looked into it, but fixing it is a little bit more complex than I thought. The model creation is what takes a while, and during that time the multi file diff editor just has no model. It would be better if the model creation is immediate, but it has some property, that the editor could then show.
Change:
registerAction2(ToggleBreakpointAction); registerAction2(ConditionalBreakpointAction); registerAction2(LogPointAction); <del> registerEditorAction(OpenDisassemblyViewAction); </del> <ins> registerAction2(OpenDisassemblyViewAction); </ins> registerEditorAction(RunToCursorAction); registerEditorAction(StepIntoTargetsAction); registerEditorAction(SelectionToReplAction);

Discussion:
Testing As already pointed out The "Open Disassembly View" command is now only visible when the active stackframe has a instructionPointerReference property. This makes it hard to discover. I suggest to have the context menu's "Open Disassembly View" command always visible if a debug adapter has the supportsDisassembleRequest capability. But the command should only be enabled if the active stackframe has a instructionPointerReference property. That results in a more stable user experience. Apart from that we should have the Open Disassembly View command in the command palette.
That's a fair suggestion. However, we are not sure how to disable a command...
commands have clauses and . clause determines if the command is present at all and if it is disabled. So please use the when registering the editor command for disablement.
Also we should consider to introduce a call stack context menu action for the Open Disassembly View.
will fix this.
Change:
} }; <ins> // These calls adjust the position depending on spacing. </ins> this.adjustHorizontalHoverPosition(targetRect); this.adjustVerticalHoverPosition(targetRect); <ins> // This call limits the maximum height of the hover. this.adjustHoverMaxHeight(targetRect); </ins> // Offset the hover position if there is a pointer so it aligns with the target element this._hoverContainer.style.padding = '';

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.70.2 OS Version: MacOS Monterey 12.5, chrome v 104.0.5112.101 Steps to Reproduce: language specific setting e.g. for a large number of languages Settings Editor, Check and hover on to show the hover view. Expected: All the overridden languages are visible and overflowing content can be scrolled to. Actual: The hover view is clipped at the screen height and not all languages are visible unless zooming out. !
this is working now, but there is some room for improvement as it does not use the maximum available space and sometimes has weird behavior with the beak. See below where the hovered text is just below the top of the widget which has a beak pointing down. <img width="272" alt="image" src="https://user-"
Change:
'use strict'; import { IMenubarService, IMenubarData, IMenubarKeybinding } from 'vs/platform/menubar/common/menubar'; <del> // TODO@sbatten bad layering // tslint:disable-next-line:import-patterns import { Menubar } from 'vs/code/electron-main/menubar'; </del> <ins> import { Menubar } from 'vs/platform/menubar/electron-main/menubar'; </ins> import { ILogService } from 'vs/platform/log/common/log'; import { TPromise } from 'vs/base/common/winjs.base'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';

Discussion:
It looks like depends on . That violates our rules for layering. should only ever depend on but nothing above.
Change:
// slash command content widget <del> this._slashCommandContentWidget = new SlashCommandContentWidget(this._inputEditor); </del> <ins> this._slashCommandContentWidget = new SlashCommandContentWidget(this._inputEditor, this._accessibilityService); </ins> this._store.add(this._slashCommandContentWidget); // toolbars

Discussion:
on a screen reader on Windows (JAWS/NVDA) in the chat view backspace hear "space' said this is typical of a screen reader. We discussed using an audio cue to indicate deletion. We have concluded it would be better and simpler to just disable this feature for screen reader users. !
-- After this meeting, something came to mind. What if I love the current command deletion behavior and would like to keep it? would you like to add a user setting to toggle this behavior for some advanced users?
We try to add settings sparingly because we want the default experience to be very nice. I will leave this with to decide. We could keep this behavior and mention it in the chat's accessibility help menu so a screen reader user is aware of what's happening.
do you personally anticipate that you would use this setting to preserve the command deletion behavior? Do you know why the screenreader reads 'space' on a deletion? If we can avoid that, would it be more reasonable that hitting backspace results in the screenreader announcing 'exiting mode'?
JooYoung and I discussed that approach and agreed it would be too verbose. We should either use an audio cue, disable the feature, or provide a setting.
Or mention it in the chat's accessibility help?
After thinking about this issue for a day, I think we can add an alert "input cleared" when the command is entirely deleted. I found that character-by-character deletion works after when you move your cursor to the left.
This is great
Change:
const onKeyDown = Event.chain(domEvent(this.view.getHTMLElement(), 'keydown')) .filter(e => !isInputElement(e.target as HTMLElement) || e.target === this.filterOnTypeDomNode) <del> .filter(e => e.key !== 'Dead') </del> <ins> .filter(e => e.key !== 'Dead' && !/^Media/.test(e.key)) </ins> .map(e => new StandardKeyboardEvent(e)) .filter(this.keyboardNavigationEventFilter || (() => true)) .filter(() => this.automaticKeyboardNavigation || this.triggered)

Discussion:
Issue Type: <bBug</bIf you have keyboard with multimedia buttons using them in Explorer tree triggers highlights/filtering. focus to Explorer tree Play/Pause media key that filter for was applied ! This keyboard have only one multimedia key, but I expect that other might be affected too. VS Code version: Code - Insiders 1.37.0-insider (, 2019-08-01T05:37:54.848Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
I would like to have a go at this.
Can you still reproduce this? Think it may have been fixed in commit . I know I used to be able to reproduce this but I can't anymore.
thanks for checking this issue. Unfortunately I'm still able to reproduce this issue wits latest Insiders build. ! Version: 1.40.0-insider (user setup) Commit: Date: 2019-10-22T05:27:32.053Z Electron: 6.0.12 Chrome: 76.0.3809.146 12.4.0 V8: 7.6.303.31-electron.0 OS: Windows_NT x64 10.0. Reported key is (which looks like expected key code for this button) ! UPD. While looks good media key might "leak" somewhere on
Issue related. I am thinking that this key filtering (see below) could be simplified massively. Instead of blacklisting all of these edge cases, we could just check if is a single character. I believe this should only allow key presses that we want. Then we can just add the exceptions such as . If we remove L660 and modify L664 to be: Key filtering:
I thought about this. But you're going to hit issues with unicode characters, in which one visible character actually has length 1. Let's just keep filtering out these cases one by one, it's fine. Simply add .
Cannot reproduce in 1.39. Could someone who can verify the fix in the latest Insiders?
Fix works as expected for me. Version: 1.40.0-insider (user setup) Commit: Date: 2019-10-31T05:42:33.138Z
Change:
resolved "https://registry.yarnpkg.com/xterm-addon-web-links/-/xterm-addon-web-links-0.2.1.tgz#6d1f2ce613e09870badf17615e7a1170a31542b2" integrity sha512-2KnHtiq0IG7hfwv3jw2/jQeH1RBk2d5CH4zvgwQe00rLofSJqSfgnJ7gwowxxpGHrpbPr6Lv4AmH/joaNw2+HQ== <del> xterm-addon-webgl@0.4.0-beta.11: version "0.4.0-beta.11" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.4.0-beta.11.tgz#0e4a7242e2353cf74aba55e5a5bdc0b4ec87ad10" integrity sha512-AteDxm1RFy1WnjY9r5iJSETozLebvUkR+jextdZk/ASsK21vsYK0DuVWwRI8afgiN2hUVhxcxuHEJUOV+CJDQA== xterm@4.3.0-beta.28.vscode.1: version "4.3.0-beta.28.vscode.1" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.3.0-beta.28.vscode.1.tgz#89b85398b5801708e833d08bf92b2124fa128943" integrity sha512-JNHNZyDtAWnybJTrenPzD6g/yXpHOvPqmjau91Up4onRbjQYMSNlth17SqaES68DKn/+4kcIl2c/RG5SXJjvGw== </del> <ins> xterm-addon-webgl@0.5.0-beta.7: version "0.5.0-beta.7" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.5.0-beta.7.tgz#b7b95a362e942ad6f86fa286d7b7bd8ee3e7cf67" integrity sha512-v6aCvhm1C6mvaurGwUYQfyhb2cAUyuVnzf3Ob/hy5ebtyzUj4wW0N9NbqDEJk67UeMi1lV2xZqrO5gNeTpVqFA== xterm@4.4.0-beta.13: version "4.4.0-beta.13" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.4.0-beta.13.tgz#f7c5fa0d2b098ce0dd8b7c96d3d5fcaee22b86ed" integrity sha512-ZoDOVO3w84CXekBveGw1H2lcvM4HkJG5suXesE/3S+N4DnBhBcK/vw4kdooALGoorJV2GtgA1XEA6+m4N5Sgnw== </ins>

Discussion:
Re macOS zsh with oh my zsh Run scripts described in Open with Canvas rendering and select all ! Open with WebGL rendering ! !
Upstream: I think the problem with inverse is the only issue there? Let me know if I'm wrong.
yup, that's the only issue I saw.
Change:
import { ScrollType } from 'vs/editor/common/editorCommon'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ChatAgentLocation } from 'vs/workbench/contrib/chat/common/chatAgents'; <ins> import { ILogService } from 'vs/platform/log/common/log'; </ins> export class InlineChatZoneWidget extends ZoneWidget {

Discussion:
start inline on a line in the middle of the view port :bug: when the zone shows, the "focus line" is scrolls towards the bottom
Change:
this.toDispose = []; this.toDispose.push(this.editor.onDidChangeModel(() => this.update())); this.toDispose.push(this.editor.onDidChangeModelLanguage(() => this.update())); <ins> this.toDispose.push(this.editor.onDidChangeModelDecorations(() => this.update())); </ins> this.toDispose.push(this.configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(emptyTextEditorHintSetting)) { this.update();

Discussion:
I have linters to ensure files have the right header, when i created the empty ts file, i get the linter error as well as chat prompt However when I add an empty line, you can see the caht prompt does not appear and linter error is in the second line ! !
Change:
"id": "workbench.action.terminal.acceptSelectedSuggestion" }, { <del> "type": "sendText", "data": "s" }, { </del> "type": "output", "data": "u001b[?25lu001b[93mu001b[3;3Hlsu001b[97mu001b[2mu001b[3msbu001b[?25h" },

Discussion:
Steps to Reproduce: and press :bug: intellisense completion was for the argument instead of running the command I have a pretty strong muscle memory to run that command, so now I need to remember to press escape before pressing enter !
this is bad enough that I've turned the feature off, I can't even use
I also hit these issues particularly with : ! !
one change that would make this much less painful: ctrl+z should undo the auto-complete change as a single action (as is the case with the text editor). I press enter really quickly, after typing what I want, and if auto-complete provides something I didn't want, ctrl+z will undo one character at a time.
Well powershell does support ctrl+z itself. We may be able to undo everything, or nearly everything by using bracketed paste mode, since you can paste something and undo it fine.
Just tried with Posh-Git and while the commands () and aliases ( in mine) work, it still doesn't suggest after checkout: <img width="859" alt="Screenshot 2024-06-14 at 9 56 45 AM" src=""
doesn't show files/folders so we couldn't use that. Maybe using the current completion call, but also providing , , etc. when there are only and entries?
Looks promising <img width="861" alt="Screenshot 2024-06-14 at 10 11 11 AM" src=""
Change:
@memoize get onDidChangeSelection() { return Event.map( <del> this._tree.onDidChangeSelection, </del> <ins> Event.any(this._tree.onDidChangeSelection, this._onTriggerEmptySelectionOrFocus.event), </ins> e => ({ items: e.elements.filter((e): e is QuickPickItemElement => e instanceof QuickPickItemElement).map(e => e.item), event: e.browserEvent

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.88.0-insider OS Version: MacOs Steps to Reproduce: In the python and python debugger extension we use the QuickPick, we add an option to accept the value in the input. It was working in stable, but in insiders it doesn't work. Steps: a picker some text in the input box, make sure that it match with one option at first. enter, to select the text in the input box. last value that appeared in the list is the one that is selected. You can check the implementation . I was debugging the code a little bit, and found that in stable when you press enter, the function is called. But in insider when you press enter instead of call that function, the function is called.
Verification: Install Python extension Open a python workspace with no Open the debug pane and click the "create a file" Choose Python Debugger Choose Django Type ONLY 'b' and notice that "Browse Files" becomes the active item Type then, 'z' and notice that the list is empty hit ENTER and notice that the gets created with "bz" in the
The fix fully resolves as well!
Resolves my issue as well.
Change:
tree.reveal(listFocus[0]); } } <ins> // Ensure DOM Focus ensureDOMFocus(focused); </ins> } KeybindingsRegistry.registerCommandAndKeybindingRule({

Discussion:
I like the up / down keyboard navigation over notebook cells, but when you try to use to navigate the order is very unexpected. a notebook. I am using my- my work cell -Focus is on GitHub issues label -focus seems lost -focus is on the start of the document, even though I did not traverse until the end of the docuemnt Ideally tab should go in visual order. If that is not possible should move focus out of the notebook. Similarly tree tab is not used to move focus so users use up / down, but pressing tab focuses out of the tree and does not lead to unexpected jumping of focus.
Fixed in this change Get rid of output focus sink when cell has no output, to avoid a dead spot when tabbing through cell (step 3 in OP) Fix the toolbar losing focus shortly after tabbing onto it, by avoid context key churn Fix domFocus when focus is in a different element from the one that is selected (depends on an earlier PR in )
Much better now. Thanks for fixing this.
Change:
return [new HEADItem(repository), ...await createCheckoutItems(repository)]; }; <del> const placeHolder = l10n.t('Select a ref to create the "{0}" branch from', branchName); </del> <ins> const placeHolder = l10n.t('Select a ref to create the branch from'); </ins> const choice = await window.showQuickPick(getRefPicks(), { placeHolder }); if (!choice) {

Discussion:
create new branch from... from ref picker on desktop git repo :bug: I'm asked to provide a branch name, I would expect to first be asked to pick a ref to create my branch from since the suggests additional prompts that are contextual to that action
Change:
var telemetryReporter: TelemetryReporter | null; <del> interface IToken { type: string; map: [number, number]; } interface MarkdownIt { render(text: string): string; parse(text: string): IToken[]; renderer: { rules: any }; } class MarkdownEngine { private _markdownIt: MarkdownIt | undefined; private get markdownIt(): MarkdownIt { if (!this._markdownIt) { const hljs = require('highlight.js'); const mdnh = require('markdown-it-named-headers'); const md = require('markdown-it')({ html: true, highlight: (str: string, lang: string) => { if (lang && hljs.getLanguage(lang)) { try { return `<pre class="hljs"><code><div>${hljs.highlight(lang, str, true).value}</div></code></pre>`; } catch (error) { } } return `<pre class="hljs"><code><div>${md.utils.escapeHtml(str)}</div></code></pre>`; } }).use(mdnh, {}); const createLineNumberRenderer = (ruleName: string) => { const original = md.renderer.rules[ruleName]; return (tokens: any, idx: number, options: any, env: any, self: any) => { const token = tokens[idx]; if (token.level === 0 && token.map && token.map.length) { token.attrSet('data-line', token.map[0]); token.attrJoin('class', 'code-line'); } if (original) { return original(tokens, idx, options, env, self); } else { return self.renderToken(tokens, idx, options, env, self); } }; }; md.renderer.rules.paragraph_open = createLineNumberRenderer('paragraph_open'); md.renderer.rules.heading_open = createLineNumberRenderer('heading_open'); md.renderer.rules.image = createLineNumberRenderer('image'); md.renderer.rules.code_block = createLineNumberRenderer('code_block'); this._markdownIt = md as MarkdownIt; } return this._markdownIt; } get rules(): any { return this.markdownIt.renderer.rules; } render(text: string): string { return this.markdownIt.render(text); } parse(text: string): IToken[] { return this.markdownIt.parse(text); } } </del> const FrontMatterRegex = /^---s*(.|s)*?---s*/; export function activate(context: vscode.ExtensionContext) {

Discussion:
The current behaviour of Code's Markdown previewer when clicking a relative link is actually a bit cryptic: it attempts to open the file relative to the user's home path with the system's application of choice. This will commonly lead to errors being dispatched because the file cannot be found. If I have the following Markdown: Clicking the link will make my system attempt to open . Given that even , I strongly believe that they should be supported here. Such links should instead be relative to the markdown file's directory and open the linked file using the Code editor.
+1; opening markdown files by clicking a (relative) link in the preview would be a very powerful feature both for writing developer documentation (split into individual files by topic) for a project, but also for viewing that documentation.
Related: Is this behavior something vscode could change for its markdown preview?
Change:
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import { QuickFixAction, QuickFixActionViewItem } from 'vs/workbench/contrib/markers/browser/markersViewActions'; import { ILabelService } from 'vs/platform/label/common/label'; <del> import { dirname, basename, isEqual } from 'vs/base/common/resources'; </del> <ins> import { basename, isEqual } from 'vs/base/common/resources'; </ins> import { IListVirtualDelegate } from 'vs/base/browser/ui/list/list'; import { ITreeFilter, TreeVisibility, TreeFilterResult, ITreeRenderer, ITreeNode } from 'vs/base/browser/ui/tree/tree'; import { FilterOptions } from 'vs/workbench/contrib/markers/browser/markersFilterOptions';

Discussion:
Type: <bBug</bworkspace a new notebook a syntax or other error in a cell problems view bug There's an extra to the right of the notebook file title ! VS Code version: Code - Insiders 1.88.0-insider (Universal) (, 2024-03-25T05:50:56.142Z) OS version: Darwin arm64 23.4.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
It is also same in Search ! Probably this should be something handled by the CC
Its possible to omit in the label widget for because there we know we are in a file context and is not very meaningful for descriptions (change in ). But for the problems view there is an explicit call to with an explicit description passed in: I am not sure just changing to return or wouldn't break some assumptions we have. I would argue that is a valid relative label for a path that has no parent (as in this case). any reason is not used? Or maybe we need to enlist the cell scheme as well as we do for untitled scheme.
I do not remember why we have two branches here - and . Is there a general suggestion for this? I am looking for this before digging deep. Is there a way to know this?
Yeah I would pick the and see what breaks, but maybe there is something in the history of that change that could explain it? I think schemes are pretty much hardcoded, here unfortunately while the notebook scheme is , the cell schemes are not. is there a way to know if a cell scheme is untitled?
It goes back before we used to have label service. I was also not showing the of the resource if the resource has no file provider. Showing parent was introduced . I believe using is the right way to go. I also see Search doing the same.
Change:
interface IThreadTemplateData { thread: HTMLElement; name: HTMLElement; <del> state: HTMLElement; </del> stateLabel: HTMLSpanElement; label: HighlightedLabel; actionBar: ActionBar;

Discussion:
Testing Badge should use text ellipsis when there is not enough room to display the full message: !
Good catch. Yes, we should improve this.
Not for endgame since we always behaved like this. Moving out of milestone and opening up for PRs. Code pointer