Question:
Right now when a breakpoint is hit, the function in is called, and it in turn calls . The logic of is that it shows the wanted element at the very bottom of the scroll view. What this means is that in the Call Stack view, we'll only see the thread that hit the breakpoint and the first frame at the very bottom -- Ideally I think we want to show this at the top, so that we can see the whole stack trace, not just the first frame.
try it out in VS Code insiders from Friday and let us know if it behaves good for you so we add a verified label here. Thanks
did you get a chance to give this a spin?
sorry for the late reply. I tested it on the latest Insiders Build and it works as expected -- on breakpoint, the stack view shows the current thread in the middle if there are multiple threads in the program and the behavior is not changed compared to the previous version if there are fewer threads.
Also another question for you I can see that you guys (i.e. the VSCode team at Microsoft) are working heavily on Debugging UX improvements and our teams at Facebook could also suggest a few improvements we could benefit from. What is the process on picking the improvements to work on? Is it only done via feature requests? If so, how do you pick and prioritize the requests?
Thanks for coming back, adding verified label. For suggestions on improvments please create new feature requests. Feel free to ping me on them. Thanks

this.ignoreSelectionChangedEvent = true; try { this.tree.setSelection([element]); <del> this.tree.reveal(element); </del> <ins> // If the element is outside of the screen bounds, // position it in the middle if (this.tree.getRelativeTop(element) === null) { this.tree.reveal(element, 0.5); } else { this.tree.reveal(element); } </ins> } catch (e) { } finally { this.ignoreSelectionChangedEvent = false;


Question:
Could be related to the Untitled file title changes. The tests hang here: ! /cc
The same on macOS.

// Create directories as needed for (let i = directoriesToCreate.length - 1; i >= 0; i--) { directory = joinPath(directory, directoriesToCreate[i]); <del> await provider.mkdir(directory); </del> <ins> try { await provider.mkdir(directory); } catch (error) { if (toFileSystemProviderErrorCode(error) !== FileSystemProviderErrorCode.FileExists) { // For mkdirp() we tolerate that the mkdir() call fails // in case the folder already exists. This follows node.js // own implementation of fs.mkdir({ recursive: true }) and // reduces the chances of race conditions leading to errors // if multiple calls try to create the same folders // As such, we only throw an error here if it is other than // the fact that the file already exists. // (see also https://github.com/microsoft/vscode/issues/89834) throw error; } } </ins> } }


Question:
Could be related to the Untitled file title changes. The tests hang here: ! /cc
The same on macOS.

import { NullLogService } from 'vs/platform/log/common/log'; import { isLinux, isWindows } from 'vs/base/common/platform'; import { DisposableStore } from 'vs/base/common/lifecycle'; <del> import { isEqual } from 'vs/base/common/resources'; </del> <ins> import { isEqual, joinPath } from 'vs/base/common/resources'; </ins> import { VSBuffer, VSBufferReadable, streamToBufferReadableStream, VSBufferReadableStream, bufferToReadable, bufferToStream, streamToBuffer } from 'vs/base/common/buffer'; import { find } from 'vs/base/common/arrays';


Question:
Could be related to the Untitled file title changes. The tests hang here: ! /cc
The same on macOS.

assert.ok(!error); }); <ins> test('writeFile - no error when writing to same non-existing folder multiple times different new files', async () => { const newFolder = URI.file(join(testDir, 'some', 'new', 'folder')); const file1 = joinPath(newFolder, 'file-1'); const file2 = joinPath(newFolder, 'file-2'); const file3 = joinPath(newFolder, 'file-3'); // this essentially verifies that the mkdirp logic implemented // in the file service is able to receive multiple requests for // the same folder and will not throw errors if another racing // call succeeded first. const newContent = 'Updates to the small file'; await Promise.all([ service.writeFile(file1, VSBuffer.fromString(newContent)), service.writeFile(file2, VSBuffer.fromString(newContent)), service.writeFile(file3, VSBuffer.fromString(newContent)) ]); assert.ok(service.exists(file1)); assert.ok(service.exists(file2)); assert.ok(service.exists(file3)); }); test('writeFile - error when writing to folder that is a file', async () => { const existingFile = URI.file(join(testDir, 'my-file')); await service.createFile(existingFile); const newFile = joinPath(existingFile, 'file-1'); let error; const newContent = 'Updates to the small file'; try { await service.writeFile(newFile, VSBuffer.fromString(newContent)); } catch (e) { error = e; } assert.ok(error); }); </ins> const runWatchTests = isLinux; (runWatchTests ? test : test.skip)('watch - file', done => {


Question:
Could be related to the Untitled file title changes. The tests hang here: ! /cc
The same on macOS.

await app.workbench.editors.newUntitledFile(); const untitled = 'Untitled-1'; <del> const textToTypeInUntitled = 'Hello, Untitled Code'; </del> <ins> const textToTypeInUntitled = untitled; </ins> await app.workbench.editor.waitForTypeInEditor(untitled, textToTypeInUntitled); const readmeMd = 'readme.md';


Question:
Could be related to the Untitled file title changes. The tests hang here: ! /cc
The same on macOS.

await stableApp.workbench.editors.newUntitledFile(); const untitled = 'Untitled-1'; <del> const textToTypeInUntitled = 'Hello, Untitled Code'; </del> <ins> const textToTypeInUntitled = untitled; </ins> await stableApp.workbench.editor.waitForTypeInEditor(untitled, textToTypeInUntitled); const readmeMd = 'readme.md';


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

} //#endregion <ins> //#region https://github.com/microsoft/vscode/issues/90517 export interface FileSystemError { /** * A code that identifies this error. * * Possible values are names of errors, like [`FileNotFound`](#FileSystemError.FileNotFound), * or `undefined` for an unspecified error. */ readonly code?: string; } ////#endregion </ins> }


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

} // file system error <del> throw new FileSystemError(err.message, err.name as files.FileSystemProviderErrorCode); </del> <ins> switch (err.name) { case files.FileSystemProviderErrorCode.FileExists: throw FileSystemError.FileExists(err.message); case files.FileSystemProviderErrorCode.FileNotFound: throw FileSystemError.FileNotFound(err.message); case files.FileSystemProviderErrorCode.FileNotADirectory: throw FileSystemError.FileNotADirectory(err.message); case files.FileSystemProviderErrorCode.FileIsADirectory: throw FileSystemError.FileIsADirectory(err.message); case files.FileSystemProviderErrorCode.NoPermissions: throw FileSystemError.NoPermissions(err.message); case files.FileSystemProviderErrorCode.Unavailable: throw FileSystemError.Unavailable(err.message); default: throw new FileSystemError(err.message, err.name as files.FileSystemProviderErrorCode); } </ins> } }


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

return new FileSystemError(messageOrUri, FileSystemProviderErrorCode.Unavailable, FileSystemError.Unavailable); } <ins> readonly code?: string; </ins> constructor(uriOrMessage?: string | URI, code: FileSystemProviderErrorCode = FileSystemProviderErrorCode.Unknown, terminator?: Function) { super(URI.isUri(uriOrMessage) ? uriOrMessage.toString(true) : uriOrMessage); <ins> this.code = terminator?.name; </ins> // mark the error as file system provider error so that // we can extract the error code on the receiving side markAsFileSystemProviderError(this, code);


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

*--------------------------------------------------------------------------------------------*/ import { URI } from 'vs/base/common/uri'; <del> import { IFileSystemProviderWithFileReadWriteCapability, FileSystemProviderCapabilities, IFileChange, IWatchOptions, IStat, FileOverwriteOptions, FileType, FileDeleteOptions, FileWriteOptions, FileChangeType, FileSystemProviderErrorCode } from 'vs/platform/files/common/files'; </del> <ins> import { IFileSystemProviderWithFileReadWriteCapability, FileSystemProviderCapabilities, IFileChange, IWatchOptions, IStat, FileOverwriteOptions, FileType, FileDeleteOptions, FileWriteOptions, FileChangeType } from 'vs/platform/files/common/files'; </ins> import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { Event, Emitter } from 'vs/base/common/event'; import { VSBuffer } from 'vs/base/common/buffer';


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

size: 0 }; } <del> return Promise.reject(new FileSystemError(resource, FileSystemProviderErrorCode.FileNotFound)); </del> <ins> return Promise.reject(FileSystemError.FileNotFound(resource)); </ins> } async readdir(resource: URI): Promise<[string, FileType][]> { const hasKey = await this.hasKey(resource.path); if (hasKey) { <del> return Promise.reject(new FileSystemError(resource, FileSystemProviderErrorCode.FileNotADirectory)); </del> <ins> return Promise.reject(FileSystemError.FileNotADirectory(resource)); </ins> } const keys = await this.getAllKeys(); const files: Map<string, [string, FileType]> = new Map<string, [string, FileType]>();


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

async readFile(resource: URI): Promise<Uint8Array> { const hasKey = await this.hasKey(resource.path); if (!hasKey) { <del> return Promise.reject(new FileSystemError(resource, FileSystemProviderErrorCode.FileNotFound)); </del> <ins> return Promise.reject(FileSystemError.FileNotFound(resource)); </ins> } const value = await this.getValue(resource.path); return VSBuffer.fromString(value).buffer;


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help

if (!hasKey) { const files = await this.readdir(resource); if (files.length) { <del> return Promise.reject(new FileSystemError(resource, FileSystemProviderErrorCode.FileIsADirectory)); </del> <ins> return Promise.reject(FileSystemError.FileIsADirectory(resource)); </ins> } } await this.setValue(resource.path, VSBuffer.wrap(content).toString());


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

}): Disposable; } //#endregion <ins> //#region export interface FileSystem { /** * Check if a given file system supports writing files. * * Keep in mind that just because a file system supports writing, that does * not mean that writes will always succeed. There may be permissions issues * or other errors that prevent writing a file. * * @param scheme The scheme of the filesystem, for example `file` or `git`. * * @return `true` if the file system supports writing, `false` if it does not * support writing (i.e. it is readonly), and `undefined` if VS Code does not * know about the filesystem. */ isWritableFileSystem(scheme: string): boolean | undefined; } //#endregion </ins> }


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

const extHostEditorInsets = rpcProtocol.set(ExtHostContext.ExtHostEditorInsets, new ExtHostEditorInsets(rpcProtocol.getProxy(MainContext.MainThreadEditorInsets), extHostEditors, initData.environment)); const extHostDiagnostics = rpcProtocol.set(ExtHostContext.ExtHostDiagnostics, new ExtHostDiagnostics(rpcProtocol, extHostLogService)); const extHostLanguageFeatures = rpcProtocol.set(ExtHostContext.ExtHostLanguageFeatures, new ExtHostLanguageFeatures(rpcProtocol, uriTransformer, extHostDocuments, extHostCommands, extHostDiagnostics, extHostLogService, extHostApiDeprecation)); <del> const extHostFileSystem = rpcProtocol.set(ExtHostContext.ExtHostFileSystem, new ExtHostFileSystem(rpcProtocol, extHostLanguageFeatures)); </del> <ins> const extHostFileSystem = rpcProtocol.set(ExtHostContext.ExtHostFileSystem, new ExtHostFileSystem(rpcProtocol, extHostLanguageFeatures, extHostConsumerFileSystem)); </ins> const extHostFileSystemEvent = rpcProtocol.set(ExtHostContext.ExtHostFileSystemEventService, new ExtHostFileSystemEventService(rpcProtocol, extHostLogService, extHostDocumentsAndEditors)); const extHostQuickOpen = rpcProtocol.set(ExtHostContext.ExtHostQuickOpen, new ExtHostQuickOpen(rpcProtocol, extHostWorkspace, extHostCommands)); const extHostSCM = rpcProtocol.set(ExtHostContext.ExtHostSCM, new ExtHostSCM(rpcProtocol, extHostCommands, extHostLogService));


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

import { commonPrefixLength } from 'vs/base/common/strings'; import { CharCode } from 'vs/base/common/charCode'; import { VSBuffer } from 'vs/base/common/buffer'; <ins> import { IExtHostConsumerFileSystem } from 'vs/workbench/api/common/extHostFileSystemConsumer'; </ins> class FsLinkProvider {


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

private _linkProviderRegistration?: IDisposable; private _handlePool: number = 0; <del> constructor(mainContext: IMainContext, private _extHostLanguageFeatures: ExtHostLanguageFeatures) { </del> <ins> constructor(mainContext: IMainContext, private _extHostLanguageFeatures: ExtHostLanguageFeatures, private readonly _fileSystemConsumer: IExtHostConsumerFileSystem) { </ins> this._proxy = mainContext.getProxy(MainContext.MainThreadFileSystem); // register used schemes


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

throw new Error(`a provider for the scheme '${scheme}' is already registered`); } <ins> const schemeRegistration = this._fileSystemConsumer._registerScheme(scheme, options); </ins> // this._registerLinkProviderIfNotYetRegistered();


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

return toDisposable(() => { subscription.dispose(); <ins> schemeRegistration.dispose(); </ins> this._linkProvider.delete(scheme); this._usedSchemes.delete(scheme); this._fsProvider.delete(handle);


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

import { VSBuffer } from 'vs/base/common/buffer'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IExtHostRpcService } from 'vs/workbench/api/common/extHostRpcService'; <ins> import { IDisposable, toDisposable } from 'vs/base/common/lifecycle'; </ins> export class ExtHostConsumerFileSystem implements vscode.FileSystem {


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

private readonly _proxy: MainThreadFileSystemShape; <ins> private readonly _schemes = new Map<string, { readonly isReadonly?: boolean }>(); </ins> constructor(@IExtHostRpcService extHostRpc: IExtHostRpcService) { this._proxy = extHostRpc.getProxy(MainContext.MainThreadFileSystem); }


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

copy(source: vscode.Uri, destination: vscode.Uri, options?: { overwrite?: boolean; }): Promise<void> { return this._proxy.$copy(source, destination, { ...{ overwrite: false }, ...options }).catch(ExtHostConsumerFileSystem._handleError); } <ins> isWritableFileSystem(scheme: string): boolean | undefined { const entry = this._schemes.get(scheme); if (entry) { return !entry.isReadonly; } return undefined; } </ins> private static _handleError(err: any): never { // generic error if (!(err instanceof Error)) {


Question:
Refs: A text document can be readonly if it's underlying file system provider is readonly. I am not sure how a custom editor implementor can figure this out and provide the correct experience.
Could we add a property to ? Does VS Code internally already know if a given textDocument is read only?
We basically ask the file system provider for the resource of the document for being readonly or not. That should be doable.

default: throw new FileSystemError(err.message, err.name as files.FileSystemProviderErrorCode); } } <ins> /* internal */ _registerScheme(scheme: string, options: { readonly isReadonly?: boolean }): IDisposable { this._schemes.set(scheme, options); return toDisposable(() => { return this._schemes.delete(scheme); }); } </ins> } export interface IExtHostConsumerFileSystem extends ExtHostConsumerFileSystem { }


Question:
Stable above, insiders below: !
Doesn't seem to happen on macOS and the regression happened in the last couple of days. have panel/view-related changes happened that could have caused this?
Affects tasks/custom terminals pretty badly: <img width="146" alt="Screen Shot 2020-02-28 at 6 42 45 AM" src="https://user-"<img width="226" alt="Screen Shot 2020-02-28 at 6 43 15 AM" src="https://user-"
Likely my fault from drag and drop change

} .monaco-workbench .part.panel > .composite.title > .composite-bar-excess { <del> width: 100%; </del> <ins> width: 100px; </ins> } .monaco-workbench .part.panel > .title > .panel-switcher-container > .monaco-action-bar {


Question:
Following up on microsoft/TypeScript, is now a valid completion directive. It should be recommended over in the editor walkthrough that mentions comment directives.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.668 --<!-- potentialduplicatescomment --

import * as vscode from 'vscode'; import * as nls from 'vscode-nls'; import { ITypeScriptServiceClient } from '../typescriptService'; <ins> import API from '../utils/api'; </ins> const localize = nls.loadMessageBundle();


Question:
Following up on microsoft/TypeScript, is now a valid completion directive. It should be recommended over in the editor walkthrough that mentions comment directives.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.668 --<!-- potentialduplicatescomment --

} ]; <ins> const directives390: Directive[] = [ ...directives, { value: '@ts-expect-error', description: localize( 'ts-expect-error', "Suppresses @ts-check errors on the next line of a file, expecting at least one to exist.") } ]; </ins> class DirectiveCommentCompletionProvider implements vscode.CompletionItemProvider { <ins> private readonly directives: Directive[]; </ins> constructor( private readonly client: ITypeScriptServiceClient, <del> ) { } </del> <ins> ) { this.directives = client.apiVersion.gte(API.v390) ? directives390 : directives; } </ins> public provideCompletionItems( document: vscode.TextDocument,


Question:
Following up on microsoft/TypeScript, is now a valid completion directive. It should be recommended over in the editor walkthrough that mentions comment directives.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.668 --<!-- potentialduplicatescomment --

const prefix = line.slice(0, position.character); const match = prefix.match(/^s*//+s?(@[a-zA-Z-]*)?$/); if (match) { <del> return directives.map(directive => { </del> <ins> return this.directives.map(directive => { </ins> const item = new vscode.CompletionItem(directive.value, vscode.CompletionItemKind.Snippet); item.detail = directive.description; item.range = new vscode.Range(position.line, Math.max(0, position.character - (match[1] ? match[1].length : 0)), position.line, position.character);


Question:
Following up on microsoft/TypeScript, is now a valid completion directive. It should be recommended over in the editor walkthrough that mentions comment directives.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.668 --<!-- potentialduplicatescomment --

public static readonly v350 = API.fromSimpleString('3.5.0'); public static readonly v380 = API.fromSimpleString('3.8.0'); public static readonly v381 = API.fromSimpleString('3.8.1'); <ins> public static readonly v390 = API.fromSimpleString('3.9.0'); </ins> public static fromVersionString(versionString: string): API { let version = semver.valid(versionString);


Question:
Following up on microsoft/TypeScript, is now a valid completion directive. It should be recommended over in the editor walkthrough that mentions comment directives.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.668 --<!-- potentialduplicatescomment --

easy = 42; ||| <del> >**Tip:** You can also enable the checks workspace or application wide by adding |"javascript.implicitProjectConfig.checkJs": true| to your workspace or user settings and explicitly ignoring files or lines using |// @ts-nocheck| and |// @ts-ignore|. Check out the docs on [JavaScript in VS Code](https://code.visualstudio.com/docs/languages/javascript) to learn more. </del> <ins> >**Tip:** You can also enable the checks workspace or application wide by adding |"javascript.implicitProjectConfig.checkJs": true| to your workspace or user settings and explicitly ignoring files or lines using |// @ts-nocheck| and |// @ts-expect-error|. Check out the docs on [JavaScript in VS Code](https://code.visualstudio.com/docs/languages/javascript) to learn more. </ins> ## Thanks!


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.43.0 OS Version: n/a I have the set to in my settings: Given a Does not produce any warnings as expected. However in : The linter says
This has the same root cause as : script are owned by the html extension instead of by the JavaScript extension. Fixing that is difficult However we could have a small fix that just makes html understand the setting. Marking this as help-wanted
Hello I'd like to try my hands on fixing this issue. Can you give some pointers as to which files are good places to start?
This change will need to be made in the HTML extension Here's where we configure TypeScript for the html extension: You should: Pass the value for in with the initial configuration Make sure that the language service updates its value for when the VS Code setting changes
Is there another way to get the setting value other than vscode.workspace.getConfiguration()? The 'vscode' module cannot be found when I try to import it into javascriptMode. I think 'vscode' would have to be as a dependency in in order to import 'vscode'.
Right now I'm passing in a default 'false' for experimentalDecorators in the initial configuration and passing the settings into getJavascriptMode.doValidation to update compilerOptions and calling ts.createLanguageService(host) every time doValidation is invoked. It has the expected behavior, but is there a better way to update the compiler options without creating the service every time it runs validation?
Is called when the file is changed? If it is, try updating the object that it returns
I am reproducing this error now with the following code: I realize this is known, but I will add the mention with respect to . Here is the relevant docs page, if a person wanted to make a unit test using If anyone finds this in the future, if is set in , it should suppress this error. Additionally, both and files, in the root of the project, take precedence over that setting.

SymbolInformation, SymbolKind, CompletionItem, Location, SignatureHelp, SignatureInformation, ParameterInformation, Definition, TextEdit, TextDocument, Diagnostic, DiagnosticSeverity, Range, CompletionItemKind, Hover, MarkedString, DocumentHighlight, DocumentHighlightKind, CompletionList, Position, FormattingOptions, FoldingRange, FoldingRangeKind, SelectionRange, <del> LanguageMode, Settings, SemanticTokenData </del> <ins> LanguageMode, Settings, SemanticTokenData, Workspace </ins> } from './languageModes'; import { getWordAtText, startsWith, isWhitespaceOnly, repeat } from '../utils/strings'; import { HTMLDocumentRegions } from './embeddedSupport';


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.43.0 OS Version: n/a I have the set to in my settings: Given a Does not produce any warnings as expected. However in : The linter says
This has the same root cause as : script are owned by the html extension instead of by the JavaScript extension. Fixing that is difficult However we could have a small fix that just makes html understand the setting. Marking this as help-wanted
Hello I'd like to try my hands on fixing this issue. Can you give some pointers as to which files are good places to start?
This change will need to be made in the HTML extension Here's where we configure TypeScript for the html extension: You should: Pass the value for in with the initial configuration Make sure that the language service updates its value for when the VS Code setting changes
Is there another way to get the setting value other than vscode.workspace.getConfiguration()? The 'vscode' module cannot be found when I try to import it into javascriptMode. I think 'vscode' would have to be as a dependency in in order to import 'vscode'.
Right now I'm passing in a default 'false' for experimentalDecorators in the initial configuration and passing the settings into getJavascriptMode.doValidation to update compilerOptions and calling ts.createLanguageService(host) every time doValidation is invoked. It has the expected behavior, but is there a better way to update the compiler options without creating the service every time it runs validation?
Is called when the file is changed? If it is, try updating the object that it returns
I am reproducing this error now with the following code: I realize this is known, but I will add the mention with respect to . Here is the relevant docs page, if a person wanted to make a unit test using If anyone finds this in the future, if is set in , it should suppress this error. Additionally, both and files, in the root of the project, take precedence over that setting.

jquery_d_ts = join(__dirname, '../../lib/jquery.d.ts'); // from source } <del> export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, languageId: 'javascript' | 'typescript'): LanguageMode { </del> <ins> export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, languageId: 'javascript' | 'typescript', workspace: Workspace): LanguageMode { </ins> let jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument(languageId)); const workingFile = languageId === 'javascript' ? 'vscode://javascript/1.js' : 'vscode://javascript/2.ts'; // the same 'file' is used for all contents <del> let compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic }; </del> <ins> let compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic, experimentalDecorators: false }; </ins> let currentTextDocument: TextDocument; let scriptFileVersion: number = 0; function updateCurrentTextDocument(doc: TextDocument) {


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.43.0 OS Version: n/a I have the set to in my settings: Given a Does not produce any warnings as expected. However in : The linter says
This has the same root cause as : script are owned by the html extension instead of by the JavaScript extension. Fixing that is difficult However we could have a small fix that just makes html understand the setting. Marking this as help-wanted
Hello I'd like to try my hands on fixing this issue. Can you give some pointers as to which files are good places to start?
This change will need to be made in the HTML extension Here's where we configure TypeScript for the html extension: You should: Pass the value for in with the initial configuration Make sure that the language service updates its value for when the VS Code setting changes
Is there another way to get the setting value other than vscode.workspace.getConfiguration()? The 'vscode' module cannot be found when I try to import it into javascriptMode. I think 'vscode' would have to be as a dependency in in order to import 'vscode'.
Right now I'm passing in a default 'false' for experimentalDecorators in the initial configuration and passing the settings into getJavascriptMode.doValidation to update compilerOptions and calling ts.createLanguageService(host) every time doValidation is invoked. It has the expected behavior, but is there a better way to update the compiler options without creating the service every time it runs validation?
Is called when the file is changed? If it is, try updating the object that it returns
I am reproducing this error now with the following code: I realize this is known, but I will add the mention with respect to . Here is the relevant docs page, if a person wanted to make a unit test using If anyone finds this in the future, if is set in , it should suppress this error. Additionally, both and files, in the root of the project, take precedence over that setting.

getId() { return languageId; }, <del> doValidation(document: TextDocument): Diagnostic[] { </del> <ins> doValidation(document: TextDocument, settings = workspace.settings): Diagnostic[] { </ins> updateCurrentTextDocument(document); <ins> host.getCompilationSettings()['experimentalDecorators'] = settings && settings.javascript && settings.javascript.implicitProjectConfig.experimentalDecorators; </ins> const syntaxDiagnostics: ts.Diagnostic[] = jsLanguageService.getSyntacticDiagnostics(workingFile); const semanticDiagnostics = jsLanguageService.getSemanticDiagnostics(workingFile); return syntaxDiagnostics.concat(semanticDiagnostics).map((diag: ts.Diagnostic): Diagnostic => {


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.43.0 OS Version: n/a I have the set to in my settings: Given a Does not produce any warnings as expected. However in : The linter says
This has the same root cause as : script are owned by the html extension instead of by the JavaScript extension. Fixing that is difficult However we could have a small fix that just makes html understand the setting. Marking this as help-wanted
Hello I'd like to try my hands on fixing this issue. Can you give some pointers as to which files are good places to start?
This change will need to be made in the HTML extension Here's where we configure TypeScript for the html extension: You should: Pass the value for in with the initial configuration Make sure that the language service updates its value for when the VS Code setting changes
Is there another way to get the setting value other than vscode.workspace.getConfiguration()? The 'vscode' module cannot be found when I try to import it into javascriptMode. I think 'vscode' would have to be as a dependency in in order to import 'vscode'.
Right now I'm passing in a default 'false' for experimentalDecorators in the initial configuration and passing the settings into getJavascriptMode.doValidation to update compilerOptions and calling ts.createLanguageService(host) every time doValidation is invoked. It has the expected behavior, but is there a better way to update the compiler options without creating the service every time it runs validation?
Is called when the file is changed? If it is, try updating the object that it returns
I am reproducing this error now with the following code: I realize this is known, but I will add the mention with respect to . Here is the relevant docs page, if a person wanted to make a unit test using If anyone finds this in the future, if is set in , it should suppress this error. Additionally, both and files, in the root of the project, take precedence over that setting.

modes['css'] = getCSSMode(cssLanguageService, documentRegions, workspace); } if (supportedLanguages['javascript']) { <del> modes['javascript'] = getJavaScriptMode(documentRegions, 'javascript'); modes['typescript'] = getJavaScriptMode(documentRegions, 'typescript'); </del> <ins> modes['javascript'] = getJavaScriptMode(documentRegions, 'javascript', workspace); modes['typescript'] = getJavaScriptMode(documentRegions, 'typescript', workspace); </ins> } return { getModeAtPosition(document: TextDocument, position: Position): LanguageMode | undefined {


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.44.2 OS Version: Ubuntu 19.10 Steps to Reproduce: navigate editors through QuickOpen "navigate next" and "navigate previous" work as "navigate next after next" and "navigate previous of previous". So simply said it skip next/previous editor. Here are keybindings I use ` works ok, but and don't <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
PR: The issue is that we are listening to keys within the quick input control to do certain things but we do not prevent bubbling. This means our keybinding service will also receive these keys and check for actions to perform. In the old quick open widget we always prevented bubbling for that reason.

if (this.canSelectMany) { this.ui.list.domFocus(); } <del> event.preventDefault(); </del> <ins> dom.EventHelper.stop(event, true); </ins> break; case KeyCode.UpArrow: if (this.ui.list.getFocusedElements().length) {


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.44.2 OS Version: Ubuntu 19.10 Steps to Reproduce: navigate editors through QuickOpen "navigate next" and "navigate previous" work as "navigate next after next" and "navigate previous of previous". So simply said it skip next/previous editor. Here are keybindings I use ` works ok, but and don't <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
PR: The issue is that we are listening to keys within the quick input control to do certain things but we do not prevent bubbling. This means our keybinding service will also receive these keys and check for actions to perform. In the old quick open widget we always prevented bubbling for that reason.

if (this.canSelectMany) { this.ui.list.domFocus(); } <del> event.preventDefault(); </del> <ins> dom.EventHelper.stop(event, true); </ins> break; case KeyCode.PageDown: this.ui.list.focus(QuickInputListFocus.NextPage); if (this.canSelectMany) { this.ui.list.domFocus(); } <del> event.preventDefault(); </del> <ins> dom.EventHelper.stop(event, true); </ins> break; case KeyCode.PageUp: this.ui.list.focus(QuickInputListFocus.PreviousPage); if (this.canSelectMany) { this.ui.list.domFocus(); } <del> event.preventDefault(); </del> <ins> dom.EventHelper.stop(event, true); </ins> break; case KeyCode.RightArrow: if (!this._canAcceptInBackground) {


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.44.2 OS Version: Ubuntu 19.10 Steps to Reproduce: navigate editors through QuickOpen "navigate next" and "navigate previous" work as "navigate next after next" and "navigate previous of previous". So simply said it skip next/previous editor. Here are keybindings I use ` works ok, but and don't <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
PR: The issue is that we are listening to keys within the quick input control to do certain things but we do not prevent bubbling. This means our keybinding service will also receive these keys and check for actions to perform. In the old quick open widget we always prevented bubbling for that reason.

case KeyCode.Home: if (event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { this.ui.list.focus(QuickInputListFocus.First); <del> event.preventDefault(); </del> <ins> dom.EventHelper.stop(event, true); </ins> } break; case KeyCode.End: if (event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { this.ui.list.focus(QuickInputListFocus.Last); <del> event.preventDefault(); </del> <ins> dom.EventHelper.stop(event, true); </ins> } break; }


Question:
<!-- Do Not Delete This! bugreporttemplate --VSCode does a decent job highlighting many different shell script languages. But it doesn't seem to be aware that pdksh, dash, mksh, and posh, especially configuration files like and shebanged extensionless scripts, are POSIXy shell scripts. They just highlight as Plain Text files instead. Same for , that's a Tcsh shell script.
PR welcome!

"languages": [{ "id": "shellscript", "aliases": ["Shell Script", "shellscript", "bash", "sh", "zsh", "ksh", "csh"], <del> "extensions": [".sh", ".bash", ".bashrc", ".bash_aliases", ".bash_profile", ".bash_login", ".ebuild", ".install", ".profile", ".bash_logout", ".zsh", ".zshrc", ".zprofile", ".zlogin", ".zlogout", ".zshenv", ".zsh-theme", ".ksh", ".csh", ".cshrc"], </del> <ins> "extensions": [ ".sh", ".bash", ".bashrc", ".bash_aliases", ".bash_profile", ".bash_login", ".ebuild", ".install", ".profile", ".bash_logout", ".zsh", ".zshrc", ".zprofile", ".zlogin", ".zlogout", ".zshenv", ".zsh-theme", ".ksh", ".csh", ".cshrc", ".tcshrc", ".yashrc", ".yash_profile" ], </ins> "filenames": [ <del> "APKBUILD", "PKGBUILD", ".envrc" ], "firstLine": "^#!.*b(bash|zsh|sh|tcsh|ksh|ash|qsh|csh).*|^#s*-*-[^*]*mode:s*shell-script[^*]*-*-", </del> <ins> "APKBUILD", "PKGBUILD", ".envrc", ".hushlogin", "zshrc", "zshenv", "zlogin", "zprofile", "zlogout", "bashrc_Apple_Terminal", "zshrc_Apple_Terminal" ], "firstLine": "^#!.*b(bash|zsh|sh|ksh|dtksh|pdksh|mksh|ash|dash|yash|sh|csh|jcsh|tcsh|itcsh).*|^#s*-*-[^*]*mode:s*shell-script[^*]*-*-", </ins> "configuration": "./language-configuration.json", "mimetypes": ["text/x-shellscript"] }],


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.44.2 OS Version: macOS Steps to Reproduce: an extension providing in-editor comments via the comments API an editor containing comments the terminal at the bottom a command which causes the comments to be updated. For our comment provider, we automatically detect comments associated with your source control commit. So, for example, use the command line to checkout a different commit. comments will change, causing some of the previous comments to be hidden. When this happens, the editor is focused. This causes you to lose focus on the terminal. The end result UX is that you're typing commands in the terminal, and your focus gets stolen to an open editor for no visible reason, making it annoying if you wanted to keep running more commands. Notably, this depends on the way the comments API is used. I believe many comment providers do not respond to source control, and require clicking a button to activate/deactivate, so it's likely that's why this hasn't been reported before. For us, this is really annoying, and I could see this hitting other providers in the future. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: No, because you need an extension which contributes via comments API
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.562 --- <!-- score: 0.513 --- <!-- score: 0.501 --- <!-- score: 0.493 --- <!-- score: 0.492 --<!-- potentialduplicatescomment --

} hide() { <del> this._isExpanded = false; // Focus the container so that the comment editor will be blurred before it is hidden this.editor.focus(); </del> <ins> if (this._isExpanded) { this._isExpanded = false; // Focus the container so that the comment editor will be blurred before it is hidden this.editor.focus(); } </ins> super.hide(); }


Question:
<!-- 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. --I'd like to suggest an improvement to the Monokai Dimmed theme. Monokai Dimmed doesn't have colors set, resulting in 'ugly looking' fancy terminal features, such as Powerline. For a nice looking improvement, the terminal colors can be taken from the Monokai theme: Before: ! After: ! I intend to open a Pull request shortly that realizes this suggestion.
This looks much better, thanks for the PR! ! !
Thanks for accepting the PR! As a side note, I quickly looked at the other themes, and many of them haven't set any terminal colors, and even the ones that have them set usually haven't aligned ANSI black with the background, leading to weird-looking 'fancy shell features': ! ! Then again, there are documented ways how to adjust the color palettes for a particular VSCode installation or workspace, and this is quite likely a bit of an edge case anyway. Thanks for all the good work you guys have been doing!
Is there an option to disable this? or if there's not what would be the values one would need to set on terminal.X to revert what the commit changed? I prefer the non washed terminal and noticed this changed on last update. Edit: For anyone looking to use default terminal colors, add this to

"pickerGroup.foreground": "#b0b0b0", "terminal.ansiWhite": "#ffffff", "inputOption.activeBorder": "#3655b5", <del> "focusBorder": "#3655b5" </del> <ins> "focusBorder": "#3655b5", "terminal.ansiBlack": "#1e1e1e", "terminal.ansiRed": "#C4265E", // the bright color with ~75% transparent on the background "terminal.ansiGreen": "#86B42B", "terminal.ansiYellow": "#B3B42B", "terminal.ansiBlue": "#6A7EC8", "terminal.ansiMagenta": "#8C6BC8", "terminal.ansiCyan": "#56ADBC", "terminal.ansiWhite": "#e3e3dd", "terminal.ansiBrightBlack": "#666666", "terminal.ansiBrightRed": "#f92672", "terminal.ansiBrightGreen": "#A6E22E", "terminal.ansiBrightYellow": "#e2e22e", // hue shifted #A6E22E "terminal.ansiBrightBlue": "#819aff", // hue shifted #AE81FF "terminal.ansiBrightMagenta": "#AE81FF", "terminal.ansiBrightCyan": "#66D9EF", "terminal.ansiBrightWhite": "#f8f8f2" </ins> }, "tokenColors": [ {


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VS Code version: Code - Insiders 1.46.0-insider (, 2020-06-05T12:27:56.662Z) OS version: Darwin x64 18.7.0 Steps to Reproduce: all network connections. VSCode. "Developer: Startup Performance" from the Command Palette. Expected result: Startup Performance measurements are displayed. Actual result: Startup Performance never finishes "Loading...". Error logged in Dev Tools Console. ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Failing requests are from the extension service, not sure if this is intended during the startup metrics collection. Deferring to
I do not know how the start up perf are recorded and I assume these network requests failures are unrelated to it. Any insights on this?
I don't believe this is specific to the performance editor but must be rooted somewhere lower. The perf editor shows while it the eventually lifecycle phase and extensions being registered. So, I believe the culprit must be somewhere there
Assigning to and for lifecycle phase and extensions being registered steps respectively
Running with and checking logs, the is reached: There are 2 more things the editor awaits on: Maybe Jo could check on the former and Alex on the latter.
The former is again installed extension registered and lifecycle phase awaiting
this call is never returning: But is needed for this barrier to open:
Good digging. Thanks Adding to decide if the update service should eventually error or return false when asked for latest without internet access
I think throwing would make more sense for a service call.

return false; } <del> const context = await this.requestService.request({ url: this.url }, CancellationToken.None); // The update server replies with 204 (No Content) when no // update is available - that's all we want to know. return context.res.statusCode === 204; </del> <ins> try { const context = await this.requestService.request({ url: this.url }, CancellationToken.None); // The update server replies with 204 (No Content) when no // update is available - that's all we want to know. return context.res.statusCode === 204; } catch (error) { this.logService.error('update#isLatestVersion(): failed to check for updates'); this.logService.error(error); return undefined; } </ins> } async _applySpecificUpdate(packagePath: string): Promise<void> {


Question:
Issue Type: <bBug</bPlotting a large plot (e.g seaborn pairplot) with many columns via jupyter interactive mode and then viewing in plots viewer is very slow to view/zoom/pan VS Code version: Code 1.45.1 (, 2020-05-14T08:27:35.169Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ vscode-django0.20.0 vscode-markdownlint0.36.1 python-extension-pack1.6.0 gc-excelviewer2.1.35 r1.4.2 vsc-python-indent1.10.1 MagicPython1.1.0 anaconda-extension-pack1.0.1 python2020.6. vscode-yaml0.8.0 vscodeintellicode1.2.8 </details<!-- generated by issue reporter --
This sounds like a problem caused by the extension providing the Jupyter Notebooks. Please file the issue there.
Hi same problem here, are there any workarounds in place for this?
I've moved to

<del> 2019-08-30T20:24:23.714Z </del> <ins> 2020-10-05T20:24:23.714Z </ins>


Question:
Issue Type: <bBug</bPlotting a large plot (e.g seaborn pairplot) with many columns via jupyter interactive mode and then viewing in plots viewer is very slow to view/zoom/pan VS Code version: Code 1.45.1 (, 2020-05-14T08:27:35.169Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ vscode-django0.20.0 vscode-markdownlint0.36.1 python-extension-pack1.6.0 gc-excelviewer2.1.35 r1.4.2 vsc-python-indent1.10.1 MagicPython1.1.0 anaconda-extension-pack1.0.1 python2020.6. vscode-yaml0.8.0 vscodeintellicode1.2.8 </details<!-- generated by issue reporter --
This sounds like a problem caused by the extension providing the Jupyter Notebooks. Please file the issue there.
Hi same problem here, are there any workarounds in place for this?
I've moved to

"opn": "^6.0.0", "optimist": "0.3.5", "p-all": "^1.0.0", <del> "playwright": "0.15.0", </del> <ins> "playwright": "1.0.1", </ins> "pump": "^1.0.1", "queue": "3.0.6", "rcedit": "^1.1.0",


Question:
Issue Type: <bBug</bPlotting a large plot (e.g seaborn pairplot) with many columns via jupyter interactive mode and then viewing in plots viewer is very slow to view/zoom/pan VS Code version: Code 1.45.1 (, 2020-05-14T08:27:35.169Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ vscode-django0.20.0 vscode-markdownlint0.36.1 python-extension-pack1.6.0 gc-excelviewer2.1.35 r1.4.2 vsc-python-indent1.10.1 MagicPython1.1.0 anaconda-extension-pack1.0.1 python2020.6. vscode-yaml0.8.0 vscodeintellicode1.2.8 </details<!-- generated by issue reporter --
This sounds like a problem caused by the extension providing the Jupyter Notebooks. Please file the issue there.
Hi same problem here, are there any workarounds in place for this?
I've moved to

dependencies: find-up "^3.0.0" <del> playwright-core@=0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-0.15.0.tgz#c605c98a13c81d5a2e2691f15d04758cf302c20a" integrity sha512-uTm4PoF2U3iXkLMMG9vlTxlGfO8atQGAHDxqi8xV7hEjNSYeLTU7c6HN5zwadeHRVuBbNsZ4yqu9u4hoqC7uxQ== </del> <ins> playwright-core@=1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.0.1.tgz#823b6f1afa16917ffd418f3cec0c14688a985738" integrity sha512-a71FjUDRFqWLG3VBAojVen2TaZiXkuog+ZmI0Nh0+/QndFUbbW3kameOfUTMXFvLUGWx2ipERZx6EQTJMEQDMA== </ins> dependencies: debug "^4.1.1" extract-zip "^2.0.0"


Question:
Issue Type: <bBug</bPlotting a large plot (e.g seaborn pairplot) with many columns via jupyter interactive mode and then viewing in plots viewer is very slow to view/zoom/pan VS Code version: Code 1.45.1 (, 2020-05-14T08:27:35.169Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ vscode-django0.20.0 vscode-markdownlint0.36.1 python-extension-pack1.6.0 gc-excelviewer2.1.35 r1.4.2 vsc-python-indent1.10.1 MagicPython1.1.0 anaconda-extension-pack1.0.1 python2020.6. vscode-yaml0.8.0 vscodeintellicode1.2.8 </details<!-- generated by issue reporter --
This sounds like a problem caused by the extension providing the Jupyter Notebooks. Please file the issue there.
Hi same problem here, are there any workarounds in place for this?
I've moved to

rimraf "^3.0.2" ws "^6.1.0" <del> playwright@0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/playwright/-/playwright-0.15.0.tgz#bf5c3bb8404975aba78459310742388c08438431" integrity sha512-UGHkQz8DT43uJ0KgMh2rmj8BI4FE5ReQJ9nm5mG68tt1Cj2sXPdM2b05qptfYYBPtQRetQqtJTauZ6rlCDemaQ== </del> <ins> playwright@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.0.1.tgz#326d479829a3505799ddc9988cc8decf5a7f8376" integrity sha512-kVTE7uvZ7OcDVOBx7MVArUm2nbzzzpauKV9tuVIAH6vWGsOWbGGALUoTWMzNDzsPPTBJXXmxzC4KgI2zN+kVhw== </ins> dependencies: <del> playwright-core "=0.15.0" </del> <ins> playwright-core "=1.0.1" </ins> plist@^3.0.1: version "3.0.1"


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

<del> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#646465" d="M6 4v8l4-4-4-4zm1 2.414L8.586 8 7 9.586V6.414z"/></svg> </del>  No newline at end of file


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

<del> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#646465" d="M11 10H5.344L11 4.414V10z"/></svg> </del>  No newline at end of file


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

width: 100%; table-layout: fixed; } th[scope='col'] { vertical-align: bottom; border-bottom: 1px solid #cccccc;


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

border-top: 1px solid #cccccc; cursor: default; } td { padding: .25rem; vertical-align: top;


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

display: none; } <del> img { width: 16px; margin-right: 4px; </del> <ins> .header { display: flex; </ins> }


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

*--------------------------------------------------------------------------------------------*/ import 'vs/css!./media/processExplorer'; <ins> import 'vs/base/browser/ui/codicons/codiconStyles'; // make sure codicon css is loaded </ins> import { ElectronService, IElectronService } from 'vs/platform/electron/electron-sandbox/electron'; import { ipcRenderer } from 'vs/base/parts/sandbox/electron-sandbox/globals'; import { localize } from 'vs/nls';


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

import { DisposableStore } from 'vs/base/common/lifecycle'; import { isRemoteDiagnosticError, IRemoteDiagnosticError } from 'vs/platform/diagnostics/common/diagnostics'; import { MainProcessService } from 'vs/platform/ipc/electron-sandbox/mainProcessService'; <ins> import { CodiconLabel } from 'vs/base/browser/ui/codicons/codiconLabel'; </ins> const DEBUG_FLAGS_PATTERN = /s--(inspect|debug)(-brk|port)?=(d+)?/; const DEBUG_PORT_PATTERN = /s--(inspect|debug)-port=(d+)/;


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

return maxProcessId; } <del> private updateSectionCollapsedState(shouldExpand: boolean, body: HTMLElement, twistie: HTMLImageElement, sectionName: string) { </del> <ins> private updateSectionCollapsedState(shouldExpand: boolean, body: HTMLElement, twistie: CodiconLabel, sectionName: string) { </ins> if (shouldExpand) { body.classList.remove('hidden'); this.collapsedStateCache.set(sectionName, false); <del> twistie.src = './media/expanded.svg'; </del> <ins> twistie.text = '$(chevron-down)'; </ins> } else { body.classList.add('hidden'); this.collapsedStateCache.set(sectionName, true); <del> twistie.src = './media/collapsed.svg'; </del> <ins> twistie.text = '$(chevron-right)'; </ins> } }


Question:
Noticed how the process explorer is bundling and still. Can we not use Codicons for this? //cc
Oh this seems to be used in the issue reporter, not process explorer. But not sure how to actually see it...
are we actually using these icons? I'm not seeing it: !
it looks like these are only used when VSCode is connected to a remote to show the remote processes as well. I didn't even know we had that, pretty cool: ! Anyhow, my request still seems valid.
PR up at !

private renderProcessGroupHeader(sectionName: string, body: HTMLElement, container: HTMLElement) { const headerRow = document.createElement('tr'); <del> const data = document.createElement('td'); data.textContent = sectionName; data.colSpan = 4; headerRow.appendChild(data); const twistie = document.createElement('img'); this.updateSectionCollapsedState(!this.collapsedStateCache.get(sectionName), body, twistie, sectionName); data.prepend(twistie); </del> <ins> const headerData = document.createElement('td'); headerData.colSpan = 4; headerRow.appendChild(headerData); const headerContainer = document.createElement('div'); headerContainer.className = 'header'; headerData.appendChild(headerContainer); const twistieContainer = document.createElement('div'); const twistieCodicon = new CodiconLabel(twistieContainer); this.updateSectionCollapsedState(!this.collapsedStateCache.get(sectionName), body, twistieCodicon, sectionName); headerContainer.appendChild(twistieContainer); const headerLabel = document.createElement('span'); headerLabel.textContent = sectionName; headerContainer.appendChild(headerLabel); </ins> <del> this.listeners.add(addDisposableListener(data, 'click', (e) => { </del> <ins> this.listeners.add(addDisposableListener(headerData, 'click', (e) => { </ins> const isHidden = body.classList.contains('hidden'); <del> this.updateSectionCollapsedState(isHidden, body, twistie, sectionName); </del> <ins> this.updateSectionCollapsedState(isHidden, body, twistieCodicon, sectionName); </ins> })); container.appendChild(headerRow);


Question: Issue Type: <bBug</bSemantic token colorization fails when a token type ID matching any object.prototype property name is provided. Some examples are: , and . is the most problematic name since it is likely to be used as a token type ID. Any string should be able to be used as a token type ID without causing the colorization to fail. Because tries to call on what was thought to be a but was actually a , which throws a TypeError and causes the colorization to fail. The easiest way is probably to use a instead of an object for . Another solution might be to instantiate using instead of an object literal in order to avoid the object.prototype. VS Code version: Code 1.47.2 (, 2020-07-15T18:22:15.161Z) OS version: Linux x64 4.19.0-9-amd64 <!-- generated by issue reporter --

constructor() { this.tokenTypeById = {}; this.tokenModifierById = {}; <del> this.typeHierarchy = {}; </del> <ins> this.typeHierarchy = Object.create(null); </ins> } public registerTokenType(id: string, description: string, superType?: string, deprecationMessage?: string): void {


Question: Issue Type: <bBug</bSemantic token colorization fails when a token type ID matching any object.prototype property name is provided. Some examples are: , and . is the most problematic name since it is likely to be used as a token type ID. Any string should be able to be used as a token type ID without causing the colorization to fail. Because tries to call on what was thought to be a but was actually a , which throws a TypeError and causes the colorization to fail. The easiest way is probably to use a instead of an object for . Another solution might be to instantiate using instead of an object literal in order to avoid the object.prototype. VS Code version: Code 1.47.2 (, 2020-07-15T18:22:15.161Z) OS version: Linux x64 4.19.0-9-amd64 <!-- generated by issue reporter --

const stylingSchemeEntry = getStylingSchemeEntry(description, deprecationMessage); this.tokenStylingSchema.properties[id] = stylingSchemeEntry; <del> this.typeHierarchy = {}; </del> <ins> this.typeHierarchy = Object.create(null); </ins> } public registerTokenModifier(id: string, description: string, deprecationMessage?: string): void {


Question: Issue Type: <bBug</bSemantic token colorization fails when a token type ID matching any object.prototype property name is provided. Some examples are: , and . is the most problematic name since it is likely to be used as a token type ID. Any string should be able to be used as a token type ID without causing the colorization to fail. Because tries to call on what was thought to be a but was actually a , which throws a TypeError and causes the colorization to fail. The easiest way is probably to use a instead of an object for . Another solution might be to instantiate using instead of an object literal in order to avoid the object.prototype. VS Code version: Code 1.47.2 (, 2020-07-15T18:22:15.161Z) OS version: Linux x64 4.19.0-9-amd64 <!-- generated by issue reporter --

public deregisterTokenType(id: string): void { delete this.tokenTypeById[id]; delete this.tokenStylingSchema.properties[id]; <del> this.typeHierarchy = {}; </del> <ins> this.typeHierarchy = Object.create(null); </ins> } public deregisterTokenModifier(id: string): void {


Question:
latest VS Code insiders, turn on Voice Over on mac P -notice how the screen reader does not read any of the items in the quick pick This works just fine on Linux and Windows. Also works fine for stable. So it seems like an chrome update in electron broke this I can also repro running in . In Firefox and Safari all is good. I can not reproduce in Chrome cannary, so there seems to be a fix in Chrome latest. Ideally we would find the fix in Chrome and backport it to our Electron. fyi And for Chrome smartness, maybe one of your collegues fixed something like this (should be related to )
I can add this to my list (which is starting to grow I'm afraid). BUT, you don't need smartness; you need the most excellent bisect-build tool! :smile: Docs here: Once you have the regression range, you just sit there as pre-built binaries are presented for you to try and mark as good or bad. Best. Tool. Ever. Lemme know if you have any questions or need help.
Thanks a lot. Let's see if already has this set up, otherwise I can also look into it.
Yup I can do the bisect shortly.
Bisect result for when regression was introduced: Potential candidate: https://chromium-
Looking for fix now.
Upstream fix: https://chromium- Crbug:
Impressive. Thanks a lot!

disturl "https://atom.io/download/electron" <del> target "9.2.0" </del> <ins> target "9.2.1" </ins> runtime "electron"


Question:
latest VS Code insiders, turn on Voice Over on mac P -notice how the screen reader does not read any of the items in the quick pick This works just fine on Linux and Windows. Also works fine for stable. So it seems like an chrome update in electron broke this I can also repro running in . In Firefox and Safari all is good. I can not reproduce in Chrome cannary, so there seems to be a fix in Chrome latest. Ideally we would find the fix in Chrome and backport it to our Electron. fyi And for Chrome smartness, maybe one of your collegues fixed something like this (should be related to )
I can add this to my list (which is starting to grow I'm afraid). BUT, you don't need smartness; you need the most excellent bisect-build tool! :smile: Docs here: Once you have the regression range, you just sit there as pre-built binaries are presented for you to try and mark as good or bad. Best. Tool. Ever. Lemme know if you have any questions or need help.
Thanks a lot. Let's see if already has this set up, otherwise I can also look into it.
Yup I can do the bisect shortly.
Bisect result for when regression was introduced: Potential candidate: https://chromium-
Looking for fix now.
Upstream fix: https://chromium- Crbug:
Impressive. Thanks a lot!

"git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", <del> "commitHash": "0c2cb59b6283fe8d6bb4b14f8a832e2166aeaa0c" </del> <ins> "commitHash": "03c7a54dc534ce1867d4393b9b1a6989d4a7e005" </ins> } }, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "9.2.0" </del> <ins> "version": "9.2.1" </ins> }, { "component": {


Question:
latest VS Code insiders, turn on Voice Over on mac P -notice how the screen reader does not read any of the items in the quick pick This works just fine on Linux and Windows. Also works fine for stable. So it seems like an chrome update in electron broke this I can also repro running in . In Firefox and Safari all is good. I can not reproduce in Chrome cannary, so there seems to be a fix in Chrome latest. Ideally we would find the fix in Chrome and backport it to our Electron. fyi And for Chrome smartness, maybe one of your collegues fixed something like this (should be related to )
I can add this to my list (which is starting to grow I'm afraid). BUT, you don't need smartness; you need the most excellent bisect-build tool! :smile: Docs here: Once you have the regression range, you just sit there as pre-built binaries are presented for you to try and mark as good or bad. Best. Tool. Ever. Lemme know if you have any questions or need help.
Thanks a lot. Let's see if already has this set up, otherwise I can also look into it.
Yup I can do the bisect shortly.
Bisect result for when regression was introduced: Potential candidate: https://chromium-
Looking for fix now.
Upstream fix: https://chromium- Crbug:
Impressive. Thanks a lot!

"css-loader": "^3.2.0", "debounce": "^1.0.0", "deemon": "^1.4.0", <del> "electron": "9.2.0", </del> <ins> "electron": "9.2.1", </ins> "eslint": "6.8.0", "eslint-plugin-jsdoc": "^19.1.0", "event-stream": "3.3.4",


Question:
latest VS Code insiders, turn on Voice Over on mac P -notice how the screen reader does not read any of the items in the quick pick This works just fine on Linux and Windows. Also works fine for stable. So it seems like an chrome update in electron broke this I can also repro running in . In Firefox and Safari all is good. I can not reproduce in Chrome cannary, so there seems to be a fix in Chrome latest. Ideally we would find the fix in Chrome and backport it to our Electron. fyi And for Chrome smartness, maybe one of your collegues fixed something like this (should be related to )
I can add this to my list (which is starting to grow I'm afraid). BUT, you don't need smartness; you need the most excellent bisect-build tool! :smile: Docs here: Once you have the regression range, you just sit there as pre-built binaries are presented for you to try and mark as good or bad. Best. Tool. Ever. Lemme know if you have any questions or need help.
Thanks a lot. Let's see if already has this set up, otherwise I can also look into it.
Yup I can do the bisect shortly.
Bisect result for when regression was introduced: Potential candidate: https://chromium-
Looking for fix now.
Upstream fix: https://chromium- Crbug:
Impressive. Thanks a lot!

resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz#78ecb8a399066187bb374eede35d9c70565a803d" integrity sha1-eOy4o5kGYYe7N07t412ccFZagD0= <del> electron@9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/electron/-/electron-9.2.0.tgz#d9fc8c8c9e5109669c366bd7b9ba83b06095d7a4" integrity sha512-4ecZ3rcGg//Gk4fAK3Jo61T+uh36JhU6HHR/PTujQqQiBw1g4tNPd4R2hGGth2d+7FkRIs5GdRNef7h64fQEMw== </del> <ins> electron@9.2.1: version "9.2.1" resolved "https://registry.yarnpkg.com/electron/-/electron-9.2.1.tgz#54ef574e1af4ae967b5efa94312f1b6458d44a02" integrity sha512-ZsetaQjXB8+9/EFW1FnfK4ukpkwXCxMEaiKiUZhZ0ZLFlLnFCpe0Bg4vdDf7e4boWGcnlgN1jAJpBw7w0eXuqA== </ins> dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12"


Question: <!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.47.3 OS Version: Darwin x64 18.7.0 Steps to Reproduce: completeFunctionCall new tyepscript file, ype cursor at <kbdTAB</kbdExpected: Actual: Does this issue occur when all extensions are disabled?: Yes/No

).snippet.value, 'foobar(${1:param})$0'); }); <ins> test('Should skip over this parameter', async () => { assert.strictEqual( snippetForFunctionCall( { label: 'foobar', }, [{ "text": "function", "kind": "keyword" }, { "text": " ", "kind": "space" }, { "text": "foobar", "kind": "functionName" }, { "text": "(", "kind": "punctuation" }, { "text": "this", "kind": "parameterName" }, { "text": ":", "kind": "punctuation" }, { "text": " ", "kind": "space" }, { "text": "string", "kind": "keyword" }, { "text": ",", "kind": "punctuation" }, { "text": "param", "kind": "parameterName" }, { "text": ":", "kind": "punctuation" }, { "text": " ", "kind": "space" }, { "text": "string", "kind": "keyword" }, { "text": ")", "kind": "punctuation" }, { "text": ":", "kind": "punctuation" }, { "text": " ", "kind": "space" }, { "text": "void", "kind": "keyword" }] ).snippet.value, 'foobar(${1:param})$0'); }); </ins> });


Question: <!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.47.3 OS Version: Darwin x64 18.7.0 Steps to Reproduce: completeFunctionCall new tyepscript file, ype cursor at <kbdTAB</kbdExpected: Actual: Does this issue occur when all extensions are disabled?: Yes/No

const next = displayParts[i + 1]; // Skip optional parameters const nameIsFollowedByOptionalIndicator = next && next.text === '?'; <del> if (!nameIsFollowedByOptionalIndicator) { </del> <ins> // Skip this parameter const nameIsThis = part.text === 'this'; if (!nameIsFollowedByOptionalIndicator && !nameIsThis) { </ins> parts.push(part); } hasOptionalParameters = hasOptionalParameters || nameIsFollowedByOptionalIndicator;


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --So, this issue is here for a long time in vscode, i've just noticed another issue with it. Basically, vsCode shows incorrect icons, see on the screensot: ! You see that it shows react icon for babel js and simple js icon for react js. I actually know that it may be better to use .jsx files for react project, but is there any way to fix this? and also Is there a way to automaticaly recognize whether the file is for react or simple javascript(by detecting import/require export/module.exports statements or smth else)?? This is the main question for the issue. <!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.48.1(Latest) OS Version: Windows 10 2004 Steps to Reproduce: on the language selector in right bottom corner. in Javascript. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes, and it also shows more incorrect variant. !
Maybe it is the issue with the icon pack extensions that I use, so if needed i'll provide my extensions list.
I don't see this in 1.48.1 ! Can you try without custom extensions? (close all windows and run code --disable-extensions`)
i've already mentioned in my post that i tried without extensions and provided a screenshot. It shows react icon for both js and react js. UPDATE: to be honest, I've just tried again with all windows closed and nothing changed. same result
I think you have the following setting configured. Is that correct?
Yep, you are right. Should i remove that setting entirely or change it? Also the main question was: can VSCode automatically detect whether js file is for react or vanilla js? UPDATE: I removed that setting and now it shows js icon for reactjs ! However, if I select react js the file icon becomes correct) !
It's a bug in the language selection dialog. For getting the langauge icon, we use the icon of the first file extension. In your case that file extension has be reassigned to a different language. I create a PR.
Great, good luck and notify me if some actions from my side will be needed)
I pushed a fix. You can already try it out in our insiders build or in the next stable release.
I am not sure this is fixed, what are the steps? I configured my settings as outlined. I see this: !
The screenshot looks correct. In the language selector, the entry has the correct JS icon. Verification steps: Seti theme add to settings:open a js file, verify it has the react icon open the language mode quick pick, filter for verify that JavaScript shows the JS icon and the JavaScript React the react icon
great, i'll check it in nearest stable update)
Ok, but the main reason I started this issue is if vscode can automatically detect reactjs files and set the propper icon. So please, tell me if I need to start a new issue or if there is a solution for this "problem"
Yes, a new issue is needed. That said, it's a difficult request as language detection has to be very efficient as there can be hundreds of files visible in a view. Analyzing the content and even parsing it or resolving imports would be very expensive. Fee free to file the issue anyways, but I don't think we can do it.

return classes; } <ins> export function getIconClassesForModeId(modeId: string): string[] { return ['file-icon', `${cssEscape(modeId)}-lang-file-icon`]; } </ins> export function detectModeId(modelService: IModelService, modeService: IModeService, resource: uri): string | null { if (!resource) { return null; // we need a resource at least


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --So, this issue is here for a long time in vscode, i've just noticed another issue with it. Basically, vsCode shows incorrect icons, see on the screensot: ! You see that it shows react icon for babel js and simple js icon for react js. I actually know that it may be better to use .jsx files for react project, but is there any way to fix this? and also Is there a way to automaticaly recognize whether the file is for react or simple javascript(by detecting import/require export/module.exports statements or smth else)?? This is the main question for the issue. <!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.48.1(Latest) OS Version: Windows 10 2004 Steps to Reproduce: on the language selector in right bottom corner. in Javascript. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes, and it also shows more incorrect variant. !
Maybe it is the issue with the icon pack extensions that I use, so if needed i'll provide my extensions list.
I don't see this in 1.48.1 ! Can you try without custom extensions? (close all windows and run code --disable-extensions`)
i've already mentioned in my post that i tried without extensions and provided a screenshot. It shows react icon for both js and react js. UPDATE: to be honest, I've just tried again with all windows closed and nothing changed. same result
I think you have the following setting configured. Is that correct?
Yep, you are right. Should i remove that setting entirely or change it? Also the main question was: can VSCode automatically detect whether js file is for react or vanilla js? UPDATE: I removed that setting and now it shows js icon for reactjs ! However, if I select react js the file icon becomes correct) !
It's a bug in the language selection dialog. For getting the langauge icon, we use the icon of the first file extension. In your case that file extension has be reassigned to a different language. I create a PR.
Great, good luck and notify me if some actions from my side will be needed)
I pushed a fix. You can already try it out in our insiders build or in the next stable release.
I am not sure this is fixed, what are the steps? I configured my settings as outlined. I see this: !
The screenshot looks correct. In the language selector, the entry has the correct JS icon. Verification steps: Seti theme add to settings:open a js file, verify it has the react icon open the language mode quick pick, filter for verify that JavaScript shows the JS icon and the JavaScript React the react icon
great, i'll check it in nearest stable update)
Ok, but the main reason I started this issue is if vscode can automatically detect reactjs files and set the propper icon. So please, tell me if I need to start a new issue or if there is a solution for this "problem"
Yes, a new issue is needed. That said, it's a difficult request as language detection has to be very efficient as there can be hundreds of files visible in a view. Analyzing the content and even parsing it or resolving imports would be very expensive. Fee free to file the issue anyways, but I don't think we can do it.

import { IFileService, FILES_ASSOCIATIONS_CONFIG } from 'vs/platform/files/common/files'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IModeService, ILanguageSelection } from 'vs/editor/common/services/modeService'; <del> import { IModelService } from 'vs/editor/common/services/modelService'; </del> import { Range } from 'vs/editor/common/core/range'; import { Selection } from 'vs/editor/common/core/selection'; import { TabFocus } from 'vs/editor/common/config/commonEditorConfig';


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --So, this issue is here for a long time in vscode, i've just noticed another issue with it. Basically, vsCode shows incorrect icons, see on the screensot: ! You see that it shows react icon for babel js and simple js icon for react js. I actually know that it may be better to use .jsx files for react project, but is there any way to fix this? and also Is there a way to automaticaly recognize whether the file is for react or simple javascript(by detecting import/require export/module.exports statements or smth else)?? This is the main question for the issue. <!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.48.1(Latest) OS Version: Windows 10 2004 Steps to Reproduce: on the language selector in right bottom corner. in Javascript. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes, and it also shows more incorrect variant. !
Maybe it is the issue with the icon pack extensions that I use, so if needed i'll provide my extensions list.
I don't see this in 1.48.1 ! Can you try without custom extensions? (close all windows and run code --disable-extensions`)
i've already mentioned in my post that i tried without extensions and provided a screenshot. It shows react icon for both js and react js. UPDATE: to be honest, I've just tried again with all windows closed and nothing changed. same result
I think you have the following setting configured. Is that correct?
Yep, you are right. Should i remove that setting entirely or change it? Also the main question was: can VSCode automatically detect whether js file is for react or vanilla js? UPDATE: I removed that setting and now it shows js icon for reactjs ! However, if I select react js the file icon becomes correct) !
It's a bug in the language selection dialog. For getting the langauge icon, we use the icon of the first file extension. In your case that file extension has be reassigned to a different language. I create a PR.
Great, good luck and notify me if some actions from my side will be needed)
I pushed a fix. You can already try it out in our insiders build or in the next stable release.
I am not sure this is fixed, what are the steps? I configured my settings as outlined. I see this: !
The screenshot looks correct. In the language selector, the entry has the correct JS icon. Verification steps: Seti theme add to settings:open a js file, verify it has the react icon open the language mode quick pick, filter for verify that JavaScript shows the JS icon and the JavaScript React the react icon
great, i'll check it in nearest stable update)
Ok, but the main reason I started this issue is if vscode can automatically detect reactjs files and set the propper icon. So please, tell me if I need to start a new issue or if there is a solution for this "problem"
Yes, a new issue is needed. That said, it's a difficult request as language detection has to be very efficient as there can be hundreds of files visible in a view. Analyzing the content and even parsing it or resolving imports would be very expensive. Fee free to file the issue anyways, but I don't think we can do it.

import { Schemas } from 'vs/base/common/network'; import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences'; import { IQuickInputService, IQuickPickItem, QuickPickInput } from 'vs/platform/quickinput/common/quickInput'; <del> import { getIconClasses } from 'vs/editor/common/services/getIconClasses'; </del> <ins> import { getIconClassesForModeId } from 'vs/editor/common/services/getIconClasses'; </ins> import { timeout } from 'vs/base/common/async'; import { INotificationHandle, INotificationService, Severity } from 'vs/platform/notification/common/notification'; import { Event } from 'vs/base/common/event';


Question:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --So, this issue is here for a long time in vscode, i've just noticed another issue with it. Basically, vsCode shows incorrect icons, see on the screensot: ! You see that it shows react icon for babel js and simple js icon for react js. I actually know that it may be better to use .jsx files for react project, but is there any way to fix this? and also Is there a way to automaticaly recognize whether the file is for react or simple javascript(by detecting import/require export/module.exports statements or smth else)?? This is the main question for the issue. <!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.48.1(Latest) OS Version: Windows 10 2004 Steps to Reproduce: on the language selector in right bottom corner. in Javascript. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes, and it also shows more incorrect variant. !
Maybe it is the issue with the icon pack extensions that I use, so if needed i'll provide my extensions list.
I don't see this in 1.48.1 ! Can you try without custom extensions? (close all windows and run code --disable-extensions`)
i've already mentioned in my post that i tried without extensions and provided a screenshot. It shows react icon for both js and react js. UPDATE: to be honest, I've just tried again with all windows closed and nothing changed. same result
I think you have the following setting configured. Is that correct?
Yep, you are right. Should i remove that setting entirely or change it? Also the main question was: can VSCode automatically detect whether js file is for react or vanilla js? UPDATE: I removed that setting and now it shows js icon for reactjs ! However, if I select react js the file icon becomes correct) !
It's a bug in the language selection dialog. For getting the langauge icon, we use the icon of the first file extension. In your case that file extension has be reassigned to a different language. I create a PR.
Great, good luck and notify me if some actions from my side will be needed)
I pushed a fix. You can already try it out in our insiders build or in the next stable release.
I am not sure this is fixed, what are the steps? I configured my settings as outlined. I see this: !
The screenshot looks correct. In the language selector, the entry has the correct JS icon. Verification steps: Seti theme add to settings:open a js file, verify it has the react icon open the language mode quick pick, filter for verify that JavaScript shows the JS icon and the JavaScript React the react icon
great, i'll check it in nearest stable update)
Ok, but the main reason I started this issue is if vscode can automatically detect reactjs files and set the propper icon. So please, tell me if I need to start a new issue or if there is a solution for this "problem"
Yes, a new issue is needed. That said, it's a difficult request as language detection has to be very efficient as there can be hundreds of files visible in a view. Analyzing the content and even parsing it or resolving imports would be very expensive. Fee free to file the issue anyways, but I don't think we can do it.

actionId: string, actionLabel: string, @IModeService private readonly modeService: IModeService, <del> @IModelService private readonly modelService: IModelService, </del> @IEditorService private readonly editorService: IEditorService, @IConfigurationService private readonly configurationService: IConfigurationService, @IQuickInputService private readonly quickInputService: IQuickInputService,