jiebi/CodeConvo huggingface dataset:
Change:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.37.1 OS Version: Linux x64 4.15.1-58-generic Steps to Reproduce: trailing newlines from a file under version control. to the Source Control view. to stage the removal of these newlines: right-click on the right-hand side and select "stage selected changes" how there's still one removal that appears to have been left behind. step 3 your removals have all been staged. Expected behaviour: at step 3 the entire newline removal should be staged. Demo video: <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Is there anything I missed regarding this issue? Why is this still open?
Nope, I can still reproduce this under VS Code v1.39.1 ~If you haven't checked the video I linked, check it out, it demonstrates the issue better than words can.~ [EDIT] Ah, I see you fixed it, but it hasn't been merged in yet. Not sure what the policy is in this repo regarding closing tickets, but perhaps this one's still open since the fix hasn't hit production yet?

Discussion:
// if this is a deletion at the very end of the document,then we need to account // for a newline at the end of the last line which may have been deleted // https://github.com/Microsoft/vscode/issues/59670 <del> if (isDeletion && diff.originalStartLineNumber === original.lineCount) { </del> <ins> if (isDeletion && diff.originalEndLineNumber === original.lineCount) { </ins> endLine -= 1; endCharacter = original.lineAt(endLine).range.end.character; }
Change:
[use case] generate a simple random string as a quick debug flag [feature request] add a $RANDOM varible to snippet or support JS expression as ES6 did e.g. ${().toString(36).slice(-6)}`
, I can take this up but need some starter and code pointers for this :) I just need some more understanding as we can do something like this (,$1);
Is this still open? Can I take this?
Go for it. Code pointer:
Duplicate of Alka

Discussion:
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { optional } from 'vs/platform/instantiation/common/instantiation'; import { Choice, Placeholder, SnippetParser, Text, TextmateSnippet, Marker } from './snippetParser'; <del> import { ClipboardBasedVariableResolver, CompositeSnippetVariableResolver, ModelBasedVariableResolver, SelectionBasedVariableResolver, TimeBasedVariableResolver, CommentBasedVariableResolver, WorkspaceBasedVariableResolver } from './snippetVariables'; </del> <ins> import { ClipboardBasedVariableResolver, CompositeSnippetVariableResolver, ModelBasedVariableResolver, SelectionBasedVariableResolver, TimeBasedVariableResolver, CommentBasedVariableResolver, WorkspaceBasedVariableResolver, RandomBasedVariableResolver } from './snippetVariables'; </ins> import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import { withNullAsUndefined } from 'vs/base/common/types';

new CommentBasedVariableResolver(model), new TimeBasedVariableResolver, new WorkspaceBasedVariableResolver(workspaceService), <ins> new RandomBasedVariableResolver, </ins> ])); const offset = model.getOffsetAt(start) + delta;

'LINE_COMMENT': true, 'WORKSPACE_NAME': true, 'WORKSPACE_FOLDER': true, <ins> 'RANDOM': true, 'RANDOM_HEX': true, </ins> }); export class CompositeSnippetVariableResolver implements VariableResolver {

return (folderpath ? normalizeDriveLetter(folderpath) : '/'); } } <ins> export class RandomBasedVariableResolver implements VariableResolver { resolve(variable: Variable): string | undefined { const { name } = variable; if (name === 'RANDOM') { return Math.random().toString().slice(-6); } else if (name === 'RANDOM_HEX') { return Math.random().toString(16).slice(-6); } return undefined; } } </ins>
Change:
Window Sync entry is shown again Version: 1.39.0-insider (user setup) Commit: OS: Windows_NT x64 10.0.
Can confirm it happens on macOS with VSCode version 1.38.0

Discussion:
const onEnablementChange = filterEvent(workspace.onDidChangeConfiguration, e => e.affectsConfiguration('git.enableStatusBarSync')); onEnablementChange(this.updateEnablement, this, this.disposables); <ins> this.updateEnablement(); </ins> this._onDidChange.fire(); }
Change:
VSCode Version: 1.37.1 OS Version: Linux x64 5.1.14--generic Steps to Reproduce: a search term (make sure it actually exists in the current document) the replace term empty the match case box Ctrl-Alt-T the error ! Does this issue occur when all extensions are disabled?: Yes
What does do here? I don't think I have that keybinding.
I think I meant Ctrl+Alt+Enter, the shortcut for replacing all. I am not sure if it is the correct shortcut (I don't have access to my laptop right now), but it is not specific to it. I am guessing replace or replace all will trigger the same bug.
I can't reproduce it. It would help if you can try it again and get the full error stack from the developer tools (Help Toggle Developer Tools)
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

Discussion:
return pattern.toUpperCase(); } else if (matches[0].toLowerCase() === matches[0]) { return pattern.toLowerCase(); <del> } else if (strings.containsUppercaseCharacter(matches[0][0])) { </del> <ins> } else if (strings.containsUppercaseCharacter(matches[0][0]) && pattern.length > 0) { </ins> return pattern[0].toUpperCase() + pattern.substr(1); } else { // we don't understand its pattern yet.
Change:
Issue Type: <bBug</bI believe this just started, but I can no longer resize the split editor via the middle bar. Diff editor still works, and it works fine in stable as well. VS Code version: Code - Insiders 1.39.0-insider (, 2019-09-09T17:00:17.505Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Not sure which editor you mean... what steps are you doing to get to that UI?
From the command palette, Preferences: Open Settings (JSON) !
does that provide what you need?
For some reason I no longer can open that view... it always opens a regular editor, not that old settings editor.
now you have to set . I can reproduce but haven't changed it,
Aha! Couldn't find the name of that setting...
Since I investigated it I ended up just making a fix for it. Not sure why it broke tho.

Discussion:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <ins> .preferences-editor { display: flex; flex-direction: column; } </ins> .preferences-editor > .preferences-header { padding-left: 27px; padding-right: 32px;

} .preferences-editor > .preferences-editors-container.side-by-side-preferences-editor { <del> position: relative; </del> <ins> flex: 1; </ins> } .preferences-editor > .preferences-editors-container.side-by-side-preferences-editor .preferences-header-container {

padding: 10px; border-radius: 5px; cursor: pointer; <del> } </del>  No newline at end of file <ins> } </ins>
Change:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.38.0 OS Version: Linux x64 4.15.0-29deepin-generic Steps to Reproduce: focus on explorer section BracketLeft, key code 219 ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Cannot reproduce VSCode Version: 1.38.0 OS Version: macOS 10.14.6 (18G95)
Cannot reproduce either VSCode Version: 1.39.0 OS Version: macOS 10.14.2
Do you maybe have a special keyboard layout?
No, i have a Dell Inspiron 14 5480 and i use his keyboard, i check again and the error stills here. Not just for BracketLeft, but shows the same error when i press . I tested with external keyboard and i have same results. Keys: !
Ok, I can reproduce it now on MacOS & Windows with english and german layout, but BracketLeft works. What kind of keyboard layout do you use Portuguese layout? Maybe this is related: When pressing a modifier key, the key event listener returns 'DEAD', this is normal, but should not be printed to the user. The modifier key is applied. So when I press ' ^ ' then ' a', it shows ' â '. vscode should check the return value of the key event listener and filter out 'DEAD'. Modifier keys that result in 'DEAD' : ^ ´
Yeah, i use portuguese layout keyboard. With layout doesn't have a problem. ^ ´ All ocurrencies prints
I'm using portuguese layout keyboard as well. ^ ´ ` ~ All of these keys prints
I'm using portuguese layout keyboard as well. ^´
I'd be interested in taking a look at this if that's okay. I've found The obvious fix here is to amend L699 to include a check for dead keys, however, this seems a bit hacky as will still be called. Is there somewhere else that this could be handled? EDIT: Could instead modify (a bit nicer) But this still isn't ideal, as it doesn't behave the same as all other inputs. Bit lost here to be honest and would appreciate any pointers.
I think the best we can do is exactly what you've done with . Feel free to submit a PR!

Discussion:
const onKeyDown = Event.chain(domEvent(this.view.getHTMLElement(), 'keydown')) .filter(e => !isInputElement(e.target as HTMLElement) || e.target === this.filterOnTypeDomNode) <ins> .filter(e => e.key !== 'Dead') </ins> .map(e => new StandardKeyboardEvent(e)) .filter(this.keyboardNavigationEventFilter || (() => true)) .filter(() => this.automaticKeyboardNavigation || this.triggered)
Change:
Version: 1.38.0 Commit: Date: 2019-09-03T21:47:00.464Z Electron: 4.2.10 Chrome: 69.0.3497.128 10.11.0 V8: 6.9.427.31-electron.0 OS: Darwin x64 18.0.0 Steps to Reproduce: 1 open multiple tabs and only save some of them. 2 commit and click <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.559 --- <!-- score: 0.518 --- <!-- score: 0.492 --- <!-- score: 0.483 --<!-- potentialduplicatescomment --
Oh yeah. Good catch. Want to submit a fix? Problem is
Hey, I am a new contributor here. I want to give a try on this issue.
Great. Go ahead.

Discussion:
if (pick === saveAndCommit) { await Promise.all(documents.map(d => d.save())); <del> await repository.add(documents.map(d => d.uri)); </del> <ins> await repository.add([]); </ins> } else if (pick !== commit) { return false; // do not commit on cancel }
Change:
The current behavior is very confusing to me. Take the following example: ! Two editor tabs are open in the left group, one containing and the other In the right group is the preview tab. Each Markdown file has a link to the other file. Clicking the link in the preview tab opens a new editor tab (containing the linked file) in the same group as the preview tab (despite the file already being open): ! Clicking a link in the preview should focus (i.e., bring forward) the existing editor tab containing the linked file (if it is already open). So clicking the link to in should result in the follow state: !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.571 --- <!-- score: 0.558 --- <!-- score: 0.543 --- <!-- score: 0.477 --- <!-- score: 0.445 --<!-- potentialduplicatescomment --
There may be some connection with since, at least for me, VS Code does not appear to respect this setting (). If the behavior was as is described , I would be satisfied.

Discussion:
return vscode.commands.executeCommand('revealInExplorer', uri); case 'file': { <ins> // If no explicit viewColumn is given, check if the editor is already open in a tab if (typeof viewColumn === 'undefined') { for (const tab of vscode.window.tabGroups.all.flatMap(x => x.tabs)) { if (tab.input instanceof vscode.TabInputText) { if (tab.input.uri.fsPath === uri.fsPath) { viewColumn = tab.group.viewColumn; break; } } } } </ins> return vscode.commands.executeCommand('vscode.open', uri, <vscode.TextDocumentShowOptions>{ selection: resolved.position ? new vscode.Range(resolved.position.line, resolved.position.character, resolved.position.line, resolved.position.character) : undefined, viewColumn: viewColumn ?? getViewColumn(fromResource),
Change:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --With being merged, I'd now like to be able to directly paste after selection. The current behaviour with copyOnSelection = true and rightClickBehavior = copyPaste: text (text is then copied into clipboard) or left click, this clears the selection click again to paste With the proposed mode, copyOnSelection = true and rightClickBehavior = paste: text (text is then copied into clipboard) click, and text is pasted Why do I want this? Simple: it removes an extra click when pasting. This mirrors how PuTTY's pastes. The new Windows Terminal recently got support for this feature, too -
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.5 --- <!-- score: 0.483 --- <!-- score: 0.457 --<!-- potentialduplicatescomment --
To verify test on Windows and make sure that acts correct (as opposed to the default )

Discussion:
}, 'terminal.integrated.rightClickBehavior': { type: 'string', <del> enum: ['default', 'copyPaste', 'selectWord'], </del> <ins> enum: ['default', 'copyPaste', 'paste', 'selectWord'], </ins> enumDescriptions: [ nls.localize('terminal.integrated.rightClickBehavior.default', "Show the context menu."), nls.localize('terminal.integrated.rightClickBehavior.copyPaste', "Copy when there is a selection, otherwise paste."), <ins> nls.localize('terminal.integrated.rightClickBehavior.paste', "Paste on right click."), </ins> nls.localize('terminal.integrated.rightClickBehavior.selectWord', "Select the word under the cursor and show the context menu.") ], default: platform.isMacintosh ? 'selectWord' : platform.isWindows ? 'copyPaste' : 'default',

terminal.focus(); } } else if (event.which === 3) { <del> if (this._terminalService.configHelper.config.rightClickBehavior === 'copyPaste') { </del> <ins> const rightClickBehavior = this._terminalService.configHelper.config.rightClickBehavior; if (rightClickBehavior === 'copyPaste' || rightClickBehavior === 'paste') { </ins> const terminal = this._terminalService.getActiveInstance(); if (!terminal) { return; } <del> if (terminal.hasSelection()) { </del> <ins> if (rightClickBehavior === 'copyPaste' && terminal.hasSelection()) { </ins> await terminal.copySelection(); terminal.clearSelection(); } else {

macOptionIsMeta: boolean; macOptionClickForcesSelection: boolean; rendererType: 'auto' | 'canvas' | 'dom'; <del> rightClickBehavior: 'default' | 'copyPaste' | 'selectWord'; </del> <ins> rightClickBehavior: 'default' | 'copyPaste' | 'paste' | 'selectWord'; </ins> cursorBlinking: boolean; cursorStyle: string; drawBoldTextInBrightColors: boolean;
Change:
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.

Discussion:
let ctrlPressed = false; let altPressed = false; let hasLoadedImage = false; <del> let consumeClick = false; </del> <ins> let consumeClick = true; let isActive = false; </ins> // Elements const container = document.body;

}); } <del> function changeActive(value) { </del> <ins> function setActive(value) { isActive = value; </ins> if (value) { <del> container.classList.add('zoom-in'); consumeClick = true; </del> <ins> if (isMac ? altPressed : ctrlPressed) { container.classList.remove('zoom-in'); container.classList.add('zoom-out'); } else { container.classList.remove('zoom-out'); container.classList.add('zoom-in'); } </ins> } else { ctrlPressed = false; altPressed = false;

return; } <del> consumeClick = false; </del> <ins> ctrlPressed = e.ctrlKey; altPressed = e.altKey; consumeClick = !isActive; </ins> }); container.addEventListener('click', (/** @type {MouseEvent} */ e) => {

return; } <del> ctrlPressed = e.ctrlKey; altPressed = e.altKey; if (isMac ? altPressed : ctrlPressed) { container.classList.remove('zoom-in'); container.classList.add('zoom-out'); } </del> if (consumeClick) { consumeClick = false; return;

break; case 'setActive': <del> changeActive(e.data.value); </del> <ins> setActive(e.data.value); </ins> break; case 'zoomIn':

this._register(webviewEditor.onDidChangeViewState(() => { this.update(); <ins> this.webviewEditor.webview.postMessage({ type: 'setActive', value: this.webviewEditor.active }); </ins> })); this._register(webviewEditor.onDidDispose(() => {

this.render(); this.update(); <ins> this.webviewEditor.webview.postMessage({ type: 'setActive', value: this.webviewEditor.active }); </ins> } public zoomIn() {

} this._previewState = PreviewState.Visible; } <del> this.webviewEditor.webview.postMessage({ type: 'setActive', value: this.webviewEditor.active }); </del> } private getWebiewContents(): string {
Change:
I see this telemetry event getting sent when toggling the screen reader on whilst vscode is open, however if a screenreader is already on when the editor is opened, the telemetry event doesn't get fired as it's only triggered by Electron's event. This probably isn't the desired implementation here.
I can take this.
Thanks for catching and fixing this

Discussion:
_serviceBrand: undefined; private _accessibilitySupport = AccessibilitySupport.Unknown; <ins> private didSendTelemetry = false; </ins> constructor( <del> @IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService, @IContextKeyService readonly contextKeyService: IContextKeyService, @IConfigurationService readonly configurationService: IConfigurationService, </del> <ins> @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService, @IContextKeyService contextKeyService: IContextKeyService, @IConfigurationService configurationService: IConfigurationService, </ins> @ITelemetryService private readonly _telemetryService: ITelemetryService ) { super(contextKeyService, configurationService); <ins> this.setAccessibilitySupport(environmentService.configuration.accessibilitySupport ? AccessibilitySupport.Enabled : AccessibilitySupport.Disabled); </ins> } alwaysUnderlineAccessKeys(): Promise<boolean> {

this._accessibilitySupport = accessibilitySupport; this._onDidChangeAccessibilitySupport.fire(); <del> if (accessibilitySupport === AccessibilitySupport.Enabled) { </del> <ins> if (!this.didSendTelemetry && accessibilitySupport === AccessibilitySupport.Enabled) { </ins> this._telemetryService.publicLog2<AccessibilityMetrics, AccessibilityMetricsClassification>('accessibility', { enabled: true }); <ins> this.didSendTelemetry = true; </ins> } } getAccessibilitySupport(): AccessibilitySupport { <del> if (this._accessibilitySupport === AccessibilitySupport.Unknown) { const config = this.environmentService.configuration; this._accessibilitySupport = config?.accessibilitySupport ? AccessibilitySupport.Enabled : AccessibilitySupport.Disabled; } </del> return this._accessibilitySupport; } }
Change:
There is a command called "cursorUndo", which undo's cursor and selection movements. In the command palette it is called "Soft Undo". I think the name in the command palette should be changed from "Soft Undo" to "Cursor Undo". This will make the command more discoverable, and more intuitive for users to figure out what it does. When I found this command in the command palette, I tried typing "hello" and then using it, but it did nothing, because the cursor hasn't moved since the last edit. I had to google it to figure out what the command does. Even though the command also undo's selection changes and not just cursor movements, I think "cursor" is a general term the refers to both "cursor" and "selection". Also, the command name itself is already "cursorUndo", it makes sense for the name in the command palette to use the same term. Having "cursor" in the command's name will make it clear it undo's things that the cursor does, such as moving and selecting text. A user that will find this command in the command palette will most likely attempt to move the cursor and then use the command, and then will understand what it does. VSCode Version: 1.38.1 OS: Windows
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.552 --<!-- potentialduplicatescomment --
This issue is different than the suggested duplicates.
I have made a PR fixing this.
Even the post and comments when it was named "Soft Undo" agree it should have the word "cursor" or "selection" -
Now that command was merged (PR ) it also should have its label renamed from "Soft Redo" to "Cursor Redo".

Discussion:
constructor() { super({ id: 'cursorUndo', <del> label: nls.localize('cursor.undo', "Soft Undo"), alias: 'Soft Undo', </del> <ins> label: nls.localize('cursor.undo', "Cursor Undo"), alias: 'Cursor Undo', </ins> precondition: undefined, kbOpts: { kbExpr: EditorContextKeys.textInputFocus,

constructor() { super({ id: 'cursorRedo', <del> label: nls.localize('cursor.redo', "Soft Redo"), alias: 'Soft Redo', </del> <ins> label: nls.localize('cursor.redo', "Cursor Redo"), alias: 'Cursor Redo', </ins> precondition: undefined }); }
Change:
Issue Type: <bBug</bFind in Files Regexp with lookbehind Use Regular Expression and Match Whole Word "Regex parse error" message appear This works fine in Find widget and if manually to regexp. Root cause: is not if is used with . /cc VS Code version: Code - Insiders 1.39.0-insider (, 2019-10-04T09:24:45.690Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.598 --- <!-- score: 0.549 --- <!-- score: 0.5 --<!-- potentialduplicatescomment --

Discussion:
args.push('--pcre2'); } <ins> // Allow $ to match /r/n args.push('--crlf'); </ins> if (query.isRegExp) { query.pattern = unicodeEscapesToPCRE2(query.pattern); <ins> args.push('--auto-hybrid-regex'); </ins> } <del> // Allow $ to match /r/n args.push('--crlf'); </del> let searchPatternAfterDoubleDashes: Maybe<string>; if (query.isWordMatch) { const regexp = createRegExp(query.pattern, !!query.isRegExp, { wholeWord: query.isWordMatch });

let fixedRegexpQuery = fixRegexNewline(query.pattern); fixedRegexpQuery = fixNewline(fixedRegexpQuery); args.push('--regexp', fixedRegexpQuery); <del> args.push('--auto-hybrid-regex'); </del> } else { searchPatternAfterDoubleDashes = query.pattern; args.push('--fixed-strings');