jiebi/CodeConvo huggingface dataset:
Change:
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.

Discussion:
const focused = accessor.get(IListService).lastFocusedList; const count = typeof arg2 === 'number' ? arg2 : 1; <del> // Ensure DOM Focus ensureDOMFocus(focused); </del> // List if (focused instanceof List || focused instanceof PagedList) { const list = focused;

tree.reveal(listFocus[0]); } } <ins> // Ensure DOM Focus ensureDOMFocus(focused); </ins> } KeybindingsRegistry.registerCommandAndKeybindingRule({

list.focusPreviousPage(fakeKeyboardEvent); list.reveal(list.getFocus()[0]); } <ins> // Ensure DOM Focus ensureDOMFocus(focused); </ins> } });

handler: (accessor) => { const focused = accessor.get(IListService).lastFocusedList; <del> // Ensure DOM Focus ensureDOMFocus(focused); </del> // List if (focused instanceof List || focused instanceof PagedList) { const list = focused;

list.focusNextPage(fakeKeyboardEvent); list.reveal(list.getFocus()[0]); } <ins> // Ensure DOM Focus ensureDOMFocus(focused); </ins> } });

function listFocusFirst(accessor: ServicesAccessor, options?: { fromFocused: boolean }): void { const focused = accessor.get(IListService).lastFocusedList; <del> // Ensure DOM Focus ensureDOMFocus(focused); </del> // List if (focused instanceof List || focused instanceof PagedList) { const list = focused;

tree.reveal(focus[0]); } } <ins> // Ensure DOM Focus ensureDOMFocus(focused); </ins> } KeybindingsRegistry.registerCommandAndKeybindingRule({

function listFocusLast(accessor: ServicesAccessor, options?: { fromFocused: boolean }): void { const focused = accessor.get(IListService).lastFocusedList; <del> // Ensure DOM Focus ensureDOMFocus(focused); </del> // List if (focused instanceof List || focused instanceof PagedList) { const list = focused;

tree.reveal(focus[0]); } } <ins> // Ensure DOM Focus ensureDOMFocus(focused); </ins> }
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- 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. --Versions VSCode Version: 1.46.0 OS Version: macOS 10.15.5 (Darwin x64 19.5.0) Overview In v1.46, the new file & new window menu items do not do anything when all windows are closed. The behaviour is the same with the keyboard shortcuts (Cmd+N, Cmd+Shift+N). The bug is not present in v1.45.1. The bug is present in the insiders build. Steps to Reproduce Visual Studio Code all windows the File menu, choose either "New File" or "New Window" Expected Result new file or window is opened Actual Result happens <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Duplicate of but this one has a better title and clearer description, and reports the problem occurring from menu options as well as keybindings. I was not able to reproduce it on Windows, so it seems to be macOS-specific.
Yep it's the same issue. I'm afraid I didn't find that one while searching for duplicates.
I haven't found out the cause yet, but I can repro.
Looks like it was introduced by this change. win is undefined when no window is open
Is this still unresolved? I can't seem to reproduce this issue.
thanks for the fix, yes this was a regression I introduced. I filed because the TypeScript types are not catching this issue.

Discussion:
private addFallbackHandlers(): void { // File Menu Items <del> this.fallbackMenuHandlers['workbench.action.files.newUntitledFile'] = (menuItem, win, event) => this.windowsMainService.openEmptyWindow({ context: OpenContext.MENU, contextWindowId: win.id }); this.fallbackMenuHandlers['workbench.action.newWindow'] = (menuItem, win, event) => this.windowsMainService.openEmptyWindow({ context: OpenContext.MENU, contextWindowId: win.id }); </del> <ins> this.fallbackMenuHandlers['workbench.action.files.newUntitledFile'] = (menuItem, win, event) => this.windowsMainService.openEmptyWindow({ context: OpenContext.MENU, contextWindowId: win?.id }); this.fallbackMenuHandlers['workbench.action.newWindow'] = (menuItem, win, event) => this.windowsMainService.openEmptyWindow({ context: OpenContext.MENU, contextWindowId: win?.id }); </ins> this.fallbackMenuHandlers['workbench.action.files.openFileFolder'] = (menuItem, win, event) => this.electronMainService.pickFileFolderAndOpen(undefined, { forceNewWindow: this.isOptionClick(event), telemetryExtraData: { from: telemetryFrom } }); this.fallbackMenuHandlers['workbench.action.openWorkspace'] = (menuItem, win, event) => this.electronMainService.pickWorkspaceAndOpen(undefined, { forceNewWindow: this.isOptionClick(event), telemetryExtraData: { from: telemetryFrom } });
Change:
VSCode Version: 1.47.0-insider (user setup) Commit: Date: 2020-06-11T13:30:35.121Z (1 day ago) Electron: 7.3.1 Chrome: 78.0.3904.130 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: a new TS or JS file a with a generator method that has a leading multiline or JSDoc comment. NOTE: There must be a space between the token and the method name. cursor at the end of the line that starts the generator method body and press enter. Expected: new line is with the correct indentation. Actual: new line is indented to the same level as the method name and an asterisk () is as if this were a line continuation of a multiline or JSDoc comment. ! Notes: This does not occur if the method does not start with a multiline or JSDoc comment. This does not occur if there is no space between the asterisk () and the method name. This does not occur for functions (as there is a leading keyword between the start of the line and the asterisk () This does not occur for generator methods with a leading keyword before the , such as or in JS or , , , , or in TS. Does this issue occur when all extensions are disabled?: Yes
Similar to (the jsdoc comment Is required for this bug)
I am working on this

Discussion:
}, { // e.g.  * ...| beforeText: /^(t|[ ])*[ ]*([ ]([^*]|*(?!/))*)?$/, <del> oneLineAboveText: /^(s*(/**|*)).*/, </del> <ins> oneLineAboveText: /(?=^(s*(/**|*)).*)(?=(?!(s**/)))/, </ins> action: { indentAction: vscode.IndentAction.None, appendText: '* ' }, }, { // e.g.  */|

}, { // e.g.  * ...| beforeText: /^(t|[ ])*[ ]*([ ]([^*]|*(?!/))*)?$/, <del> oneLineAboveText: /^(s*(/**|*)).*/, </del> <ins> oneLineAboveText: /(?=^(s*(/**|*)).*)(?=(?!(s**/)))/, </ins> action: { indentAction: IndentAction.None, appendText: '* ' } }, { // e.g.  */|

testIndentAction(' *', ' * asdfsfagadfg * / * / * /*', '', IndentAction.None, '* '); testIndentAction('', ' */', '', IndentAction.None, null, 1); <ins> testIndentAction(' */', ' * test() {', '', IndentAction.Indent, null, 0); </ins> testIndentAction('', 't */', '', IndentAction.None, null, 1); testIndentAction('', 'tt */', '', IndentAction.None, null, 1); testIndentAction('', '   */', '', IndentAction.None, null, 1);
Change:
! VSCode Version: 1.46 Steps to Reproduce: the debug debug console -click inside the console view There should be an option to paste text. Currently, pasting is only allowed when right-clicking the very narrow text input area. The debug console should be more similar to the terminal, which allows for right-click pasting anywhere. Does this issue occur when all extensions are disabled?: Yes/No
I like this idea and makes perfect sense. We are open for a PR that fixes this Code pointer You would simply need to create a new action that uses a clipboardService to read what is in the clipboard and write it in the
I'd like to take this on, Is that OK?
Yes it is ok. Thanks
Just to confirm, is this the expected behaviour, or is the idea that it would overwrite the input field, instead of appending the pasted text to what's already there?
This is what I had in mind. Pasting to the input field by right clicking the debug console.
Correct, this is also what I had in mind. Thanks!
Verifying... After a right-click "Paste" from the upper part of the "Debug Console" (which cannot receive keyboard input), the focus stays on that part (which is pretty useless). The focus should be transferred to the bottom text box so that I can just press return to execute the pasted command. The "Clear Console" command transfers the focus correctly. When no debug session is running, it is not possible to type into the bottom text box of the debug console. But pasting the clipboard is allowed. This is inconsistent.
good catch. Pushed a fix.
Yeah let's also disable the action when debug session is not running.

Discussion:
await this.clipboardService.writeText(this.getVisibleContent()); return Promise.resolve(); })); <ins> actions.push(new Action('debug.replPaste', localize('paste', "Paste"), undefined, true, async () => { const clipboardText = await this.clipboardService.readText(); if (clipboardText) { this.replInput.setValue(this.replInput.getValue().concat(clipboardText)); } })); </ins> actions.push(new Action('debug.collapseRepl', localize('collapse', "Collapse All"), undefined, true, () => { this.tree.collapseAll(); this.replInput.focus();
Change:
VS Code 1.46 start VS Code Stable use this launch config: close "" editor run it Observe: (everything is good) <img width="749" alt="2020-06-1609-34-37" src="https://user-"- shutdown VS Code open same project with VS Code Insiders (or any other editor) modify "" and include argument "1234" between "hello" and "world" shutdown VS Code Insiders launch VS Code Stable again go to debug view and run "echo args" launch config open Observe: <img width="1080" alt="2020-06-1609-39-11" src="https://user-"VS Code runs old launch config which lacks the "1234". Workaround: an edit change of is needed before VS Code will run the correct launch config.
We no longer store the configuration in storage. The only downside is that now when you select a dynamic configuration, reload, we do not preserve the dynamic configuratoin and you have to select it again. For that we would have to store the "origin" as you suggested, but that I will tackle as a seperate issue, thus reopening
I've verified that no stale launch configs are run.

Discussion:
const DEBUG_SELECTED_CONFIG_NAME_KEY = 'debug.selectedconfigname'; const DEBUG_SELECTED_ROOT = 'debug.selectedroot'; <del> const DEBUG_SELECTED_CONFIG = 'debug.selectedconfig'; </del> export class ConfigurationManager implements IConfigurationManager { private debuggers: Debugger[];

const previousSelectedRoot = this.storageService.get(DEBUG_SELECTED_ROOT, StorageScope.WORKSPACE); const previousSelectedLaunch = this.launches.find(l => l.uri.toString() === previousSelectedRoot); this.debugConfigurationTypeContext = CONTEXT_DEBUG_CONFIGURATION_TYPE.bindTo(contextKeyService); <del> const storedConfig = this.storageService.get(DEBUG_SELECTED_CONFIG, StorageScope.WORKSPACE); const selectedConfig = typeof storedConfig === 'string' ? JSON.parse(storedConfig) : undefined; </del> if (previousSelectedLaunch && previousSelectedLaunch.getConfigurationNames().length) { <del> this.selectConfiguration(previousSelectedLaunch, this.storageService.get(DEBUG_SELECTED_CONFIG_NAME_KEY, StorageScope.WORKSPACE), selectedConfig); </del> <ins> this.selectConfiguration(previousSelectedLaunch, this.storageService.get(DEBUG_SELECTED_CONFIG_NAME_KEY, StorageScope.WORKSPACE)); </ins> } else if (this.launches.length > 0) { <del> this.selectConfiguration(undefined, selectedConfig ? selectedConfig.name : undefined, selectedConfig); </del> <ins> this.selectConfiguration(undefined); </ins> } }

this.selectedConfig = config || (this.selectedLaunch && this.selectedName ? this.selectedLaunch.getConfiguration(this.selectedName) : undefined); if (this.selectedConfig) { this.debugConfigurationTypeContext.set(this.selectedConfig.type); <del> this.storageService.store(DEBUG_SELECTED_CONFIG, JSON.stringify(this.selectedConfig), StorageScope.WORKSPACE); </del> } else { this.debugConfigurationTypeContext.reset(); <del> this.storageService.remove(DEBUG_SELECTED_CONFIG, StorageScope.WORKSPACE); </del> } if (this.selectedLaunch !== previousLaunch || this.selectedName !== previousName) {
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- 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: OS Version: Steps to Reproduce: -click one or more tabs and select . or move other tabs to another Editor Group. and select there are no longer any pinned tabs. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?:
can you give a bit more precise steps, in your summary you talk about "Join All Editor Groups" but in your "Steps to reproduce" I see no mention.
Thanks good catch. I've the missing step.
Yeah I can reproduce. Probably a regression from when we decided that pinned tabs should not survive pinned state when splitting, but in this case it would make sense to keep it. Up for grab if someone has cycles.
Wow, that fix was rapid!

Discussion:
let index = (options && typeof options.index === 'number') ? options.index : targetView.count; sourceView.editors.forEach(editor => { const inactive = !sourceView.isActive(editor) || this._activeGroup !== sourceView; <del> const copyOptions: ICopyEditorOptions = { index, inactive, preserveFocus: inactive }; </del> <ins> const sticky = sourceView.isSticky(editor); const copyOptions: ICopyEditorOptions = { index: !sticky ? index : undefined, inactive, preserveFocus: inactive }; </ins> if (options?.mode === MergeGroupMode.COPY_EDITORS) { sourceView.copyEditor(editor, targetView, copyOptions);
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- 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.47.0-insider OS Version: Win 10 1909 Steps to Reproduce: this link in your terminal: over it. Observe that the UI starts lagging <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes

Discussion:
// Each line and column clause have 6 groups (ie no. of expressions in round brackets) export const lineAndColumnClauseGroupCount = 6; <ins> const MAX_LENGTH = 2000; </ins> export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider { constructor( private readonly _xterm: Terminal,

} const text = getXtermLineContent(this._xterm.buffer.active, startLine, endLine, this._xterm.cols); <ins> if (text.length > MAX_LENGTH) { return []; } </ins> // clone regex to do a global search on text const rex = new RegExp(this._localLinkRegex, 'g');
Change:
Issue Type: <bBug</b'Tweet Feedback' button at the right bottom corner of the Visual Studio Code window. some text in the text box in the appeared floating window. Current state: character counter is less than 270, 'Tweet' button is active and clickable. the floating window either using ESC key or by tapping the 'Close' button at the top of the window. 'Tweet Feedback' button again to reopen the window. The state is incorrectly restored: The text is restored, it is in the text box as it should be. The character counter is not restored and is equal to 270 characters. The 'Tweet' button is not active and is not clickable. Any change in the text box or selection of any of the smiles will result in state update to the expected values. ! Also, if you choose 'Happy Feedback Sentiment' at any point, the default value of the character counter on the window reopen would be 257, not 270 (because the 'Happy Feedback Sentiment' mode adds the '#HappyCoding' hashtag to the resulting tweet status), so the Feedback Sentiment selection state persists properly on the window reopen. ! Possible solution The code responsible for the feature is located in . The function does the job of updating the counter & the 'Tweet' button state, so its call in the window reopen function may be sufficient to resolve the issue. I think the function is called on window reopen, so it may be used for that purpose. VS Code version: Code 1.46.1 (, 2020-06-17T21:13:20.174Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
If the possible solution I propose is correct I would like to try to correct the issue on my own then.
Not sure who owns this.
If someone wants to investigate, no plans from my end.
I set up the development environment as described in the repository wiki to try to fix this issue and contribute the code as a PR. However, after a long path of trying to run the Code - OSS I ended up with a version of VS Code with no 'Tweet Feedback' feature at all (no icon in the status bar, no entry in the command palette). do you know why the 'Tweet Feedback' feature is out of the Code - OSS build and can I fix this somehow to work on the issue?
yeah you will make changes to as follows: Then you should get it.

Discussion:
if (this.options.onFeedbackVisibilityChange) { this.options.onFeedbackVisibilityChange(true); } <ins> this.updateCharCountText(); </ins> } protected onHide(): void {
Change:
todays insiders run on the right hand side <img width="446" alt="Screenshot 2020-07-03 at 10 28 15" src="https://user-"
Forgot to update the output width when I increased the right side margin. Will create a release candidate PR and will assign this to the recovery milestone when it gets created.

Discussion:
collector.addRule(`.notebookOverlay .cell-list-container > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .markdown-cell-row { padding-bottom: ${CELL_BOTTOM_MARGIN}px; }`); collector.addRule(`.notebookOverlay .cell-list-container > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .markdown-cell-row .cell-bottom-toolbar-container { margin-top: ${CELL_BOTTOM_MARGIN}px; }`); collector.addRule(`.notebookOverlay .output { margin: 0px ${CELL_MARGIN}px 0px ${CODE_CELL_LEFT_MARGIN + CELL_RUN_GUTTER}px; }`); <del> collector.addRule(`.notebookOverlay .output { width: calc(100% - ${CODE_CELL_LEFT_MARGIN + CELL_RUN_GUTTER + CELL_MARGIN}px); }`); </del> <ins> collector.addRule(`.notebookOverlay .output { width: calc(100% - ${CODE_CELL_LEFT_MARGIN + CELL_RUN_GUTTER + (CELL_MARGIN * 2)}px); }`); </ins> collector.addRule(`.notebookOverlay .cell-bottom-toolbar-container { width: calc(100% - ${CELL_MARGIN * 2 + CELL_RUN_GUTTER}px); margin: 0px ${CELL_MARGIN * 2}px 0px ${CELL_MARGIN + CELL_RUN_GUTTER}px; }`); collector.addRule(`.notebookOverlay .cell-list-container > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row  > div.cell.markdown { padding-left: ${CELL_RUN_GUTTER}px; }`);

this.element = document.createElement('div'); <del> this.element.style.width = `calc(100% - ${CODE_CELL_LEFT_MARGIN + CELL_MARGIN + CELL_RUN_GUTTER}px)`; </del> <ins> this.element.style.width = `calc(100% - ${CODE_CELL_LEFT_MARGIN + (CELL_MARGIN * 2) + CELL_RUN_GUTTER}px)`; </ins> this.element.style.height = '1400px'; this.element.style.position = 'absolute'; this.element.style.margin = `0px 0 0px ${CODE_CELL_LEFT_MARGIN + CELL_RUN_GUTTER}px`;
Change:
Issue Type: <bBug</bMy source control extension creates and deletes its resource groups dynamically, based on the state of the repo it relates to. It implements a Refresh command button to trigger a manual refresh, and also uses a timer for a periodic refresh. When used in a multiroot workspace in which other SourceControl instances (e.g. Git ones) appear in the SCM panel, I observe that if I have collapsed those instances prior to mine refreshing (i.e. deleting and creating its resource groups), this refresh causes all the other SourceControl instances to expand. Deletion of a resource group leads to a splice . That causes . The subsequent render has that uses its repositoryCollapseStates map to determine the state of each tree root. But that map only seems to get populated when the SCM view is hidden (e.g. when switching to Explorer view. This means the correct collapse state is restored when returning to the SCM view, but it doesn't preserve state across the refresh described above. VS Code version: Code - Insiders 1.47.0-insider (, 2020-07-03T10:27:06.804Z) OS version: Windows_NT x64 10.0.
We only need this state when the view is hidden, because the tree widget should take care of preserving collapse states otherwise. Could you give me exact steps so I can repro with your extension? But yeah... this might be better be :
I confirmed this fixes the issue. Please apply it to 1.47
Steps: a workspace with two folders under git a change on a file of one of them the repository in the SCM view <kbdF1</kbd, :bug: The repository gets expanded in the SCM view, it shouldn't.

Discussion:
children.push(...item.groupItems.map(i => this.render(i))); } <del> const collapsed = this.repositoryCollapseStates?.get(item.element) ?? false; </del> <ins> const collapsed = this.repositoryCollapseStates?.get(item.element); </ins> return { element: item.element, children, incompressible: true, collapsed, collapsible: hasSomeChanges }; } else { const children = this.mode === ViewModelMode.List
Change:
! Which causes the output bg to look slightly off: ! This should be , probably happened after the color token name changes during endgame testing.

Discussion:
"statusBarItem.remoteBackground": "#16825D", "sideBarSectionHeader.background": "#0000", "sideBarSectionHeader.border": "#61616130", <del> "notebook.cellFocusBackground": "#c8ddf150", </del> <ins> "notebook.focusedCellBackground": "#c8ddf150", </ins> "notebook.cellBorderColor": "#dae3e9", "notebook.outputContainerBackgroundColor": "#c8ddf150", "notebook.focusedCellShadow": "#00315040"
Change:
When I'm navigating the settings in the settings editor, there's no way to move focus back to the TOC tree. (Other than shift+tabbing through all the settings) To repro: the settings editor down for a bit way to go to TOC on the left is to shift + tab all the way back to the top
How do I get back to the TOC without shift+tab all the way back up to the top?
if you're using a screen reader, then you can use browse mode to navigate to the previous landmark, and that will focus the TOC. But I have been working on adding a default keybinding to it.
Actually now that I think about it, it's a duplicate of

Discussion:
this.tocTreeContainer = DOM.append(parent, $('.settings-toc-container')); this.tocTree = this._register(this.instantiationService.createInstance(TOCTree, <del> DOM.append(this.tocTreeContainer, $('.settings-toc-wrapper')), </del> <ins> DOM.append(this.tocTreeContainer, $('.settings-toc-wrapper', { 'role': 'navigation', 'aria-label': localize('settings', "Settings"), })), </ins> this.viewState)); this._register(this.tocTree.onDidChangeFocus(e => {