jiebi/CodeConvo huggingface dataset:
Code change:
<!-- 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: Insiders OS Version: Ubuntu Steps to Reproduce: New machine Install VS Code insiders Open an existing notebook text/latext output is rendered by built-in renderer Install jupyter based on VSCodes recommendation Re-load VSCode text/latext output is still rendered by built-in renderer Note: This workflow is not going to work as we know of a lot of text/latext that doesnt' work with the built-in renderer, & novice users won't know that they need to change the renderer to Jupyter Notebook renderer. I've submitted a PR to remove the text/latex renderer from VS Code
I believe this is where we select the renderer (we currently always take the first one): I agree that automatically deprioitizing built-in renderers makes sense
Starting from a clean user-data-dir, I follow the steps, and it picks the built-in one by default. ! If I pick the extension renderer, it seems to remember that selection.
How do I get the latex mime types to show in that picker? I only see one: !
To verify: sure you have the jupyter extension installed and are in an ipynb notebook a normal python cell, run: the output is rendered nicely <img width="515" alt="Screen Shot 2021-11-01 at 9 20 35 AM" src="https://user-"

Related discussion:
text: const enum ReuseOrder { PreviouslySelected = 1 << 8, SameExtensionAsNotebook = 2 << 8, <del> BuiltIn = 3 << 8, OtherRenderer = 4 << 8 </del> <ins> OtherRenderer = 3 << 8, BuiltIn = 4 << 8, </ins> } const preferred = notebookProviderInfo && this.preferredMimetype.getValue()[notebookProviderInfo.id]?.[mimeType];
Code change:
<!-- 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: Insiders OS Version: Ubuntu Steps to Reproduce: New machine Install VS Code insiders Open an existing notebook text/latext output is rendered by built-in renderer Install jupyter based on VSCodes recommendation Re-load VSCode text/latext output is still rendered by built-in renderer Note: This workflow is not going to work as we know of a lot of text/latext that doesnt' work with the built-in renderer, & novice users won't know that they need to change the renderer to Jupyter Notebook renderer. I've submitted a PR to remove the text/latex renderer from VS Code
I believe this is where we select the renderer (we currently always take the first one): I agree that automatically deprioitizing built-in renderers makes sense
Starting from a clean user-data-dir, I follow the steps, and it picks the built-in one by default. ! If I pick the extension renderer, it seems to remember that selection.
How do I get the latex mime types to show in that picker? I only see one: !
To verify: sure you have the jupyter extension installed and are in an ipynb notebook a normal python cell, run: the output is rendered nicely <img width="515" alt="Screen Shot 2021-11-01 at 9 20 35 AM" src="https://user-"

Related discussion:
text: ? ReuseOrder.PreviouslySelected : renderer.extensionId.value === notebookProviderInfo?.extension?.value ? ReuseOrder.SameExtensionAsNotebook <del> : ReuseOrder.BuiltIn; </del> <ins> : renderer.isBuiltin ? ReuseOrder.BuiltIn : ReuseOrder.OtherRenderer; </ins> return { ordered: { mimeType, rendererId: renderer.id, isTrusted: true }, score: reuseScore | ownScore,
Code change:
Issue Type: <bBug</bI have two files in my project in different locations. and . The 'search in files' popup always shows first, event when searching for the latter: ! please include case-sensitivity in the sort function for this. VS Code version: Code 1.60.2 (, 2021-09-22T12:00:31.514Z) OS version: WindowsNT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (5)</summaryExtensionVersion ------ jupyter-keymap1.0.0 remote-ssh0.65.8 remote-ssh-edit0.65.8 remote-wsl0.58.2 hexeditor1.8.2 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

Related discussion:
text: // } } <del> // Inside word upper case bonus (camel case) else if (isUpper(target.charCodeAt(targetIndex))) { </del> <ins> // Inside word upper case bonus (camel case). We only give this bonus if we're not in a contiguous sequence. // For example: // NPE => NullPointerException = boost // HTTP => HTTP = not boost else if (isUpper(target.charCodeAt(targetIndex)) && matchesSequenceLength === 0) { </ins> score += 2; // if (DEBUG) {
Code change:
Issue Type: <bBug</bI have two files in my project in different locations. and . The 'search in files' popup always shows first, event when searching for the latter: ! please include case-sensitivity in the sort function for this. VS Code version: Code 1.60.2 (, 2021-09-22T12:00:31.514Z) OS version: WindowsNT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (5)</summaryExtensionVersion ------ jupyter-keymap1.0.0 remote-ssh0.65.8 remote-ssh-edit0.65.8 remote-wsl0.58.2 hexeditor1.8.2 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

Related discussion:
text: } }); <ins> test('scoreItem - ensure upper case bonus only applies on non-consecutive matches (bug #134723)', function () { const resourceWithUpper = URI.file('ASDFasdfasdf'); const resourceAllLower = URI.file('asdfasdfasdf'); assert.ok(scoreItem(resourceAllLower, 'asdf', true, ResourceAccessor).score > scoreItem(resourceWithUpper, 'asdf', true, ResourceAccessor).score); }); </ins> test('compareItemsByScore - identity', function () { const resourceA = URI.file('/some/path/fileA.txt'); const resourceB = URI.file('/some/path/other/fileB.txt');
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --There is a new color which can be used when we split an editor in group. The layout can be horizontal or vertical. Please support different border color settings for vertical and horizontal layouts. For example in the following vertical layout I don't need/want any border. It is easy to distinguish each editor. ! But it is hard to distinguish editors in horizontal layout without a border. !
Sounds reasonable, open for help for a meaningful small PR.
Verification: configure colors for the new theme colors and and verify they apply properly as advertised depending on the split in group layout

Related discussion:
text: import { IConfigurationChangeEvent, IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { DEFAULT_EDITOR_MIN_DIMENSIONS } from 'vs/workbench/browser/parts/editor/editor'; import { DisposableStore } from 'vs/base/common/lifecycle'; <del> import { SIDE_BY_SIDE_EDITOR_BORDER } from 'vs/workbench/common/theme'; </del> <ins> import { SIDE_BY_SIDE_EDITOR_HORIZONTAL_BORDER, SIDE_BY_SIDE_EDITOR_VERTICAL_BORDER } from 'vs/workbench/common/theme'; </ins> import { AbstractEditorWithViewState } from 'vs/workbench/browser/parts/editor/editorWithViewState'; import { ITextResourceConfigurationService } from 'vs/editor/common/services/textResourceConfigurationService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --There is a new color which can be used when we split an editor in group. The layout can be horizontal or vertical. Please support different border color settings for vertical and horizontal layouts. For example in the following vertical layout I don't need/want any border. It is easy to distinguish each editor. ! But it is hard to distinguish editors in horizontal layout without a border. !
Sounds reasonable, open for help for a meaningful small PR.
Verification: configure colors for the new theme colors and and verify they apply properly as advertised depending on the split in group layout

Related discussion:
text: if (this.orientation === Orientation.HORIZONTAL) { this.primaryEditorContainer.style.borderLeftWidth = '1px'; this.primaryEditorContainer.style.borderLeftStyle = 'solid'; <del> this.primaryEditorContainer.style.borderLeftColor = this.getColor(SIDE_BY_SIDE_EDITOR_BORDER)?.toString() ?? ''; </del> <ins> this.primaryEditorContainer.style.borderLeftColor = this.getColor(SIDE_BY_SIDE_EDITOR_VERTICAL_BORDER)?.toString() ?? ''; </ins> this.primaryEditorContainer.style.borderTopWidth = '0'; } else { this.primaryEditorContainer.style.borderTopWidth = '1px'; this.primaryEditorContainer.style.borderTopStyle = 'solid'; <del> this.primaryEditorContainer.style.borderTopColor = this.getColor(SIDE_BY_SIDE_EDITOR_BORDER)?.toString() ?? ''; </del> <ins> this.primaryEditorContainer.style.borderTopColor = this.getColor(SIDE_BY_SIDE_EDITOR_HORIZONTAL_BORDER)?.toString() ?? ''; </ins> this.primaryEditorContainer.style.borderLeftWidth = '0'; }
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --There is a new color which can be used when we split an editor in group. The layout can be horizontal or vertical. Please support different border color settings for vertical and horizontal layouts. For example in the following vertical layout I don't need/want any border. It is easy to distinguish each editor. ! But it is hard to distinguish editors in horizontal layout without a border. !
Sounds reasonable, open for help for a meaningful small PR.
Verification: configure colors for the new theme colors and and verify they apply properly as advertised depending on the split in group layout

Related discussion:
text: hc: null }, localize('editorDragAndDropBackground', "Background color when dragging editors around. The color should have transparency so that the editor contents can still shine through.")); <del> export const SIDE_BY_SIDE_EDITOR_BORDER = registerColor('sideBySideEditor.border', { </del> <ins> export const SIDE_BY_SIDE_EDITOR_HORIZONTAL_BORDER = registerColor('sideBySideEditor.horizontalBorder', { </ins> dark: EDITOR_GROUP_BORDER, light: EDITOR_GROUP_BORDER, hc: EDITOR_GROUP_BORDER <del> }, localize('sideBySideEditor.border', "Color to separate two editors from each other when shown side by side in an editor group.")); </del> <ins> }, localize('sideBySideEditor.horizontalBorder', "Color to separate two editors from each other when shown side by side in an editor group from top to bottom.")); export const SIDE_BY_SIDE_EDITOR_VERTICAL_BORDER = registerColor('sideBySideEditor.verticalBorder', { dark: EDITOR_GROUP_BORDER, light: EDITOR_GROUP_BORDER, hc: EDITOR_GROUP_BORDER }, localize('sideBySideEditor.verticalBorder', "Color to separate two editors from each other when shown side by side in an editor group from left to right.")); </ins> // < --- Panels --- >
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: import { widgetClose } from 'vs/platform/theme/common/iconRegistry'; import { attachProgressBarStyler } from 'vs/platform/theme/common/styler'; import { IColorTheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; <ins> import { parseReplaceString, ReplacePattern } from 'vs/editor/contrib/find/replacePattern'; </ins> const NLS_FIND_INPUT_LABEL = nls.localize('label.find', "Find"); const NLS_FIND_INPUT_" = nls.localize('placeholder.find', "Find");
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: return this._replaceInput.getValue(); } <ins> protected get replacePattern() { if (this._state.isRegex) { return parseReplaceString(this.replaceValue); } return ReplacePattern.fromStaticValue(this.replaceValue); } </ins> public get focusTracker(): dom.IFocusTracker { return this._focusTracker; }
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: const { cell, match } = this._findModel.getCurrentMatch(); this._progressBar.infinite().show(); <ins> const replacePattern = this.replacePattern; const replaceString = replacePattern.buildReplaceString(match.matches, this._state.preserveCase); </ins> const viewModel = this._notebookEditor._getViewModel(); <del> viewModel.replaceOne(cell, match.range, this.replaceValue).then(() => { </del> <ins> viewModel.replaceOne(cell, match.range, replaceString).then(() => { </ins> this._progressBar.stop(); }); }
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: this._progressBar.infinite().show(); <ins> const replacePattern = this.replacePattern; const cellFindMatches = this._findModel.findMatches; let replaceStrings: string[] = []; cellFindMatches.forEach(cellFindMatch => { const findMatches = cellFindMatch.matches; findMatches.forEach(findMatch => { const matches = findMatch.matches; replaceStrings.push(replacePattern.buildReplaceString(matches, this._state.preserveCase)); }); }); </ins> const viewModel = this._notebookEditor._getViewModel(); <del> viewModel.replaceAll(this._findModel.findMatches, this.replaceValue).then(() => { </del> <ins> viewModel.replaceAll(this._findModel.findMatches, replaceStrings).then(() => { </ins> this._progressBar.stop(); }); }
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: options.regex || false, options.caseSensitive || false, options.wholeWord ? options.wordSeparators || null : null, <del> false); </del> <ins> options.regex || false); </ins> } else { const lineCount = this.textBuffer.getLineCount(); const fullRange = new Range(1, 1, lineCount, this.textBuffer.getLineLength(lineCount) + 1);
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: return null; } <del> cellMatches = this.textBuffer.findMatchesLineByLine(fullRange, searchData, false, 1000); </del> <ins> cellMatches = this.textBuffer.findMatchesLineByLine(fullRange, searchData, options.regex || false, 1000); </ins> } return cellMatches;
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: }); } <del> async replaceAll(matches: CellFindMatch[], text: string): Promise<void> { </del> <ins> async replaceAll(matches: CellFindMatch[], texts: string[]): Promise<void> { </ins> if (!matches.length) { return; }
Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --In Jupyter Notebooks, finding witrh regex works but replacing with capturing groups doesn't. I'd like if it does. I tried as in the usual editor, but the replacement treats as literal. I had to work around by copying the code section to the usual editor, and then find and replace. This seems like an inconsistent UX, and personally quite inconvinient.
Should I have opened this at ? If so, please close this so I can move on.
Thanks again for the help, it makes the find experience in notebook closer to the normal text editor one.
did you create a test plan item for this? I just the verification needed to it.

Related discussion:
text: this._lastNotebookEditResource.push(matches[0].cell.uri); matches.forEach(match => { <del> match.matches.forEach(singleMatch => { </del> <ins> match.matches.forEach((singleMatch, index) => { </ins> textEdits.push({ <del> edit: { range: singleMatch.range, text: text }, </del> <ins> edit: { range: singleMatch.range, text: texts[index] }, </ins> resource: match.cell.uri }); });
Code change:
Pull out most xterm handling from into its own class that encapsulates addons, latest write/parse, _enableWebglRenderer/other renderer stuff, customkeyhandler?, etc. The goal is to make much smaller and enable easy unit testing of previously core behavior by not having so many service dependencies. Expose as public ITerminalInstance to avoid creating passthrough functions like scrollToTop Expose as public but only to TerminalInstance (ie. don't expose on XtermTerminal's interface) will be mostly a glue class (process manager <-xterm), not intended to be unit testable but by integration tests

Related discussion:
text: private static _lastKnownGridDimensions: IGridDimensions | undefined; private static _instanceIdCounter = 1; <ins> xterm?: XtermTerminal; private _xtermReadyPromise: Promise<XtermTerminal>; private _xtermTypeAheadAddon: TypeAheadAddon | undefined; </ins> private _processManager!: ITerminalProcessManager; private _pressAnyKeyToCloseListener: IDisposable | undefined;