jiebi/CodeConvo huggingface dataset:
Change:
} .monaco-editor .comment-range-glyph { <del> margin-left: 5px; </del> <ins> margin-left: 10px; </ins> width: 4px !important; cursor: pointer; z-index: 10;

Discussion:
I was exploring ways to improve the PR experience in VS Code and one of the ideas involved updating the glyph area for comments. Currently we show a gray bar and a unicode and that don't look very pretty. ! A couple of things I explored: Moving glyph area to the left of line numbers. This helps create separation between between the scm indicators and a clear area for adding comments. Adding button for adding and view comments. This follows a similar pattern on GitHub for reviewing changes. Hiding diff chunk areas. This reduces the visual noise and I think most people will be commenting on changed lines in the PR as opposed to lines that are not related Adding color to the and changes to look visually pleasing ! Unsure who should I assign to so assigning to and for now
Some additional feedback from the team: We might still need the indicator for comment areas, particularly when viewing files with changes in review mode where the diffs are not present ! We could also surface the "add comment" button on line hover to increase discoverability
I agree that we will likely still need to show the range, but let's improve the leave-a-comment and there's-a-comment decorations.
Here's what I'm thinking: ! It uses the comment codicon for lines with a comment thread. Keeps the existing + for add Makes them both look a little more clickable but making them more square and giving them rounded corners. and what do you think? I didn't add any color for now and I kept everything to the right of the line numbers still.
this is looking great, love that we can have codicon support in the comments! I know you mentioned you hadn't any color, is that something that you'd be open for us to add? I did a quick mockup that shows an alternate styling: <img width="314" alt="CleanShot 2022-08-08 at 08 57 41 src="https://user-"
I didn't add color because I thought the blue was a bit too strong, but I really like the color in this mock up. I'll add it and merge the change! I also see that you're using the codicon +. I'll switch to that too.
Also updated the multiline add: !
Change:
// Clear the current marker so successive focus/selection actions are performed from the // bottom of the buffer this._currentMarker = Boundary.Bottom; <ins> this._resetNavigationDecoration(); this._selectionStart = null; } private _resetNavigationDecoration() { </ins> this._navigationDecoration?.dispose(); this._navigationDecoration = undefined; <del> this._selectionStart = null; </del> } scrollToPreviousCommand(scrollPosition: ScrollPosition = ScrollPosition.Middle, retainSelection: boolean = false): void {

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: vscode built using current branch OS Version: Ubuntu 20.04 LTS When selecting previous/next commands in a terminal with ctr+shift+up/down, if one of the boundaries is reached, the selection disappeared and the current position is moved to the bottom. Current behaviour: ! In the last stable release, the behaviour is: !
Change:
* ------------------------------------------------------------------------------------------ */ 'use strict'; <del> import { env, languages, commands, workspace, window, ExtensionContext, Memento, IndentAction, Diagnostic, DiagnosticCollection, Range, Disposable, Uri, MessageItem, TextEditor, FileSystemWatcher } from 'vscode'; </del> <ins> import { env, languages, commands, workspace, window, ExtensionContext, Memento, IndentAction, Diagnostic, DiagnosticCollection, Range, Disposable, Uri, MessageItem, TextEditor, FileSystemWatcher, DiagnosticSeverity } from 'vscode'; </ins> // This must be the first statement otherwise modules might got loaded with // the wrong locale.

Discussion:
The video below demonstrates tslint running as a language server plugin. Notice that the tslint warnings show up as errors. However, in the code the DiagnosticCategory is set to . ! This is the code that creates the diagnostic
Looks like we don't set a severity on the diagnostics which causes them to all be marked as errors. Looking into fixing this
Hmm, I don't see a field on normal objects in the TSServer protocol, only on . Let me see if this field is sent anyways when you explicitly set in the TSLint plugin
I've opened to track adding to the objects that tsserver returns to us. This seems like an oversight in the current protocol
Change:
import { IEditorContribution } from 'vs/editor/common/editorCommon'; import { IModelDecorationOptions, IModelDeltaDecoration, OverviewRulerLane, TrackedRangeStickiness } from 'vs/editor/common/model'; import { localize } from 'vs/nls'; <del> import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; </del> import { ILogService } from 'vs/platform/log/common/log'; import { registerColor } from 'vs/platform/theme/common/colorRegistry'; import { registerThemingParticipant, themeColorFromId, ThemeIcon } from 'vs/platform/theme/common/themeService';

Discussion:
With I went over most editor contributions (50+) and adopted idle value instantiation where I could reason that they would still work correctly. But some editor contributions interact in more complex ways, sometimes with each other, and I wasn't sure. Hence, this issue. I would like to ask that all calls explicitly use . If a contribution uses eager, a reason should be written as a comment next to it. There are multiple options available: Some things to keep in mind when changing an editor contribution to something else than : the contribution will not be created necessarily before a text model is attached. Normally, a contribution is created so early, at a point when the editor has no models. So it is safe for a contribution to simply use to check if the contribution needs to do anything. When being instantiated later, it is possible that the contribution will be created at a time when the editor already has a model, so the contribution should be prepared to deal with that in the ctor. if a contribution needs to be activated via editor events (pasting, typing, mouse events), then most likely you can use . if a contribution is mostly driven by actions or commands, then the contribution will be instantiated when the first action that needs it is executed, so it is safe to use . if a contribution is only driven by actions or commands, it is safe to use . Anyways, here's the remaining list of contributions for which I wasn't sure what would be correct:
Replacing me with who took over quick pick.
Change:
}); }; <ins> const move = (next: boolean) => { assertType(widgetData); const candidates: Position[] = []; for (const item of this._session.hunkData.getInfo()) { if (item.getState() === HunkState.Pending) { candidates.push(item.getRangesN()[0].getStartPosition().delta(-1)); } } if (candidates.length < 2) { return; } for (let i = 0; i < candidates.length; i++) { if (candidates[i].equals(widgetData.position)) { let newPos: Position; if (next) { newPos = candidates[(i + 1) % candidates.length]; } else { newPos = candidates[(i + candidates.length - 1) % candidates.length]; } this._zone.updatePositionAndHeight(newPos); renderHunks(); break; } } }; </ins> const zoneLineNumber = this._zone.position!.lineNumber; const myDistance = zoneLineNumber <= hunkRanges[0].startLineNumber ? hunkRanges[0].startLineNumber - zoneLineNumber

Discussion:
open inline chat have it make multiple hunks (hint: ask it to use a util that needs to be imported) there is no gesture to visit all hunks except for accepting/discarding them... This can also help with accessibility when using the move
To verify let inline chat make multiple changes, e.g ask it to import a util or let is change the label of two actions make sure the inline chat status says "N changes" (n=2) select and to navigate between the changes
Change:
import { ContextMenuController } from 'vs/editor/contrib/contextmenu/browser/contextmenu'; import * as platform from 'vs/base/common/platform'; import { compare, format } from 'vs/base/common/strings'; <del> import { inputPlaceholderForeground, inputValidationInfoBorder, inputValidationWarningBorder, inputValidationErrorBorder, inputValidationInfoBackground, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningForeground, inputValidationErrorBackground, inputValidationErrorForeground, inputBackground, inputForeground, inputBorder, focusBorder, registerColor, contrastBorder, editorSelectionBackground, selectionBackground, textLinkActiveForeground, textLinkForeground } from 'vs/platform/theme/common/colorRegistry'; </del> <ins> import { inputPlaceholderForeground, inputValidationInfoBorder, inputValidationWarningBorder, inputValidationErrorBorder, inputValidationInfoBackground, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningForeground, inputValidationErrorBackground, inputValidationErrorForeground, inputBackground, inputForeground, inputBorder, focusBorder, registerColor, contrastBorder, editorSelectionBackground, selectionBackground, textLinkActiveForeground, textLinkForeground, buttonBorder } from 'vs/platform/theme/common/colorRegistry'; </ins> import { SuggestController } from 'vs/editor/contrib/suggest/browser/suggestController'; import { SnippetController2 } from 'vs/editor/contrib/snippet/browser/snippetController2'; import { Schemas } from 'vs/base/common/network';

Discussion:
Using the Amethyst theme the label of the "Sync Changes" button is not vertically aligned: <img width="626" alt="image" src="https://user-"//cc
That‘s not an issue for me. The main issue for the "Sync Changes" button is that, it allways shows. It should be hidden when there is no changes to sync. !
that is unrelated to the problem that this issue is tracking. Also the problem that you are describing has already been fixed in the latest Insiders release, and it will be included in the next Stable release.
I think this is the same border issue except in the button we cap the height to so it forces everything to be shifted down by 1-2px: <img width="294" alt="CleanShot 2022-07-21 at 08 43 45 src="https://user-"If you remove the height then it looks better: <img width="234" alt="CleanShot 2022-07-21 at 08 46 01 src="https://user-"
thanks for looking into this. your analysis aligns with my findings. I will try to get a fix for this in next week.
Change:
return; } <del> if ((<any>window).clipboardData) { (<any>window).clipboardData.setData('Text', text); e.preventDefault(); return; } </del> throw new Error('ClipboardEventUtils.setTextData: Cannot use text data!'); } }

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/No --- <!-- 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: --- OS Version: --- monaco-editor version: 0.28.0 Hi. I have an issue with part of code inside monaco-editor's build code inside this particular file: I opened issue here (rather that monaco-editor's repository) because I found the code inside vscode's source code. There is a code snippet that goes like . (inside as ) Which is probably there because of IE-support reasons. But as you may know there is a security vulnerability reported for that small code snippet. is an alert. My problem arises from the point that I deployed my web application which included monaco-editor. It was all perfect, until I received a message that said the page that includes monaco-editor is not loading. I double checked my website, it was fine everywhere. It worked. For debugging, I went to the organization that I received the message from. It did not work inside the organization. After hours of debugging I found out the IPS of the organization is preventing the file from arriving into the company's network. My issue was resolved with simply removing every usage of from the build code and serving it from my server (instead of using a CDN), because my web application did not need IE support. Later I found that doing simply like this would trick that particular IPS too: That particular IPS may let this code through; but other IPSs may not! So I'm here with this issue maybe you can do something about it to prevent further problems like this for anyone else to happen.

You can gain more information about the security vulnerability by searching this message: HTTP BROWSER Microsoft Internet Explorer improper copy buffer access information disclosure attempt And here is the problematic code inside vscode's source code:
According to this: What about IE 11 support? The Monaco Editor no longer supports IE 11. The last version that was tested on IE 11 is 0.18.1. So I think it would be safe to remove everything that uses . I would be happy to do it if confirmed.
verified in code
Change:
{ "id": "diff", "aliases": ["Diff", "diff" ], <del> "extensions": [".patch", ".diff", ".rej"], </del> <ins> "extensions": [".diff", ".patch", ".rej"], </ins> "configuration": "./language-configuration.json" } ],

Discussion:
Currently the order is: - This creates a visual issue when using different images for and . Currently we on do so and although the associated files get the correct image, in the selection it shows the image and not the image. Changing the order to: - or - should fix the issue.
The issue refers to this
Submitted
Change:
}); this._xterm.webLinksInit(wrappedHandler, { validationCallback: (uri: string, callback: (isValid: boolean) => void) => this._validateWebLink(uri, callback), <del> tooltipCallback: (e: MouseEvent) => this._widgetManager.showMessage(e.offsetX, e.offsetY, this._getLinkHoverString()), </del> <ins> tooltipCallback: (e: MouseEvent) => { if (this._terminalService && this._terminalService.configHelper.config.rendererType === 'dom') { const target = (e.target as HTMLElement); this._widgetManager.showMessage(target.offsetLeft, target.offsetTop, this._getLinkHoverString()); } else { this._widgetManager.showMessage(e.offsetX, e.offsetY, this._getLinkHoverString()); } }, </ins> leaveCallback: () => this._widgetManager.closeMessage(), willLinkActivate: (e: MouseEvent) => this._isLinkActivationModifierDown(e) });

Discussion:
The underline also isn't appearing <img width="676" alt="screen shot 2018-05-18 at 12 12 49 pm" src="https://user-"
I also encountered this problem on Ubuntu 16.04, underline is not displayed on std input , and std output for Terminal. Hope can be fixed. Version 1.24.1 Commit Date 2018-06-13T17:47:35.732Z Shell 1.7.12 Renderer 58.0.3029.110 Node 7.9.0 Architecture x64
Hi! After some testing I found that the problem (regarding tooltip location) seems to be that, when emits the event, the and properties of the fired instance are zero: ! I believe this is because the DOM element which fires the event is the rendering the character instead of some element with the size of the entire terminal (like the in the default renderer). In order to solve it, I  to and styles so the event don't target those objects and the becomes the , provider. do you think it is a good solution? I can make a PR, if you want. Edit: Those changes should be made on the package (And maybe this issue should be there also?)
Regarding the underline don't appearing I'm trying this solution , and it seems to work (I'm going to sleep right now, but tomorrow I'll make some testing). Do you think it's a feasible solution?
, we probably don't want to handle the tooltip location in since should just be providing all the info it has in the mouse event without making specific assumptions about how that info will be used. I'll let comment on the underline
I made some comments on the underline in that commit , looks pretty close to what we're after. I created to track this, a PR would be fantastic! You would also want to remove the line in that says link underlines are not supported.
Underline don't appearing was fixed in We should wait for 's 3.8.0 release in order to update and close this issue, right?
I've already pulled in your changes, we'll close this off when is merged.

Hmm, something is still a bit off, mousing over and pausing on the bottom few pixels will show the tooltip in the correct position but the pixels above will show the tooltip where it should be for the line above ! !
I still have no idea why this is happening but this is what I got so far: Target of the event in the expected behavior scenario: Target of the event in the unexpected behavior scenario:
PR out upstream which should fix this:
I can no longer reproduce.
Change:
super(); const menu = this._register(menuService.createMenu(this.notebookEditor.creationOptions.menuIds.cellExecutePrimary!, contextKeyService)); <ins> const secondaryMenu = this._register(menuService.createMenu(this.notebookEditor.creationOptions.menuIds.cellExecuteToolbar, contextKeyService)); </ins> this.createRunCellToolbar(runButtonContainer, cellContainer, contextKeyService); const updateActions = () => { const actions = this.getCellToolbarActions(menu);

Discussion:
Open a notebook Sometimes the focused cell doesn't have the dropdown chevron with the "Debug Cell" action Or, after debugging or using RBL, sometimes this button doesn't come back pointed this out and I can repro it
Change:
ContinuationEnd = 'G', /** <ins> * The start of the right prompt. */ RightPromptStart = 'H', /** * The end of the right prompt. */ RightPromptEnd = 'I', /** </ins> * Set an arbitrary property: `OSC 633 ; P ; <Property>=<Value> ST`, only known properties will * be handled. */

Discussion:
Setup a right prompt in fish/zsh and make sure the command detected is accurate.
zsh uses for this, perhaps we should have a generic ignored ranges mechanism and combine this with the line continuation solution?
Change:
toDispose.push(disposable); }); <ins> languages.registerSelectionRangeProvider('html', { async provideSelectionRanges(document: TextDocument, position: Position): Promise<SelectionRange[]> { const textDocument = TextDocumentIdentifier.create(document.uri.toString()); const rawRanges: Range[] = await client.sendRequest('$/textDocument/selectionRange', { textDocument, position }); return rawRanges.map(r => { const actualRange = new Range(new Position(r.start.line, r.start.character), new Position(r.end.line, r.end.character)); return { range: actualRange, kind: SelectionRangeKind.Declaration }; }); } }); </ins> languages.setLanguageConfiguration('html', { indentationRules: { increaseIndentPattern: /<(?!?|(?:area|base|br|col|frame|hr|html|img|input|link|meta|param)b|[^>]*/>)([-_.A-Za-z0-9]+)(?=s|>)b[^>]*>(?!.*</1>)|<!--(?!.*-->)|{[^}"']*$/,

Discussion:
Semantic selections: LSP: works CSS/SCSS/LESS: doesn't work, but it works in Atom. Probably need to update our dependencies. The plan now is to use emmet's "balance" commands. The challenge is that HTML/CSS language service need to include emmet. Alternatively, we can implement these commands ourselves.
Please review the animated gifs in the original thread: Seems to me the emmet functionality as it stands is wholly inadequate.
This will be available in tomorrow's insiders: !
is this suppose to work in Javascript? It's not nearly as functional as Webstorm. Also fails dramatically with HTML in .Vue files. Oh well.
Vue — it'll be available once we update the dependencies. JavaScript — we'll need to wait for TypeScript to add the semantic selection. I don't have any estimate.
Change:
const listSelectionNavigation = WorkbenchListSelectionNavigation.bindTo(this.contextKeyService); listSelectionNavigation.set(Boolean(options.selectionNavigation)); <ins> this.listSupportFindWidget = WorkbenchListSupportsFind.bindTo(this.contextKeyService); this.listSupportFindWidget.set(options.findWidgetEnabled ?? true); </ins> this.hasSelectionOrFocus = WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService); this.hasDoubleSelection = WorkbenchListDoubleSelection.bindTo(this.contextKeyService); this.hasMultiSelection = WorkbenchListMultiSelection.bindTo(this.contextKeyService);

Discussion:
I think this came up during the standup today, why is the context key called and not ? //cc
This context key came in quite late via a fix -- . I noticed this standing out because of the default keybindings which seem to mix things up: Giving this a candidate in case we want to align the context key before shipping stable
From
Change:
if (markerIndex < 0) { this._currentMarker = Boundary.Top; this._terminal.scrollToTop(); <del> this.clearMarker(); </del> <ins> this._resetNavigationDecoration(); </ins> return; }

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: vscode built using current branch OS Version: Ubuntu 20.04 LTS When selecting previous/next commands in a terminal with ctr+shift+up/down, if one of the boundaries is reached, the selection disappeared and the current position is moved to the bottom. Current behaviour: ! In the last stable release, the behaviour is: !