jiebi/CodeConvo huggingface dataset:
Change:
VSCode Version: 1.5.0 OS Version: OSX Originally posted in but later we found it's a Code issue. Repro steps cursor to any CJK characters !

Discussion:
private _cursorStyle: TextEditorCursorStyle; private _lastRenderedContent: string; private _lineHeight: number; <ins> private _characterWidth: number; </ins> constructor(context: ViewContext, isSecondary: boolean) { this._context = context;

this._positionTop = visibleRange.top; this._positionLeft = visibleRange.left; this._isInViewport = true; <ins> if (this._cursorStyle !== TextEditorCursorStyle.Line) { let visibleRangeForCharacter = ctx.linesVisibleRangesForRange({ startLineNumber: this._position.lineNumber, startColumn: this._position.column, endLineNumber: this._position.lineNumber, endColumn: this._position.column + 1 }, false); if (visibleRangeForCharacter.length > 0 && visibleRangeForCharacter[0].ranges.length > 0) { this._characterWidth = visibleRangeForCharacter[0].ranges[0].width; } } </ins> } else { this._isInViewport = false; }

this._domNode.setLineHeight(this._lineHeight); this._domNode.setHeight(this._lineHeight); <ins> if (this._cursorStyle !== TextEditorCursorStyle.Line) { let desiredWidth = '1ch'; if (this._characterWidth > 0) { desiredWidth = `${this._characterWidth}px`; } if (this._domNode.domNode.style.width !== desiredWidth) { this._domNode.domNode.style.width = desiredWidth; } } </ins> return { position: this._position, contentTop: top,
Change:
For a markdown file like this: text text text . text text text <divhtml </div. text text text The numbered list, html block, and fenced code block elements following the line are nor properly colorized. They are rendered properly in the preview. ! In the case of the html, the text should not be colorized since it is html content, not markdown. Adding a blank line after the paragraph fixes the colorization. !

Discussion:
</dict> <dict> <key>include</key> <string>#fenced_code_block_css</string> </dict> <dict>

</dict> </array> <key>while</key> <del> <!-- seperator    [ ]{0,3}([-*_][ ]{0,2}2){2,}[ t]*$n? --> <!-- list         [ ]{0,3}[*+-]([ ]{1,3}|t) --> <!-- both are folded together in the expression below --> <string>(^|G)(?!s*$|#|[ ]{0,3}((([*_][ ]{0,2}2){2,}[ t]*$n?)|([*+-]([ ]{1,3}|t)))|s*[.+?]:|&gt;)</string> </del> <ins> <string>(^|G)((?=s*[-=]{3,}s*$)|[ ]{4,}(?=S))</string> </ins> </dict> <key>fenced_code_block_css</key> <dict>

<string>punctuation.definition.markdown</string> </dict> </dict> <key>patterns</key> <array> <dict>
Change:
!
Could you take a look? Not sure what the best fix is here.
in the parent solves it.
is not a documented value for : seems to do it.
I meant . might work, but it could still overflow.
And still does: !
What are the steps to reproduce that?
Reduce the window size. In dev tools select the element. In the console type . Scroll can be messed around due to unexpected situations, like . Please use .
Not sure how likely that situation is to occur. Should this go into the September release?
No no, not September.
I still can repro this !
It doesn't appear to overflow anymore, though.
Oh I see - I misunderstood what the bug was.

Discussion:
width: 100%; top: calc(50% + 55px); text-align: center; <ins> white-space: nowrap; </ins> } .monaco-workbench > .part.editor > .watermark > .watermark-box {
Change:
The empty document well animations (infinity icon motion, text fade in) make the tool feel slow, as if it can't keep up with me resizing the window. If i make the windows smaller, the text disappears and then the icon catches up with me. When i make the window larger, the icon motion is behind my resizing gesture, and eventually the text fades in. All of these visuals happen after i make a resize gesture, which makes me feel like the tool can't keep up, like something is happening in the background, and I should wait for it. it is distracting too, it always catches my eye and then I lose my context. VS Code is lightweight and fast. The UI should feel snappy, not delayed. We don't animate in search results or when we open a file. Quick Open is instantaneous. Async queries in the Extensions viewlet show me a progress bar immediately. Why then does our desktop resize animate behind my gestures? CC
I have exactly the same feeling.
Remove animation completely (make it snap in/out instantly with no transition) Reduce the latency and duration of the animation by say 75% (.25 seconds vs. 1 second) Make the tips dismissible with an affordance for people who don't like it (thus animation would not apply) Remove logo entirely and center the tips at all times. One other thing we discussed in UX sync today was that the tips seem more important than the logo (function over form). So why are we hiding the tips and not the logo at small window heights? Since we don't want to invalidate Sean's experiment, we will not attempt to change anything in product in October iteration, but we can figure out what our next move is and make the change in November.
Removed all animations/transitions in my PR linked above.

Discussion:
.monaco-workbench .part.editor.empty.has-watermark { background-position-y: calc(50% - 100px); <del> transition: background-position-y 1s; </del> } .monaco-workbench > .part.editor > .watermark {

border-spacing: 13px 17px; } <del> @keyframes watermarkfadein { 0% { opacity: 0; } 33% { opacity: 0; } 100% { opacity: 1; } } </del> @media (min-height: 501px) { .monaco-workbench > .part.editor.empty > .watermark { <del> animation: watermarkfadein 2s; opacity: 1; transition: opacity 1s; </del> <ins> display: block; </ins> } } @media (max-height: 500px) { .monaco-workbench > .part.editor.empty > .watermark { <del> opacity: 0; </del> <ins> display: none; </ins> } <del> .monaco-workbench .part.editor.empty { </del> <ins> .monaco-workbench .part.editor.empty.has-watermark { </ins> background-position-y: 50%; } }
Change:
The command line help (code --help) does not show the option for disabling GPU rendering (--disable-gpu) VSCode Version: 1.6.0 OS Version: Debian Jessie Steps to Reproduce: Terminal "code --help" Output on my system:
Care to submit a PR?
Fixed by

Discussion:
'--install-extension <ext>': localize('installExtension', "Installs an extension."), '--uninstall-extension <ext>': localize('uninstallExtension', "Uninstalls an extension."), '--disable-extensions': localize('disableExtensions', "Disable all installed extensions."), <ins> '--disable-gpu': localize('disableGPU', "Disable GPU hardware acceleration."), </ins> '-v, --version': localize('version', "Print version."), '-h, --help': localize('help', "Print usage.") };
Change:
VSCode Version: 1.6.1 OS Version: macOS The editor component of VSCode does not highlight/outline the currently selected line when in read-only mode. The ability to highlight lines in read only mode is useful for a variety of reasons. For example in we use this to bring attention to specific lines when the UI navigates the user to a new cursor position after a jump-to-definition. Steps to Reproduce: You can reproduce this within the Monaco playground the and instantiate a new read only editor. E.g. on the editor to set the cursor position. The line containing the selected position is not outlined. Remove the read only flag and observe the difference in behavior.

Discussion:
} private _shouldShowCurrentLine(): boolean { <del> return this._renderLineHighlight && this._selectionIsEmpty && this._primaryCursorIsInEditableRange && !this._readOnly; </del> <ins> return this._renderLineHighlight && this._selectionIsEmpty && this._primaryCursorIsInEditableRange; </ins> } }
Change:
VSCode Version: 1.7 OS Version: OS X 10.11.6 ! The up and down arrow are off. Because the arrow key falls through all provided fonts and get rendered in Arial. ! I suggest adding Lucida Grande to the font-family, for in macOS's watermark.
I actually didn't have a problem with this on my Mac for some reason. Even without the previous commit you , my glyphs for the symbols like arrows and stuff were being rendered via Lucida Grande, whereas the rest of the glyphs were rendered with San Fransisco. ! ! !
Closing for now, but just wanted to let you know what was going on on my machine.
What's your macOS version?
macOS 10.12 Sierra VS Code Insiders
Sierra has SF for . I still think we should make the shortcuts rendered in the same font, and Lucida Grande is a safe choice.

Discussion:
.monaco-workbench.mac > .part.editor.empty > .watermark dd > .shortcuts { letter-spacing: 0.15em; <ins> font-family: "Lucida Grande", sans-serif; </ins> } .monaco-workbench > .part.editor.empty > .watermark dt,
Change:
From Which debug types are supported? I have to read the readme. Could this include "node2" somewhere? !
We accept PRs that fix this

Discussion:
const details = $('details', { open: true, ontoggle: onDetailsToggle }, $('summary', null, localize('debuggers', "Debuggers ({0})", contrib.length)), $('table', null, <del> $('tr', null, $('th', null, localize('debugger name', "Name"))), ...contrib.map(d => $('tr', null, $('td', null, d.label || d.type))) </del> <ins> $('tr', null, $('th', null, localize('debugger name', "Name")), $('th', null, localize('debugger type', "Type")), ), ...contrib.map(d => $('tr', null, $('td', null, d.label), $('td', null, d.type))) </ins> ) );
Change:
According to and . should be used to escape a dot. However, it looks like our hover renderer doesn't unescape the dot when in a link !
Sorry to bother yall but is there an ETA on this? I'm hoping to release/publicize a project soon that relies heavily on json-schemas but I don't want to publicize it until this is fixed (because it will be a bad UX and I want people to have good experience the first time they try the thing). Thanks
From a quick look, the root cause may be the processing we do in the js extension for files: Can you please share an example json file that shows this in the latest builds. Thanks.
Verifying bug on master, latest commit ! See my original ticket for repro steps
Verified in code.
I still see unescaped characters: ! I created
Verified fix on master @ Thanks! Side question: how do changes like this get into release, i.e. when might one expect this change to be deployed to users?

Discussion:
import { defaultGenerator } from 'vs/base/common/idGenerator'; import { escape } from 'vs/base/common/strings'; import { TPromise } from 'vs/base/common/winjs.base'; <del> import { IHTMLContentElement, MarkedString } from 'vs/base/common/htmlContent'; </del> <ins> import { IHTMLContentElement, MarkedString, removeMarkdownEscapes } from 'vs/base/common/htmlContent'; </ins> import { marked } from 'vs/base/common/marked/marked'; import { IMouseEvent } from 'vs/base/browser/mouseEvent';

return '<img ' + attributes.join(' ') + '>'; }; renderer.link = (href, title, text): string => { <ins> // Remove markdown escapes. Workaround for https://github.com/chjj/marked/issues/829 if (href === text) { // raw link case text = removeMarkdownEscapes(text); } title = removeMarkdownEscapes(title); href = removeMarkdownEscapes(href); </ins> return `<a href="#" data-href="${href}" title="${title || text}">${text}</a>`; }; renderer.paragraph = (text): string => {

return text.replace(/[`*_{}[]()#+-.!]/g, '$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash } <ins> export function removeMarkdownEscapes(text: string): string { if (!text) { return text; } return text.replace(/([`*_{}[]()#+-.!])/g, '$1'); } </ins> export interface IHTMLContentElement { /**
Change:
VSCode Version: 1.7.1 OS Version: 10.12.1 Steps to Reproduce: cursor on a line without selecting a range Format Selection with keyboard shortcut It would be nice if the current line is formatted instead of having to select the whole current line first.
I like the feature (format line) but I am not so sure if this should be automagic or explicit.

Discussion:
id: 'editor.action.formatSelection', label: nls.localize('formatSelection.label', "Format Selection"), alias: 'Format Code', <del> precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasNonEmptySelection), </del> <ins> precondition: ContextKeyExpr.and(EditorContextKeys.writable), </ins> kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyMod.CtrlCmd | KeyCode.KEY_F),

protected _getFormattingEdits(editor: ICodeEditor, token: CancellationToken): Promise<ISingleEditOperation[]> { const model = editor.getModel(); <ins> let selection = editor.getSelection(); if (selection.isEmpty()) { const maxColumn = model.getLineMaxColumn(selection.startLineNumber); selection = selection.setStartPosition(selection.startLineNumber, 1); selection = selection.setEndPosition(selection.endLineNumber, maxColumn); } </ins> const { tabSize, insertSpaces } = model.getOptions(); <del> return getDocumentRangeFormattingEdits(model, editor.getSelection(), { tabSize, insertSpaces }, token); </del> <ins> return getDocumentRangeFormattingEdits(model, selection, { tabSize, insertSpaces }, token); </ins> } protected _notifyNoProviderError(notificationService: INotificationService, language: string): void {
Change:
If user does not want the close button to be visible - vscode could make tabs more narrow to show more tabs. Tabs with changed content could get wider to show the 'dot' denoting unsaved file ! !
[ ] Verify: when the tab close button is disabled, the tabs are not leaving room for the dirty indicator until the editor is actually dirty.

Discussion:
/* No Tab Close Button */ .monaco-workbench > .part.editor > .content > .one-editor-silo > .container > .title .tabs-container > .tab.close-button-off { <del> padding-right: 28px; /* make room for dirty indication when we are running without close button */ </del> <ins> padding-right: 12px; transition: padding-right ease-in-out 100ms; </ins> } .monaco-workbench > .part.editor > .content > .one-editor-silo > .container > .title .tabs-container > .tab.close-button-off.dirty { background-repeat: no-repeat; background-position-y: center; background-position-x: calc(100% - 6px); /* to the right of the tab label */ <ins> padding-right: 28px; /* make room for dirty indication when we are running without close button */ </ins> } .vs .monaco-workbench > .part.editor > .content > .one-editor-silo > .container > .title .tabs-container > .tab.close-button-off.dirty {
Change:
As per, issue (closed), the command line arguments such as -h, should work with the current version of VS Code. But does not work as expected in normal ubuntu installation. Binary being used: /usr/bin/code -/usr/share/code/bin/code VSCode Version: Version 1.7.1 Commit Date 2016-11-03T13:46:46.244Z Shell 1.3.8 Renderer 52.0.2743.82 Node 6.5.0 OS Version: Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04 Codename: xenial Steps to Reproduce: code --user-data-dir=/ws/linux/config/vscode/ code --user-data-dir=/ws/linux/config/vscode/ --help code --user-data-dir=/ws/linux/config/vscode/ /var/logs None of the above shows any help or open path as expected.
Updates: After a short digging around, either the main executable at is ignoring other arguments, including --user-data-dir when is present. Or is supressing or not using the other args. When the bash startup script, is used, there is no effect of arguments including path to open as well as other args like --help. The user-data-dir is not created when is passed. Whereas, when the main executable () is used, it looks like the arguments are passed and processed correctly. path to open, --new-window, -r are working as expected. But i guess the absence of , is causing causing the writing back to starting shell fail. Following errors are shown when using main executable.
Strange. I just tried, but failed to reproduce. We'd need to debug the CLI code on your machine. Any chance that it's a VM you could send us?
Not a vm. But if there are switches or edits that i can do to enable trace, i can run with trace on and share the output. I also tried and used the version, same problem. Any chances that there might be a conflict with existing electron installation ?
Interesting. Could be. Try the insiders version, since it's a completely separate product:
I think i found the root cause, can you share your startup script, may be we are using different version that it is working on your end. The script is shifting and throwing away all args when used as root to check --user-data-dir. Just submitted a pull request with changes that retains and passes the commandline args.
Great to know. Moving this to he should know the details of that script. Great work, thanks for the effort!
Fixed in
Verified: ignores . does not ignore it.

Discussion:
# Licensed under the MIT License. See License.txt in the project root for license information. # If root, ensure that --user-data-dir is specified <ins> ARGS=$@ </ins> if [ "$(id -u)" = "0" ]; then while test $# -gt 0 do

ELECTRON="$VSCODE_PATH/@@NAME@@" CLI="$VSCODE_PATH/resources/app/out/cli.js" <del> ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@" exit $? </del>  No newline at end of file <ins> ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" $ARGS exit $? </ins>
Change:
The Marketplace extension query now returns two Asset URI’s: and . Asset downloads should work the following way: VSIXPackage Use with the param. Fallback to without the param. Other assets Use without the param. Fallback to without the param.

Discussion:
if (type === AssetType.VSIX) { return { <del> uri: `${version.fallbackAssetUri}/${type}?redirect=true`, fallbackUri: `${version.fallbackAssetUri}/${type}` </del> <ins> uri: `${version.fallbackAssetUri}/${type}?redirect=true&install=true`, fallbackUri: `${version.fallbackAssetUri}/${type}?install=true` </ins> }; }
Change:
VSCode Version: code-insiders-1.8.0-.el7.x86_64 OS Version: CentOS Linux release 7.2.1511 (Core) Steps to Reproduce: code rpm from insiders build on CentOS minimal to launch it from cli Installing GConf2 fixes it ( yum install GConf2 ). maybe should be a dep in the rpm spec file.
hello would love more information on the minimal install aspect for your use case. To clarify, are you starting with a "minimal installation" and then installing x11 after the fact ? !
Yes, and after that I just install the basic fonts and xorg xauth because I ssh into the devel box and use the editor via X11 forwarding. I've done this with other editors and is pretty handy, so I can avoid copying/checking out code from the workstation to the devel box (I write stuff meant to run over CentOS 7)
The exact same problem occurs on Elementary OS (based on Ubuntu). Running fixes the issue. It's most likely the same missing dependency problem in the .Deb file.
this should be fixed in 1.9
Hello, I had the same problem on openSUSE 42.1, when I ran the problem was solved. Btw I downloaded the .rpm file.
On ArchLinux pacman -S gconf

Discussion:
URL:      https://code.visualstudio.com/ Icon:     @@NAME@@.xpm Requires: glibc >= 2.15 <ins> Requires: GConf2 </ins> %ifarch x86_64 Requires: libXss.so.1()(64bit) %else
Change:
In VS Code we able to push git repos to different places with "git push to" and choosing the remote server to push. I'll be nice if we can be able to choose from the repo to pull files, and manage the default remote, today the first remote repo is the default isn't possible to change that via VS Code
Thanks for all your contributions. You all created a PR to solve the same issue; all in a surprisingly similar way. I wanted to keep the record of all your work so I did an octopus merge with git, thus keeping your names in history. Thanks once again!

Discussion:
"category": "Git" }, { <ins> "command": "git.pullFrom", "title": "%command.pullFrom%", "category": "Git" }, { </ins> "command": "git.push", "title": "%command.push%", "category": "Git"

"when": "config.git.enabled && scmProvider == git && gitState == idle" }, { <ins> "command": "git.pullFrom", "when": "config.git.enabled && scmProvider == git && gitState == idle" }, { </ins> "command": "git.push", "when": "config.git.enabled && scmProvider == git && gitState == idle" },

"when": "config.git.enabled && scmProvider == git && gitState == idle" }, { <ins> "command": "git.pullFrom", "group": "1_sync", "when": "config.git.enabled && scmProvider == git && gitState == idle" }, { </ins> "command": "git.push", "group": "1_sync", "when": "config.git.enabled && scmProvider == git && gitState == idle"

"command.deleteBranch": "Delete Branch...", "command.pull": "Pull", "command.pullRebase": "Pull (Rebase)", <ins> "command.pullFrom": "Pull (From Remote)", </ins> "command.push": "Push", "command.pushTo": "Push to...", "command.sync": "Sync",

await this.model.pullWithRebase(); } <ins> @command('git.pullFrom') async pullFrom(): Promise<void> { const remotes = this.model.remotes; if (remotes.length === 0) { window.showWarningMessage(localize('no remotes to pull', "Your repository has no remotes configured to pull from.")); return; } if (!this.model.HEAD || !this.model.HEAD.name) { window.showWarningMessage(localize('nobranchToPull', "Please select branch.")); return; } const branchName = this.model.HEAD.name; const picks = remotes.map(r => ({ label: r.name, description: r.url })); const placeHolder = localize('pick remote pull', "Pick a remote to pull the branch '{0}' from:", branchName); const pick = await window.showQuickPick(picks, { placeHolder }); if (!pick) { return; } await this.model.pullFromRemote(pick.label, branchName); } </ins> @command('git.push') async push(): Promise<void> { const remotes = this.model.remotes;

} } <del> async pull(rebase?: boolean): Promise<void> { </del> <ins> async pull(rebase?: boolean, remote?: string, branch?: string): Promise<void> { </ins> const args = ['pull']; if (rebase) { args.push('-r'); } <ins> if (remote && branch) { args.push(remote, branch); } </ins> try { await this.run(args);

} @throttle <ins> async pullFromRemote(remote : string, branch : string): Promise<void> { await this.run(Operation.Pull, () => this.repository.pull(false, remote, branch)); } @throttle </ins> async push(): Promise<void> { await this.run(Operation.Push, () => this.repository.push()); }