jiebi/CodeConvo huggingface dataset:
Code change:
VSCode Version: 0.10.11 OS Version: Win10 Steps to Reproduce: this key binding: a code file (C#, JS, TS) "publ" followed by the space key Expected: The text should be (with a space at the end) Actual: The text is , no autocompletion occurred. Note: "acceptSelectedSuggestion" without the caret still works
Looking thru the default bindings, I noticed this binding at the very bottom of the file: Pressing does not autocomplete in TypeScript either.
I can confirm it doesn't work on TypeScript due to the context key not being set.
There is two problems: commit introduced a regression in that it turns around the boolean condition (missing ) ended up with having the command two times when working on the acceptOnEnter config setting
Despite the fixes above this still happens. The reason seems to be that uses a timeout. That gives the triggerOnCharacter command a chance to run (and clear the previous suggest model) such that accept doesn't work
the timeout and like breakage happened in
Oh, the missing ! Ugh, sorry about that. The was just a leftover. I made a change that enables me to simply remove it. :+1: can you see whether the now works?
works

Related discussion:
text: <ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ export interface IScrollEvent { vertical: boolean; horizontal: boolean; } export interface IDelegate<T> { getHeight(element: T): number; getTemplateId(element: T): string; } export interface IRenderer<TElement, TTemplateData> { renderTemplate(container: HTMLElement): TTemplateData; renderElement(element: TElement, templateData: TTemplateData): void; disposeTemplate(templateData: TTemplateData): void; } export interface IRendererMap<T> { [templateId: string]: IRenderer<T, any>; } </ins>
Code change:
VSCode Version: 0.10.11 OS Version: Win10 Steps to Reproduce: this key binding: a code file (C#, JS, TS) "publ" followed by the space key Expected: The text should be (with a space at the end) Actual: The text is , no autocompletion occurred. Note: "acceptSelectedSuggestion" without the caret still works
Looking thru the default bindings, I noticed this binding at the very bottom of the file: Pressing does not autocomplete in TypeScript either.
I can confirm it doesn't work on TypeScript due to the context key not being set.
There is two problems: commit introduced a regression in that it turns around the boolean condition (missing ) ended up with having the command two times when working on the acceptOnEnter config setting
Despite the fixes above this still happens. The reason seems to be that uses a timeout. That gives the triggerOnCharacter command a chance to run (and clear the previous suggest model) such that accept doesn't work
the timeout and like breakage happened in
Oh, the missing ! Ugh, sorry about that. The was just a leftover. I made a change that enables me to simply remove it. :+1: can you see whether the now works?
works

Related discussion:
text: dispose(): void; } <ins> export function dispose<T extends IDisposable>(disposable: T): T { if (disposable) { disposable.dispose(); } return null; } </ins> export function disposeAll<T extends IDisposable>(arr: T[]): T[] { if (arr) { for (let i = 0, len = arr.length; i < len; i++) {
Code change:
VSCode Version: 0.10.11 OS Version: Windows 10 Steps to Reproduce: click on an unknown file type, like or Open with... VS Code and check always use this app to open files of this type The file gets the app icon of VS Code, not the document icon: !

Related discussion:
text: Root: HKCR; Subkey: "{#RegValueName}SourceFileDefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}resourcesappresourceswin32code_file.ico" Root: HKCR; Subkey: "{#RegValueName}SourceFileshellopencommand"; ValueType: string; ValueName: ""; ValueData: """{app}{#ExeBasename}.exe"" ""%1""" <ins> Root: HKCR; Subkey: "Applications{#ExeBasename}.exe"; ValueType: none; ValueName: ""; Flags: uninsdeletekey Root: HKCR; Subkey: "Applications{#ExeBasename}.exeDefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}resourcesappresourceswin32code_file.ico" Root: HKCR; Subkey: "Applications{#ExeBasename}.exeshellopencommand"; ValueType: string; ValueName: ""; ValueData: """{app}{#ExeBasename}.exe"" ""%1""" </ins> Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}bin"; Tasks: addtopath; Check: NeedsAddPath(ExpandConstant('{app}bin')) Root: HKCU; Subkey: "SOFTWAREClasses*shell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#ShellNameShort}"; Tasks: addcontextmenufiles; Flags: uninsdeletekey
Code change:
Issue Id: <-bdb0-aec8-eb4a-</b<br /<br /Versions <br /- <br /- <br /Stack <br /TypeError: Cannot read property 'dispose' of undefined<br /<br /<br /<br /at Array.forEach (native)<br /<br /at Array.forEach (native)<br /<br /<br /<br /<br /
Woopsie.
Sorry for the confusion, this one is still open, the other one is fixed.

Related discussion:
text: public disposeTemplate(templateId: string, templateData: any): void { if (templateId === templateEntryItem) { this.entryItemRenderer.disposeTemplate(null, templateId, templateData); <ins> } else { const data = templateData as IQuickOpenEntryGroupTemplateData; data.actionBar.dispose(); data.actionBar = null; data.container = null; data.description.dispose(); data.description = null; data.detail.dispose(); data.detail = null; data.group = null; data.icon = null; data.label.dispose(); data.label = null; data.prefix = null; </ins> } <del> const data = templateData as IQuickOpenEntryGroupTemplateData; data.actionBar.dispose(); data.actionBar = null; data.container = null; data.description.dispose(); data.description = null; data.detail.dispose(); data.detail = null; data.group = null; data.icon = null; data.label.dispose(); data.label = null; data.prefix = null; </del> } }
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { relative } from 'path'; <ins> import { IProcessEnvironment, isWindows } from 'vs/base/common/platform'; </ins> export class ConfigurationResolverService implements IConfigurationResolverService { _serviceBrand: any;
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: private _lastWorkspaceFolder: IWorkspaceFolder; constructor( <del> envVariables: { [key: string]: string }, </del> <ins> envVariables: IProcessEnvironment, </ins> @IWorkbenchEditorService private editorService: IWorkbenchEditorService, @IEnvironmentService environmentService: IEnvironmentService, @IConfigurationService private configurationService: IConfigurationService,
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: ) { this._execPath = environmentService.execPath; Object.keys(envVariables).forEach(key => { <del> this[`env:${key}`] = envVariables[key]; </del> <ins> const name = isWindows ? key.toLowerCase() : key; this[`env:${name}`] = envVariables[key]; </ins> }); }
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: let regexp = /${(.*?)}/g; const originalValue = value; const resolvedString = value.replace(regexp, (match: string, name: string) => { <del> let newValue = (<any>this)[name]; </del> <ins> const key = (isWindows && match.indexOf('env:') > 0) ? name.toLowerCase() : name; let newValue = (<any>this)[key]; </ins> if (types.isString(newValue)) { return newValue; } else {
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: suite('Configuration Resolver Service', () => { let configurationResolverService: IConfigurationResolverService; <del> let envVariables: { [key: string]: string } = { key1: 'Value for Key1', key2: 'Value for Key2' }; </del> <ins> let envVariables: { [key: string]: string } = { key1: 'Value for key1', key2: 'Value for key2' }; </ins> let mockCommandService: MockCommandService; let editorService: TestEditorService; let workspace: IWorkspaceFolder;
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: let service = new ConfigurationResolverService(envVariables, new TestEditorService(), TestEnvironmentService, configurationService, mockCommandService); if (platform.isWindows) { <del> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo VSCodeworkspaceLocation Value for Key1 xyz'); </del> <ins> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo VSCodeworkspaceLocation Value for key1 xyz'); </ins> } else { <del> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo /VSCode/workspaceLocation Value for Key1 xyz'); </del> <ins> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo /VSCode/workspaceLocation Value for key1 xyz'); </ins> } });
Code change:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks

Related discussion:
text: let service = new ConfigurationResolverService(envVariables, new TestEditorService(), TestEnvironmentService, configurationService, mockCommandService); if (platform.isWindows) { <del> assert.strictEqual(service.resolve(workspace, '${config:editor.fontFamily} ${config:terminal.integrated.fontFamily} ${workspaceFolder} - ${workspaceFolder} ${env:key1} - ${env:key2}'), 'foo bar VSCodeworkspaceLocation - VSCodeworkspaceLocation Value for Key1 - Value for Key2'); </del> <ins> assert.strictEqual(service.resolve(workspace, '${config:editor.fontFamily} ${config:terminal.integrated.fontFamily} ${workspaceFolder} - ${workspaceFolder} ${env:key1} - ${env:key2}'), 'foo bar VSCodeworkspaceLocation - VSCodeworkspaceLocation Value for key1 - Value for key2'); </ins> } else { <del> assert.strictEqual(service.resolve(workspace, '${config:editor.fontFamily} ${config:terminal.integrated.fontFamily} ${workspaceFolder} - ${workspaceFolder} ${env:key1} - ${env:key2}'), 'foo bar /VSCode/workspaceLocation - /VSCode/workspaceLocation Value for Key1 - Value for Key2'); </del> <ins> assert.strictEqual(service.resolve(workspace, '${config:editor.fontFamily} ${config:terminal.integrated.fontFamily} ${workspaceFolder} - ${workspaceFolder} ${env:key1} - ${env:key2}'), 'foo bar /VSCode/workspaceLocation - /VSCode/workspaceLocation Value for key1 - Value for key2'); </ins> } });