jiebi/CodeConvo huggingface dataset:
Change:
Pick up final TS 2.1.5 for the bundled version of TypeScript. Insiders version of TS 2.1.5 is already in VSCode 1.9 insiders

Discussion:
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" }, "typescript": { <del> "version": "2.1.5-insiders.20161229", "from": "typescript@2.1.5-insiders.20161229", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.1.5-insiders.20161229.tgz" </del> <ins> "version": "2.1.5", "from": "typescript@2.1.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.1.5.tgz" </ins> }, "vscode-extension-telemetry": { "version": "0.0.5",

"semver": "4.3.6", "vscode-extension-telemetry": "^0.0.5", "vscode-nls": "^2.0.1", <del> "typescript": "2.1.5-insiders.20161229" </del> <ins> "typescript": "2.1.5" </ins> }, "devDependencies": { "@types/semver": "^5.3.30"

"sinon": "^1.17.2", "source-map": "^0.4.4", "tslint": "^4.3.1", <del> "typescript": "^2.1.4", </del> <ins> "typescript": "2.1.5", </ins> "typescript-formatter": "4.0.1", "uglify-js": "2.4.8", "underscore": "^1.8.2",
Change:
VSCode Version: 1.8.1 OS Version: Windows 8 UX Improvement for example: 1.5M or 1.560M !
if this feature , developer easy compare between extensions
Care to submit a PR?
just for UX improvement now display 1M for 1.1 and 1.9

Discussion:
if (this.options.small) { if (installCount > 1000000) { <del> installLabel = `${Math.floor(installCount / 1000000)}M`; </del> <ins> installLabel = `${Math.floor(installCount / 100000) / 10}M`; </ins> } else if (installCount > 1000) { installLabel = `${Math.floor(installCount / 1000)}K`; }
Change:
If you search in the Help menu, it will show you general Mac help topics: ! None of these are from Code, but could be confused with Code-specific help, especially for certain search terms. Is it possible to disable this feature? !
please report against electron.
Response:
might know if we can add this to our plist
I would like to contribute. But I'm relatively new to OSS/git/VSCode. I might take some time/need help, but can I try fixing this?
Sure.
Found the root cause of the issue. TL;DR: This is blocked and needs to be flagged 'upstream' The build process for VS Code uses the plugin , which unfortunately doesn't expose the ability to alter the See Once the upstream plugin has been patched, it will be trivial to fix this issue. already found the answer; simply adding the keys &lt;keyCFBundleHelpBookFolder&lt;/key&lt;stringSurfWriter.Help&lt;/string&lt;keyCFBundleHelpBookName&lt;/key&lt;/string to the removes the macOS help suggestions. The author of 'gulp-atom-electron', is in this thread, so if I am wrong, please correct me! Until then though, I move to mark this as blocked/upstream and I will move on to something else. Boy was it fun tracking this down though!
Not so sure about that fix... Those keys seem too specific to the SurfWriter application. But don't be afraid of creating a PR for !
Surfwriter specifically isn't necessary (Not quite sure what the best value is, but I feel that creating a useful Help Book is a Story in and of itself!). I have attached a screen shot showing that even garbage values for the keys 'CFBundleHelperBookFolder' and 'CFBundleHelpBookName' produce the desired results, fulfilling this issue's requirements. I'm sure we want something other than garbage values though! Most likely, to point towards an empty HelpBook file in the VSCode src, then another story can be made to fill that with useful info. I'll be sure to take a look at this weekend! !
What values should we put to disable the menu?

Discussion:
darwinIcon: 'resources/darwin/code.icns', darwinBundleIdentifier: product.darwinBundleIdentifier, darwinApplicationCategoryType: 'public.app-category.developer-tools', <ins> darwinHelpBookFolder: 'VS Code HelpBook', darwinHelpBookName: 'VS Code HelpBook', </ins> darwinBundleDocumentTypes: [{ name: product.nameLong + ' document', role: 'Editor',
Change:
VSCode Version: Insiders Add ability to display Octicons in Code Lenses. My plan is to display the results (as done in VS) of unittests against each method. Part of the functionality has been provided through (refreshing code lenses). Now i'd like to display a red "X" or a green "Tick" (what ever the standard Octicons may be).
As a workaround, you may be able to use emoji or regular unicode symbols to achieve a similar effect: <img width="474" alt="screen shot 2017-01-30 at 11 12 59 am" src=""One downside to this is that these will vary somewhat between operating systems
Thanks for the tip
I would like to try fixing it. Would that be ok? Maybe you can think of some pitfalls?
Use the utils from and wire things up here: One thing to consider is that maybe not all users want octicons, e.g one might be using $(zap) and not want but we can consider that later

Discussion:
import 'vs/css!./codelensWidget'; import * as dom from 'vs/base/browser/dom'; import { coalesce, isFalsyOrEmpty } from 'vs/base/common/arrays'; <del> import { escape } from 'vs/base/common/strings'; </del> <ins> import { renderOcticons } from 'vs/base/browser/ui/octiconLabel/octiconLabel'; </ins> import * as editorBrowser from 'vs/editor/browser/editorBrowser'; import { Range } from 'vs/editor/common/core/range'; import { IModelDecorationsChangeAccessor, IModelDeltaDecoration, ITextModel } from 'vs/editor/common/model';

for (let i = 0; i < symbols.length; i++) { const command = symbols[i].command; if (command) { <del> const title = escape(command.title); </del> <ins> const title = renderOcticons(command.title); </ins> let part: string; if (command.id) { part = `<a id=${i}>${title}</a>`;
Change:
Steps to Reproduce: an untitled file with JS mode code with errors/warnings on one =crash ! Is the resource scheme file but the URI untitled? Looks like it
Looks like is registered this as a file resource where are is not having any issues.
Thanks for the investigation. should fix this

Discussion:
} public asUrl(filepath: string): Uri { <del> if (filepath.startsWith(TypeScriptServiceClient.WALK_THROUGH_SNIPPET_SCHEME_COLON)) { </del> <ins> if (filepath.startsWith(TypeScriptServiceClient.WALK_THROUGH_SNIPPET_SCHEME_COLON) || (filepath.startsWith('untitled:') && this._apiVersion.has213Features()) ) { </ins> return Uri.parse(filepath); } return Uri.file(filepath);
Change:
VSCode Version: 1.9.1 OS Version: Windows 10 Enterprise .693 Steps to Reproduce: VS Code a folder D:/Temp the following URL: vscode://file/d/temp/ Expected result: VS Code launches and opens folder D:/Temp Actual result: VS Code launches and says that folder /d/temp does not exist
I guess this is related to the windows CLI?
Want to ?
Thanks for the fix But actually went ahead with a simpler solution on top of yours. Instead of manipulating the strings we should just explicitly require the colon to be in the URI. So here's how URIs would work for Code: This works correctly now in .

Discussion:
import { TPromise } from 'vs/base/common/winjs.base'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { assign } from 'vs/base/common/objects'; <ins> import URI from 'vs/base/common/uri'; </ins> import { IWindowsService } from 'vs/platform/windows/common/windows'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { shell, crashReporter, app } from 'electron';

) { chain(urlService.onOpenURL) .filter(uri => uri.authority === 'file' && !!uri.path) <del> .map(uri => uri.path) </del> <ins> .map(uri => this.parseURIForOpen(uri)) </ins> .on(this.openFileForURI, this, this.disposables); }

return TPromise.as(null); } <ins> private parseURIForOpen(uri: URI): string { /** * opening vscode://file/drive/path/to/project passes a POSIX-style path on Windows. * i.e vscode://file/c/path/to/project gives a path of /c/path/to/project * let's strip the root slash and ensure the drive letter is something Windows * can understand. */ if (uri.authority === 'file' && process.platform === 'win32') { let path = uri.path.substr(1); // strip the root slash let drive = path.slice(0, path.indexOf('/')); // find the drive letter if (drive.length === 1) { // add a colon if the uri.path contains a valid drive letter. path = path.slice(0, path.indexOf('/')) + ':' + path.slice(path.indexOf('/')); return path; } if (drive.length === 2 && drive.indexOf(':')) { // path has a colon already return path; } return uri.path; } // *NIX platforms can process this path natively. return uri.path; } </ins> dispose(): void { this.disposables = dispose(this.disposables); }
Change:
In a suggestions view, navigate to a suggestion with a long label and enter the details view on this suggestions. Bug <img width="593" alt="screen shot 2017-02-15 at 4 14 18 pm" src=""The label for the completion item goes outside of the suggestion box

Discussion:
} .monaco-editor .suggest-widget .details > .header > .title { <del> flex: 2; </del> <ins> overflow: hidden; text-overflow: ellipsis; </ins> } .monaco-editor .suggest-widget .details > .header > .go-back {
Change:
<!-- Do you have a question? Please ask it on --Currently using the git integration UI, git tries to push commits before testing if a password was entered. A test should be carried to make sure both fields have been entered before form submission. VSCode Version: 1.9.1 OS Version: Ubuntu 16.04 LTS Steps to Reproduce: a repository eg. changes, then try to push via the tab in the left bar GitHub username field blank OK button. should submit, but fail to push commits because password field was empty

Discussion:
<section id="main"> <p id="host"></p> <form id="form"> <del> <p><input type="text" id="username" placeholder="Username"/></p> <p><input type="password" id="password" placeholder="Password"/></p> </del> <ins> <p><input type="text" id="username" placeholder="Username" required/></p> <p><input type="password" id="password" placeholder="Password" required/></p> </ins> <p id="buttons"> <input id="ok" type="submit" value="OK" /> <input id="cancel" type="button" value="Cancel" />

</footer> </section> </body> <del> </html> </del>  No newline at end of file <ins> </html> </ins>
Change:
Refs: It should be possible to copy the text of the widget, currently that is not possible !

Discussion:
.monaco-editor .zone-widget .zone-widget-container.exception-widget { padding: 6px 10px; <ins> -webkit-user-select: text; -ms-user-select: text; -khtml-user-select: text; -moz-user-select: text; -o-user-select: text; user-select: text; </ins> } .monaco-editor .zone-widget .zone-widget-container.exception-widget .title {
Change:
Testing Version 1.10.0-insider Commit Date 2017-02-22T07:09:05.746Z Linux In the VSCode workspace, open VSCode on the 'extensions/html' folder. press Ctrl + E, type: debug with space at the end an empty dialog shows up click the dialog away error message shows up: Unable to instantiate quick open handler vs/workbench/parts/debug/browser/debugQuickOpen - QuickOpenHandler: {"errorCode":"load","moduleId":"vs/workbench/parts/debug/browser/debugQuickOpen","neededBy":["===anonymous10==="],"detail":{"errno":-2,"code":"ENOENT","syscall":"open","path":"/usr/share/code-"}}
! !
This has been fixed and awaiting pull request review before merge in.

Discussion:
import 'vs/workbench/parts/git/browser/gitViewlet'; // can be packaged separately import 'vs/workbench/parts/debug/electron-browser/debug.contribution'; <ins> import 'vs/workbench/parts/debug/browser/debugQuickOpen'; </ins> import 'vs/workbench/parts/debug/electron-browser/repl'; import 'vs/workbench/parts/debug/browser/debugEditorActions'; import 'vs/workbench/parts/debug/browser/debugViewlet'; // can be packaged separately

} } <del> export class QuickOpenHandler extends Quickopen.QuickOpenHandler { </del> <ins> export class DebugQuickOpenHandler extends Quickopen.QuickOpenHandler { </ins> constructor( @IQuickOpenService private quickOpenService: IQuickOpenService,

(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler( new QuickOpenHandlerDescriptor( 'vs/workbench/parts/debug/browser/debugQuickOpen', <del> 'QuickOpenHandler', </del> <ins> 'DebugQuickOpenHandler', </ins> 'debug ', <del> nls.localize('debugCommands', "Debug XXX") </del> <ins> nls.localize('debugCommands', "Debug Configuration") </ins> ) );
Change:
'null' is a valid value for a setting, but turns it into 'undefined'. have the following workspace settings:set a breakpoint in '' at the value is 'undefined' should indicate that the setting has not been set in the workspace (luckily it is not a valid configuration value as we only support valid JSON data types)
Same problem with the default and user value. It's always 'undefined' instead of 'null'. The bug is in
I created a PR with a

Discussion:
function accessSetting(config: any, path: string[]): any { let current = config; for (let i = 0; i < path.length; i++) { <del> current = current[path[i]]; if (typeof current === 'undefined' || current === null) { </del> <ins> if (typeof current !== 'object' || current === null) { </ins> return undefined; } <ins> current = current[path[i]]; </ins> } return <T>current; }

export interface IOverrides<T> { contents: T; identifiers: string[]; <del> } </del>  No newline at end of file <ins> } </ins>

const service = new ConfigurationService(new SettingsTestEnvironmentService(parseArgs(process.argv), process.execPath, testFile)); let res = service.lookup('something.missing'); <del> assert.ok(!res.value); assert.ok(!res.default); assert.ok(!res.user); </del> <ins> assert.strictEqual(res.value, void 0); assert.strictEqual(res.default, void 0); assert.strictEqual(res.user, void 0); </ins> res = service.lookup('lookup.service.testSetting'); <del> assert.equal(res.default, 'isSet'); assert.equal(res.value, 'isSet'); assert.ok(!res.user); </del> <ins> assert.strictEqual(res.default, 'isSet'); assert.strictEqual(res.value, 'isSet'); assert.strictEqual(res.user, void 0); </ins> fs.writeFileSync(testFile, '{ "lookup.service.testSetting": "bar" }'); return service.reloadConfiguration().then(() => { res = service.lookup('lookup.service.testSetting'); <del> assert.equal(res.default, 'isSet'); assert.equal(res.user, 'bar'); assert.equal(res.value, 'bar'); </del> <ins> assert.strictEqual(res.default, 'isSet'); assert.strictEqual(res.user, 'bar'); assert.strictEqual(res.value, 'bar'); </ins> service.dispose();

}); }); }); <del> }); </del>  No newline at end of file <ins> test('lookup with null', (done: () => void) => { const configurationRegistry = <IConfigurationRegistry>Registry.as(ConfigurationExtensions.Configuration); configurationRegistry.registerConfiguration({ 'id': '_testNull', 'type': 'object', 'properties': { 'lookup.service.testNullSetting': { 'type': 'null', } } }); testFile((testFile, cleanUp) => { const service = new ConfigurationService(new SettingsTestEnvironmentService(parseArgs(process.argv), process.execPath, testFile)); let res = service.lookup('lookup.service.testNullSetting'); assert.strictEqual(res.default, null); assert.strictEqual(res.value, null); assert.strictEqual(res.user, void 0); fs.writeFileSync(testFile, '{ "lookup.service.testNullSetting": null }'); return service.reloadConfiguration().then(() => { res = service.lookup('lookup.service.testNullSetting'); assert.strictEqual(res.default, null); assert.strictEqual(res.value, null); assert.strictEqual(res.user, null); service.dispose(); cleanUp(done); }); }); }); }); </ins>
Change:
While verifying I realized that expandLineSelection is not in the command window (F1). Would be good to have it as command to use programmatically.
It can be used programmatically. It doesn't show up in F1, just like moveLeft doesn't show up in F1. I agree it should be a proper action, so :+1:

Discussion:
import { Handler, ScrollType } from 'vs/editor/common/editorCommon'; import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; import { VerticalRevealType } from 'vs/editor/common/view/viewEvents'; <ins> import { MenuId } from 'vs/platform/actions/common/actions'; </ins> import { ICommandHandlerDescription } from 'vs/platform/commands/common/commands'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';

weight: CORE_WEIGHT, kbExpr: EditorContextKeys.textInputFocus, primary: KeyMod.CtrlCmd | KeyCode.KeyL <del> } </del> <ins> }, menuOpts: [{ menuId: MenuId.CommandPalette, group: '', title: nls.localize('expandLineSelection', "Expand Line Selection"), order: 1 }] </ins> }); }
Change:
Search for "foo" Search for "bar" Click the 'clear results' button Use alt+up to get the last history item It should be "bar", but it's "foo"

Discussion:
this._onChange(); } <ins> public addIfNotPresent(t: T) { if (!this._history.contains(t)) { this.add(t); } } </ins> public next(): T { if (this._navigator.next()) { return this._navigator.current();

this._history = new ArraySet<T>(data.slice(data.length - this._limit)); } } }  No newline at end of file

} public showPreviousSearchTerm() { <del> let previous = this.searchHistory.previous(); </del> <ins> let previous; if (this.searchInput.getValue().length === 0) { previous = this.searchHistory.current(); } else { this.searchHistory.addIfNotPresent(this.searchInput.getValue()); previous = this.searchHistory.previous(); } </ins> if (previous) { this.searchInput.setValue(previous); }
Change:
VSCode Version: Code 1.10.0 (, 2017-03-01T17:09:34.031Z) OS Version: Linux x64 4.5.5-300.fc24.x86_64 Extensions: none Steps to Reproduce: -Does not show type-specific proposals There is a single file in the cache: with just the empty object in it. /cc
The root cause seems to be that is not installed. I'm investigating this on other platforms as well
Two issues are tracking this on the TypeScript side: No error being generated: Add error message to typings install failure:
With TS 2.2.2 insiders we just picked up, an error notification is now generated in this case. It still does not have a good user facing message about not having npm installed. That is being tracked by
We don't handle the new event from the TS Server yet.

Discussion:
onProjectLanguageServiceStateChanged: Event<Proto.ProjectLanguageServiceStateEventBody>; onDidBeginInstallTypings: Event<Proto.BeginInstallTypesEventBody>; onDidEndInstallTypings: Event<Proto.EndInstallTypesEventBody>; <ins> onTypesInstallerInitializationFailed: Event<Proto.TypesInstallerInitializationFailedEventBody>; </ins> logTelemetry(eventName: string, properties?: { [prop: string]: string }): void;

private _onProjectLanguageServiceStateChanged = new EventEmitter<Proto.ProjectLanguageServiceStateEventBody>(); private _onDidBeginInstallTypings = new EventEmitter<Proto.BeginInstallTypesEventBody>(); private _onDidEndInstallTypings = new EventEmitter<Proto.EndInstallTypesEventBody>(); <ins> private _onTypesInstallerInitializationFailed = new EventEmitter<Proto.TypesInstallerInitializationFailedEventBody>(); </ins> private _packageInfo: IPackageInfo | null; private _apiVersion: API;

return this._onDidEndInstallTypings.event; } <ins> get onTypesInstallerInitializationFailed(): Event<Proto.TypesInstallerInitializationFailedEventBody> { return this._onTypesInstallerInitializationFailed.event; } </ins> private get output(): OutputChannel { if (!this._output) { this._output = window.createOutputChannel(localize('channelName', 'TypeScript'));

if (data) { this._onDidEndInstallTypings.fire(data); } <ins> } else if (event.event === 'typesInstallerInitializationFailed') { const data = (event as Proto.TypesInstallerInitializationFailedEvent).body; if (data) { this._onTypesInstallerInitializationFailed.fire(data); } </ins> } } else { throw new Error('Unknown message type ' + message.type + ' recevied');

constructor(client: ITypescriptServiceClient) { this._disposable = vscode.Disposable.from( client.onDidBeginInstallTypings(e => this._onBegin(e.eventId)), <del> client.onDidEndInstallTypings(e => this._onEndOrTimeout(e.eventId)) ); </del> <ins> client.onDidEndInstallTypings(e => this._onEndOrTimeout(e.eventId)), client.onTypesInstallerInitializationFailed(_ => this.onTypesInstallerInitializationFailed())); </ins> } dispose(): void {

resolve(); } } <ins> private onTypesInstallerInitializationFailed() { vscode.window.showWarningMessage(localize('typesInstallerInitializationFailed', "Could not install typings files for JS/TS language features. Please ensure that NPM is installed")); } </ins> }
Change:
<!-- Do you have a question? Please ask it on --- VSCode Version: 1.10.1 OS Version: OSX 10.11.6 Steps to Reproduce: multiple workspaces open each with bash and do stuff in each Code either by update or reboot that bash histories are not restored useful when you run a complex command to run a project in a particular way.
I believe this is related to the terminal instances not being shut down gracefully when vscode is shutdown.
I'd like to attempt a PR for this. But I'm unable to reproduce this. Here's what I tried: multiple instances of VSCode with integrated terminals in them. a few commands in the integrated terminals Quit VS Code (in Mac OS X) a new terminal window and hit key to cycle through my bash history. I was able to view the commands I ran from within VS Code. This could also be an issue because of differences in bash configuration.
I believe this mainly just needs the program to also call in addition to killing itself when it's orphaned. It would be great if you could look into this. FYI here's another issue with more details which I'll close off in favor of this one

Discussion:
}); ptyProcess.on('exit', function (exitCode) { <ins> ptyProcess.kill(); </ins> process.exit(exitCode); });
Change:
<!-- Do you have a question? Please ask it on --- VSCode Version: 1.10.1() and 1.11.0-insider () OS Version: Windows 10 -- Sorry for the English, I used Google Translator -- Allow different color in the line number when the cursor is on that line. Like Atom. !
Is this feature not available for macOS?
Seems like a useful feature (or at least appealing). Now only doable as a hack with extension: ! For this to work highlight should include the gutter (in ) But this should be theme configurable.

Discussion:
'use strict'; import 'vs/css!./lineNumbers'; <del> import { editorLineNumbers } from 'vs/editor/common/view/editorColorRegistry'; </del> <ins> import { editorLineNumbers, editorActiveLineNumber } from 'vs/editor/common/view/editorColorRegistry'; </ins> import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import * as platform from 'vs/base/common/platform'; import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';

if (lineNumbers) { collector.addRule(`.monaco-editor .line-numbers { color: ${lineNumbers}; }`); } <ins> const activeLineNumber = theme.getColor(editorActiveLineNumber); if (activeLineNumber) { collector.addRule(`.monaco-editor .current-line-margin ~ .line-numbers { color: ${activeLineNumber}; }`); } </ins> });

export const editorWhitespaces = registerColor('editorWhitespace.foreground', { dark: '#e3e4e229', light: '#33333333', hc: '#e3e4e229' }, nls.localize('editorWhitespaces', 'Color of whitespace characters in the editor.')); export const editorIndentGuides = registerColor('editorIndentGuide.background', { dark: editorWhitespaces, light: editorWhitespaces, hc: editorWhitespaces }, nls.localize('editorIndentGuides', 'Color of the editor indentation guides.')); export const editorLineNumbers = registerColor('editorLineNumber.foreground', { dark: '#5A5A5A', light: '#2B91AF', hc: Color.white }, nls.localize('editorLineNumbers', 'Color of editor line numbers.')); <ins> export const editorActiveLineNumber = registerColor('editorActiveLineNumber.foreground', { dark: null, light: null, hc: null }, nls.localize('editorActiveLineNumber', 'Color of editor active line number')); </ins> export const editorRuler = registerColor('editorRuler.foreground', { dark: '#5A5A5A', light: Color.lightgrey, hc: Color.white }, nls.localize('editorRuler', 'Color of the editor rulers.')); export const editorCodeLensForeground = registerColor('editorCodeLens.foreground', { dark: '#999999', light: '#999999', hc: '#999999' }, nls.localize('editorCodeLensForeground', 'Foreground color of editor code lenses'));