jiebi/CodeConvo huggingface dataset:
Change:
VSCode Version: Code 1.18.0 (, 2017-11-08T21:19:36.079Z) OS Version: Windows_NT ia32 6.1.7601 Lists shift the indentation by the level of depth in the list hierarchy. This is just a very minor thing, but the is no longer syntax highlighted when a quote is part of a list item and thus indented. ! Steps to Reproduce: markdown file. a list. a quote to one of the items by indenting the quote. Reproduces without extensions: Yes

Discussion:
<key>list_paragraph</key> <dict> <key>begin</key> <del> <string>(^|G)(?=S)(?![*+-]s|[0-9]+.s)</string> </del> <ins> <string>(^|G)(?=S)(?![*+-&gt;]s|[0-9]+.s)</string> </ins> <key>name</key> <string>meta.paragraph.markdown</string> <key>patterns</key>

</dict> </array> <key>while</key> <del> <string>(^|G)(?!s*$|#|[ ]{0,3}([-*_][ ]{2,}){3,}[ t]*$n?|&gt;|[ ]{0,3}[*+-]|[ ]{0,3}[0-9]+.)</string> </del> <ins> <string>(^|G)(?!s*$|#|[ ]{0,3}([-*_&gt;][ ]{2,}){3,}[ t]*$n?|[ ]{0,3}[*+-&gt;]|[ ]{0,3}[0-9]+.)</string> </ins> </dict> <key>lists</key> <dict>

>> And, they can be nested 1. A numbered list <ins> > Block quotes in list </ins> 2. Which is numbered 3. With periods and a space

} }, { <ins> "c": "    ", "t": "text.html.markdown markup.list.numbered.markdown", "r": { "dark_plus": "default: #D4D4D4", "light_plus": "default: #000000", "dark_vs": "default: #D4D4D4", "light_vs": "default: #000000", "hc_black": "default: #FFFFFF" } }, { "c": ">", "t": "text.html.markdown markup.list.numbered.markdown markup.quote.markdown beginning.punctuation.definition.quote.markdown", "r": { "dark_plus": "beginning.punctuation.definition.quote.markdown: #608B4E", "light_plus": "beginning.punctuation.definition.quote.markdown: #0451A5", "dark_vs": "beginning.punctuation.definition.quote.markdown: #608B4E", "light_vs": "beginning.punctuation.definition.quote.markdown: #0451A5", "hc_black": "default: #FFFFFF" } }, { "c": " ", "t": "text.html.markdown markup.list.numbered.markdown markup.quote.markdown", "r": { "dark_plus": "default: #D4D4D4", "light_plus": "default: #000000", "dark_vs": "default: #D4D4D4", "light_vs": "default: #000000", "hc_black": "default: #FFFFFF" } }, { "c": "Block quotes in list", "t": "text.html.markdown markup.list.numbered.markdown markup.quote.markdown meta.paragraph.markdown", "r": { "dark_plus": "default: #D4D4D4", "light_plus": "default: #000000", "dark_vs": "default: #D4D4D4", "light_vs": "default: #000000", "hc_black": "default: #FFFFFF" } }, { </ins> "c": "2.", "t": "text.html.markdown markup.list.numbered.markdown beginning.punctuation.definition.list.markdown", "r": {
Change:
<!-- Do you have a question? Please ask it on --<!-- Use Help Report Issues to prefill these. --- VSCode Version: 1.18.0 OS Version: MacOS 10.12.6 Steps to Reproduce: 100+ file changes in a workspace with SCM. the SCM action item badge. Feature Request: When the badge displays 99+ it's not very helpful and it clearly supports three digits being displayed because the plus is there. If there are hundreds of pending changes, it looks like it could show the exact amount without any display issues and be much more clear for users when they happen to have 100+ pending changes. If there are thousands of pending changes then this could be displayed as 1k, 2k etc.
Want to submit a PR?
can you point where in the source this filtering on count in defined?
cc
Took me a while to find it... turns out I could have just searched for "99+" hardcoded, lol

Discussion:
// Number if (badge instanceof NumberBadge) { if (badge.number) { <del> this.$badgeContent.text(badge.number > 99 ? '99+' : badge.number.toString()); </del> <ins> let number = badge.number.toString(); if (badge.number > 9999) { number = nls.localize('largeNumberBadge', '10k+'); } else if (badge.number > 999) { number = number.charAt(0) + 'k'; } this.$badgeContent.text(number); </ins> this.$badge.show(); } }
Change:
Editor contrib should not depend on file service, which is not available in browser.
Leave it to for merging, marking it as optional can avoid dependency on file server in standalone editor.

Discussion:
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; <ins> import { optional } from 'vs/platform/instantiation/common/instantiation'; </ins> import { IMarkerService } from 'vs/platform/markers/common/markers'; import { IEditorContribution } from 'vs/editor/common/editorCommon'; import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';

@IContextMenuService contextMenuService: IContextMenuService, @IKeybindingService private readonly _keybindingService: IKeybindingService, @ITextModelService private readonly _textModelService: ITextModelService, <del> @IFileService private _fileService: IFileService </del> <ins> @optional(IFileService) private _fileService: IFileService </ins> ) { this._editor = editor; this._model = new QuickFixModel(this._editor, markerService);
Change:
I just had "preview" enabled and clicked on many typescript files rapidly so that they changed a lot. The console shows:

Discussion:
* has changed. *Note* that the event also fires when the active editor changes * to `undefined`. */ <del> export const onDidChangeActiveTextEditor: Event<TextEditor>; </del> <ins> export const onDidChangeActiveTextEditor: Event<TextEditor | undefined>; </ins> /** * An [event](#Event) which fires when the array of [visible editors](#window.visibleTextEditors)

private readonly _onDidChangeTextEditorSelection = new Emitter<vscode.TextEditorSelectionChangeEvent>(); private readonly _onDidChangeTextEditorOptions = new Emitter<vscode.TextEditorOptionsChangeEvent>(); private readonly _onDidChangeTextEditorViewColumn = new Emitter<vscode.TextEditorViewColumnChangeEvent>(); <del> private readonly _onDidChangeActiveTextEditor = new Emitter<vscode.TextEditor>(); </del> <ins> private readonly _onDidChangeActiveTextEditor = new Emitter<vscode.TextEditor | undefined>(); </ins> private readonly _onDidChangeVisibleTextEditors = new Emitter<vscode.TextEditor[]>(); readonly onDidChangeTextEditorSelection: Event<vscode.TextEditorSelectionChangeEvent> = this._onDidChangeTextEditorSelection.event; readonly onDidChangeTextEditorOptions: Event<vscode.TextEditorOptionsChangeEvent> = this._onDidChangeTextEditorOptions.event; readonly onDidChangeTextEditorViewColumn: Event<vscode.TextEditorViewColumnChangeEvent> = this._onDidChangeTextEditorViewColumn.event; <del> readonly onDidChangeActiveTextEditor: Event<vscode.TextEditor> = this._onDidChangeActiveTextEditor.event; </del> <ins> readonly onDidChangeActiveTextEditor: Event<vscode.TextEditor | undefined> = this._onDidChangeActiveTextEditor.event; </ins> readonly onDidChangeVisibleTextEditors: Event<vscode.TextEditor[]> = this._onDidChangeVisibleTextEditors.event;
Change:
"Add" text in these screenshots. JSX ! HTML !
That's just how it it. All depends on what scopes the differents grammars (html: no scope), jsx: ) use and the decisions of the themes on what to colors. The workround is to use a theme that doesn't color , e.g. the default light theme.
fixed by , thanks

Discussion:
], "settings": { "fontStyle": "italic", <del> "foreground": "#91B3E0" </del> <ins> "foreground": "#8190A0" </ins> } }, {

"background": "#DDFFDD", "foreground": "#434343" } <del> } </del> <ins> }, { "name": "JSX: Tags", "scope": [ "punctuation.definition.tag.js", "punctuation.definition.tag.begin.js", "punctuation.definition.tag.end.js" ], "settings": { "foreground": "#91B3E0" } }, { "name": "JSX: InnerText", "scope": "meta.jsx.children.js", "settings": { "foreground": "#333333ff" } } </ins> ], "colors": { "focusBorder": "#A6B39B",

"badge.background": "#705697AA", "progressBar.background": "#705697" } <del> } </del>  No newline at end of file <ins> } </ins>
Change:
VSCode Version: Code 1.18.1 (, 2017-11-16T18:32:36.023Z) OS Version: Windows_NT x64 10.0. Extensions: none Git Bash is not included in the list of defaults if Git Bash is installed as the current user. However, adding the path manually to the user settings works just fine. eg. Steps to Reproduce: sure Git Bash isn't already installed the latest version from https://git- as current user to ~AppDataLocalProgramsGit

Discussion:
`${process.env['ProgramW6432']}Gitusrbinbash.exe`, `${process.env['ProgramFiles']}Gitbinbash.exe`, `${process.env['ProgramFiles']}Gitusrbinbash.exe`, <ins> `${process.env['LocalAppData']}ProgramsGitbinbash.exe`, </ins> ] }; const promises: TPromise<[string, string]>[] = [];
Change:
VSCode Version: 1.18.1 Steps to Reproduce: : { "files.trimFinalNewlines": true } a file. Type something. Undo. Save. that Redo doesn't work, even though no newlines were trimmed. (Even if it did trim newlines, is it friendly to clobber the undo history anyway? Hmm...) trimTrailingWhitespace doesn't have this problem, despite its similar functionality. Note that with "autosave after delay" on, trying to redo anything is effectively toast. <!-- Launch with to check. --Reproduces without extensions: Yes
I'll have a look at this since I was the one who wrote the code in the first place, my bad. Should I look to use instead of ?

Discussion:
currentLine = model.getLineContent(currentLineNumber); currentLineIsEmptyOrWhitespace = strings.lastNonWhitespaceIndex(currentLine) === -1; } <del> model.pushEditOperations(prevSelection, [EditOperation.delete(new Range(currentLineNumber + 1, 1, lineCount + 1, 1))], edits => prevSelection); </del> <ins> const deletionRange = new Range(currentLineNumber + 1, 1, lineCount + 1, 1); if (!deletionRange.isEmpty()) { model.pushEditOperations(prevSelection, [EditOperation.delete(deletionRange)], edits => prevSelection); } </ins> if (editor) { editor.setSelections(prevSelection);
Change:
I would expect a "..." overflow behaviour here: !
Fixed in , please review

Discussion:
text-overflow: ellipsis; } <ins> .default-preferences-editor-container > .preferences-header-container > .default-preferences-header, .settings-tabs-widget > .monaco-action-bar .action-item .action-label:not([aria-haspopup]) { display: block; } </ins> .settings-tabs-widget > .monaco-action-bar .actions-container { justify-content: flex-start; }

.vs-dark .title-actions .action-item .icon.collapseAll, .vs-dark .editor-actions .action-item .icon.collapseAll { background: url('collapseAll_inverse.svg') center center no-repeat; <del> } </del>  No newline at end of file <ins> } </ins>
Change:
should also print the PID of the processes. This makes it easier to debug or kill processes. It will also make it easier to profile processes, once we have integrated the profiling functionality we in the hackathon.

Discussion:
const output: string[] = []; <del> output.push('CPU %tMem MBtProcess'); </del> <ins> output.push('CPU %tMem MBt   PIDtProcess'); </ins> formatProcessItem(mapPidToWindowTitle, output, rootProcess, 0);

} } const memory = process.platform === 'win32' ? item.mem : (os.totalmem() * (item.mem / 100)); <del> output.push(`${pad(Number(item.load.toFixed(0)), 5, ' ')}t${pad(Number((memory / MB).toFixed(0)), 6, ' ')}t${name}`); </del> <ins> output.push(`${pad(Number(item.load.toFixed(0)), 5, ' ')}t${pad(Number((memory / MB).toFixed(0)), 6, ' ')}t${pad(Number((item.pid).toFixed(0)), 6, ' ')}t${name}`); </ins> // Recurse into children if any if (Array.isArray(item.children)) {
Change:
! It looks surprisingly good in this screenshot, but in reality it's way worse. Contrast ratio: background: , color:
It doesn't make much sense to me. Background color changes ... color stays the same. If background is close to blue () =links become low contrast ! If background is close to orange () =code samples become low contrast !

Discussion:
styleBody(body[0]); // iframe <del> Object.keys(variables).forEach(function(variable) { target.contentDocument.documentElement.style.setProperty(`--${variable}`,variables[variable]); </del> <ins> Object.keys(variables).forEach(function (variable) { target.contentDocument.documentElement.style.setProperty(`--${variable}`, variables[variable]); </ins> }); });

const defaultStyles = newDocument.createElement('style'); defaultStyles.id = '_defaultStyles'; <del> const vars = Object.keys(initData.styles).map(function(variable) { </del> <ins> const vars = Object.keys(initData.styles).map(function (variable) { </ins> return `--${variable}: ${initData.styles[variable]};`; }); defaultStyles.innerHTML = `

max-width: 100%; max-height: 100%; } <ins> body a { color: var(--link-color); } </ins> a:focus, input:focus, select:focus,

newFrame.style.visibility = 'visible'; contentWindow.addEventListener('scroll', handleInnerScroll); <del> pendingMessages.forEach(function(data) { </del> <ins> pendingMessages.forEach(function (data) { </ins> contentWindow.postMessage(data, document.location.origin); }); pendingMessages = [];

import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import Event, { Emitter } from 'vs/base/common/event'; import { addDisposableListener, addClass } from 'vs/base/browser/dom'; <del> import { editorBackground, editorForeground } from 'vs/platform/theme/common/colorRegistry'; </del> <ins> import { editorBackground, editorForeground, textLinkForeground } from 'vs/platform/theme/common/colorRegistry'; </ins> import { ITheme, LIGHT, DARK } from 'vs/platform/theme/common/themeService'; import { WebviewFindWidget } from './webviewFindWidget'; import { IContextViewService } from 'vs/platform/contextview/browser/contextView';

'font-family': fontFamily, 'font-weight': fontWeight, 'font-size': fontSize, <ins> 'link-color': theme.getColor(textLinkForeground).toString() </ins> }; let activeTheme: ApiThemeClassName;
Change:
See I have had to revert our commit via
Issue could reoccur if shared process start up is delayed.
What was the problem with ? As far as I can see from the code, every client to the shared process should wait for it to be running. . If this assumption holds, change was correct. Do you have any suggestion as to until when to delay the spawn?
Yeah it would be great if the workbench could signal back some event when editors are restoring, but we currently do not have that. Who is waiting for the shared process to be ready, is it just telemetry and extensions management? We have to be careful to not introduce another deadlock area...
Hmm it ain't the services themselves who wait but the container of them. AFAIK, both the and the wait for the shared process to start.
the workbench does not really wait right, it just runs that code in parallel to the rest of the workbench loading.
The workbench will show. But every call to a shared process service will wait until the shared process has started serving the socket. For example, extensions won't show up in the viewlet until the shared process appears.
It was a guess from analysis and also from testing/verification that removing the delay fixed the dialog issue. I do not think we have a concrete reason why is it depending on the delay.
OK. So it seems we can easily delay it. Can you find a signal in the main process at which point we should spawn it?
somewhere in  possibly with some delay? Alternatively the call to opening a window () returns the opened windows and there is a  promise you could join on. That one is literally resolved when all editors have restored in VS Code.
But the shared process already starts only . Should we just put a timeout then? That would make this change exactly what did last month. I'm not saying it's wrong, just stating the fact. Edit: Actually... his change looks very weird to me now. It seems to delay the connection to the process, not the actual spawning.
yes I think what should get delayed is the creation and opening of the shared process window.
Just note that I have removed the uninstall dialog last milestone. So this might not be an issue any more.

Discussion:
this.historyMainService.updateWindowsJumpList(); this.historyMainService.onRecentlyOpenedChange(() => this.historyMainService.updateWindowsJumpList()); <del> // Start shared process here this.sharedProcess.spawn(); </del> <ins> // Start shared process after a while TPromise.timeout(3000).then(() => this.sharedProcess.spawn()); </ins> } private dispose(): void {
Change:
VSCode Version: Code - Insiders 1.20.0-insider (, 2017-12-19T07:32:34.862Z) OS Version: Windows_NT x64 10.0. Extensions: none Steps to Reproduce: Debug panel the top SelectBox [SelectBox expands] again at the same spot Expected result: SelectBox closes. Actual result: It stays expanded. It affects SelectBox on Debug and Output panels. Terminal panel SelectBox closes as expected.
thanks for the nice bug report, forwarding to fyi
Thanks, good bug find!
Fixed With:
thanks. the verified label should not be until our endgame where we verify all the bugs we had during a milestone. I will remove it so that we can have someone else verify the bug.
Thanks

Discussion:
private static SELECT_DROPDOWN_BOTTOM_MARGIN = 10; <ins> private _isVisible: boolean; </ins> private selectElement: HTMLSelectElement; private options: string[]; private selected: number;

constructor(options: string[], selected: number, contextViewProvider: IContextViewProvider, styles: ISelectBoxStyles) { this.toDispose = []; <ins> this._isVisible = false; </ins> this.selectElement = document.createElement('select'); this.selectElement.className = 'select-box';

// Intercept mouse events to override normal select actions on parents this.toDispose.push(dom.addDisposableListener(this.selectElement, dom.EventType.CLICK, (e) => { <del> this.showSelectDropDown(); </del> dom.EventHelper.stop(e); <ins> if (this._isVisible) { this.hideSelectDropDown(); } else { this.showSelectDropDown(); } </ins> })); this.toDispose.push(dom.addDisposableListener(this.selectElement, dom.EventType.MOUSE_UP, (e) => {

// ContextView dropdown methods private showSelectDropDown() { <del> if (!this.contextViewProvider) { </del> <ins> if (!this.contextViewProvider || this._isVisible) { </ins> return; } <ins> this._isVisible = true; </ins> this.cloneElementFont(this.selectElement, this.selectDropDownContainer); this.contextViewProvider.showContextView({ getAnchor: () => this.selectElement,

} private hideSelectDropDown() { <del> if (!this.contextViewProvider) { </del> <ins> if (!this.contextViewProvider || !this._isVisible) { </ins> return; } <ins> this._isVisible = false; </ins> this.contextViewProvider.hideContextView(); }
Change:
VSCode Version: 1.19.0 OS Version: openSUSE Tumbleweed (Linux) Steps to Reproduce: "version" in no entry, but should As enhancement it would be nice if the show-all-command would have an entry to display the Visual Studio Code version (I know that I could pass the flag on the command-line). Such a feature exists e.g. in Emacs, where it is possible to enter and get the current Emacs version displayed.
I'd like to take this up. Any pointers? far I though to extend the current to execute and show the result? Or is there a place where we store version globally? we open up the and show the result of there?
No need to execute , that information can be obtained by requiring . Output is good, but a is better.
raised a PR . Currently in the action under . Any better section to add this in?

Discussion:
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; import { IMessageService, Severity } from 'vs/platform/message/common/message'; import product from 'vs/platform/node/product'; <ins> import IPackageConfiguration from 'vs/platform/node/package'; </ins> function ignore<T>(code: string, value: T = null): (err: any) => TPromise<T> { return err => err.code === code ? TPromise.as<T>(value) : TPromise.wrapError<T>(err);

} } <ins> class ShowCodeVersion extends Action { public static readonly ID = 'workbench.action.showCodeVersion'; public static LABEL = nls.localize('version', "Show version of '{0}' installed", product.applicationName); constructor( id: string, label: string, @IMessageService private messageService: IMessageService ) { super(id, label); } run(): TPromise<void> { this.messageService.show(Severity.Info, nls.localize('successFromVersion', "'{0}' version - {1}", product.applicationName, IPackageConfiguration.version)); return TPromise.as(null); } } </ins> if (process.platform === 'darwin') { const category = nls.localize('shellCommand', "Shell Command"); const workbenchActionsRegistry = Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions); workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(InstallAction, InstallAction.ID, InstallAction.LABEL), 'Shell Command: Install 'code' command in PATH', category); workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(UninstallAction, UninstallAction.ID, UninstallAction.LABEL), 'Shell Command: Uninstall 'code' command from PATH', category); <ins> workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(ShowCodeVersion, ShowCodeVersion.ID, ShowCodeVersion.LABEL), 'Shell Command: Show 'code' version', category); </ins> }
Change:
Light themes have relatively low contrast for foreground and hover colors. ideally we do not need to create a new color. Either we can tweak the default list colors which are used for quick pick , SelectBox, Explorer et cetera. Light Default: ! Bad Hover contrast: ! I suggest we increase the contrast for the default listHoverBackground applicable to all users. For the foreground color we could make this slightly darker again for the default. I don't see why we would create new colors either, I think whatever is good for selectBox should be the same and good for the quick pick Tagging this "under discussion" hopefully that is correct.
I finally figured out the listFocusForeground has no default, it's inherited from Monaco-shell. If we define it and listFocusHover in light-defaults we won't create any other colors. Screenshot does not do justice to foreground, you probably want to try it on your own machines. Let me know what you guys think. Below light+ with foreground, hover darkened: foreground === originally hover === # !
can you make a PR for me to try out your suggested color change?

Discussion:
"editor.selectionHighlightBackground": "#ADD6FF4D", "editorSuggestWidget.background": "#F3F3F3", "activityBarBadge.background": "#007ACC", <del> "sideBarTitle.foreground": "#6F6F6F" </del> <ins> "sideBarTitle.foreground": "#6F6F6F", "list.hoverBackground": "#e0e0e0" </ins> } }  No newline at end of file

"list.activeSelectionBackground": "#707070", "list.focusBackground": "#707070", "list.inactiveSelectionBackground": "#4e4e4e", <del> "list.hoverBackground": "#707070", </del> <ins> "list.hoverBackground": "#444444", </ins> "list.highlightForeground": "#e58520", "button.background": "#565656", "editor.background": "#1e1e1e",

"pickerGroup.border": "#749351", "list.activeSelectionForeground": "#6c6c6c", "list.focusBackground": "#CADEB9", <ins> "list.hoverBackground": "#e0e0e0", </ins> "list.activeSelectionBackground": "#c4d9b1", "list.inactiveSelectionBackground": "#d3dbcd", "list.highlightForeground": "#9769dc",
Change:
VSCode Version: 1.19.1 In Markdown files, the editor is incorrectly styling every other inner word surrounded by underscores as italicized. The preview correctly shows them as not italicized. !
I think this is what Text Mate grammars' behavior. Tried in TextMate 2.0 (latest), same there. !
I think is right on this. The editor has an error as it interprets the other word as if it was a separate word starting and finishing with `` (that would be italized). It is correctly displayed on Github editor :
I created a PR to fix this

Discussion:
<dict> <key>begin</key> <string>(?x) <del> (*|_)(?=S)								# Open </del> <ins> b(*|_)(?=S)								# Open </ins> (?= ( &lt;[^&gt;]*+&gt;							# HTML tags

</dict> </dict> <key>end</key> <del> <string>(?&lt;=S)(1)((?!1)|(?=11))</string> </del> <ins> <string>(?&lt;=S)(1)((?!1)|(?=11))b</string> </ins> <key>name</key> <string>markup.italic.markdown</string> <key>patterns</key>