Question:
Issue Type: <bBug</bHi. I am assigning trade.occId = occId; i.e. to a property (in this case it contains 4 spaces. In the JavaScript hover view however, the property on 'trade' reads (only one space) [btw, I copied both these values right out of the IDE view]. I've just been chasing ghosts for some time because of this discrepancy and not expecting the IDE altering assigned values when viewing objects. Update ---Alright, sorry. I am not sure how to submit the first value on GitHub with the 4 spaces between GS and 1 preserved, even when using 'code' quotes (same as the VSC issue...). So the first value is "GD....190517P00155000" when replacing spaces with dots... Thanks for VS Code otherwise :-) VS Code version: Code 1.33.1 (, 2019-04-11T08:27:14.102Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ vscode-scss0.6.2 debugger-for-chrome4.11.3 vscode-scss-formatter1.4.1 vscodeintellicode1.1.5 </details<!-- generated by issue reporter --
Can you please provide a screenshot of what you see? Also try disabling all extensions. I am not sure if such an hover is provided by out of the box typescript/javascript extension.
Hi. Please see below. I disabled all extensions besides Debugger for Chrome, which I need to set a break-point to be able to inspect values. The issue is in most obvious in the field 'occId', which in fact has 4 spaces after 'GD' and not just one as displayed. Thanks for following up. [image: ] !
Ah I see.. its an hover while debugging.
You did not attach an image. So please attach an image and some reproducable steps so we can investigate more. Thanks
It did, (please check below the quote). Anyway, your question made me come up with a better/simpler example that should make things clear. Here you go: ! Btw, Gruetzi to all you guys in Zuerich. I'm originally from Basel :)
Thanks for the image. Cheers back to Basel :)
VSCode insiders will have the fix for this on monday. Try it out and let us know if it is ok for you. Though I verified and the fix from looks good
Thanks for the work and update. Unfortunately I can't switch from VSCode stable, so I'll take your word for it until this hits release :-)

max-height: 500px; } <del> .monaco-editor .debug-hover-widget .monaco-tl-contents .value { white-space: nowrap; } </del> .monaco-editor .debug-hover-widget .error { color: #E51400; }


Question:
Issue Type: <bBug</bHi. I am assigning trade.occId = occId; i.e. to a property (in this case it contains 4 spaces. In the JavaScript hover view however, the property on 'trade' reads (only one space) [btw, I copied both these values right out of the IDE view]. I've just been chasing ghosts for some time because of this discrepancy and not expecting the IDE altering assigned values when viewing objects. Update ---Alright, sorry. I am not sure how to submit the first value on GitHub with the 4 spaces between GS and 1 preserved, even when using 'code' quotes (same as the VSC issue...). So the first value is "GD....190517P00155000" when replacing spaces with dots... Thanks for VS Code otherwise :-) VS Code version: Code 1.33.1 (, 2019-04-11T08:27:14.102Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ vscode-scss0.6.2 debugger-for-chrome4.11.3 vscode-scss-formatter1.4.1 vscodeintellicode1.1.5 </details<!-- generated by issue reporter --
Can you please provide a screenshot of what you see? Also try disabling all extensions. I am not sure if such an hover is provided by out of the box typescript/javascript extension.
Hi. Please see below. I disabled all extensions besides Debugger for Chrome, which I need to set a break-point to be able to inspect values. The issue is in most obvious in the field 'occId', which in fact has 4 spaces after 'GD' and not just one as displayed. Thanks for following up. [image: ] !
Ah I see.. its an hover while debugging.
You did not attach an image. So please attach an image and some reproducable steps so we can investigate more. Thanks
It did, (please check below the quote). Anyway, your question made me come up with a better/simpler example that should make things clear. Here you go: ! Btw, Gruetzi to all you guys in Zuerich. I'm originally from Basel :)
Thanks for the image. Cheers back to Basel :)
VSCode insiders will have the fix for this on monday. Try it out and let us know if it is ok for you. Though I verified and the fix from looks good
Thanks for the work and update. Unfortunately I can't switch from VSCode stable, so I'll take your word for it until this hits release :-)

opacity: 0.35; } <del> .monaco-workbench .debug-viewlet .monaco-list-row .expression { white-space: pre; } </del> .debug-viewlet .debug-call-stack .error { font-style: italic; text-overflow: ellipsis;


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

settings: ['terminal.*'] }, { <ins> id: 'features/tasks', label: localize('tasks', "Tasks"), settings: ['tasks.*'] }, { </ins> id: 'features/problems', label: localize('problems', "Problems"), settings: ['problems.*']


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

this.modelService, this.configurationResolverService, this.telemetryService, this.contextService, this._environmentService, TaskService.OutputChannelId, <ins> this.configurationService, </ins> (workspaceFolder: IWorkspaceFolder) => { if (!workspaceFolder) { return undefined;


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

import schemaVersion1 from '../common/jsonSchema_v1'; import schemaVersion2, { updateProblemMatchers } from '../common/jsonSchema_v2'; <ins> import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry'; </ins> schema.definitions = { ...schemaVersion1.definitions, ...schemaVersion2.definitions,


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

updateProblemMatchers(); jsonRegistry.notifySchemaChanged(schemaId); }); <ins> const configurationRegistry = Registry.as<IConfigurationRegistry>(Extensions.Configuration); configurationRegistry.registerConfiguration({ id: 'Tasks', order: 100, title: nls.localize('tasksConfigurationTitle', "Tasks"), type: 'object', properties: { 'tasks.terminal.windowsAllowConpty': { markdownDescription: nls.localize('tasks.terminal.windowsAllowConpty', "Works in conjunction with the `#terminal.integrated.windowsEnableConpty#` setting. Both must be enabled for tasks to use conpty. Defaults to `false`."), type: 'boolean', default: false } } }); </ins>


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

import { Schemas } from 'vs/base/common/network'; import { getWindowsBuildNumber } from 'vs/workbench/contrib/terminal/node/terminal'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; <ins> import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; </ins> interface TerminalData { terminal: ITerminalInstance;


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

private contextService: IWorkspaceContextService, private environmentService: IWorkbenchEnvironmentService, private outputChannelId: string, <del> taskSystemInfoResolver: TaskSystemInfoResovler </del> <ins> private readonly configurationService: IConfigurationService, taskSystemInfoResolver: TaskSystemInfoResovler, </ins> ) { this.activeTasks = Object.create(null);


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

if (options.env) { shellLaunchConfig.env = options.env; } <ins> // Conpty doesn't do linefeeds in an expected way. Force winpty unless the user has requested otherwise. shellLaunchConfig.forceWinpty = !this.configurationService.getValue('tasks.terminal.windowsAllowConpty'); </ins> return shellLaunchConfig; }


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

const env = terminalEnvironment.createTerminalEnvironment(shellLaunchConfig, lastActiveWorkspace, envFromConfigValue, this._configurationResolverService, isWorkspaceShellAllowed, this._productService.version, this._configHelper.config.setLocaleVariables); this._logService.debug(`Terminal process launching`, shellLaunchConfig, initialCwd, cols, rows, env); <del> return this._terminalInstanceService.createTerminalProcess(shellLaunchConfig, initialCwd, cols, rows, env, this._configHelper.config.windowsEnableConpty); </del> <ins> const useConpty = (shellLaunchConfig.forceWinpty !== true) && this._configHelper.config.windowsEnableConpty; return this._terminalInstanceService.createTerminalProcess(shellLaunchConfig, initialCwd, cols, rows, env, useConpty); </ins> } public setDimensions(cols: number, rows: number): void {


Question:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue

* provided as nothing will be inherited from the process or any configuration. */ strictEnv?: boolean; <ins> /** * Moving forward, conpty will be the default. However, there are cases where conpty is not ready * to be the default. This property will force winpty to be used, even when conpty would normally be used. */ forceWinpty?: boolean; </ins> } export interface ITerminalService {


Question: Steps: right click into explorer root node you see native and custom menu ! Looks like the new tree is not preventing default and bubbling of event like the old tree did?

import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle'; import { Event, Emitter } from 'vs/base/common/event'; <del> import { EventType, addDisposableListener, addClass, removeClass, isAncestor, getClientArea, position, size } from 'vs/base/browser/dom'; </del> <ins> import { EventType, addDisposableListener, addClass, removeClass, isAncestor, getClientArea, position, size, EventHelper } from 'vs/base/browser/dom'; </ins> import { onDidChangeFullscreen, isFullscreen, getZoomFactor } from 'vs/base/browser/browser'; import { IBackupFileService } from 'vs/workbench/services/backup/common/backup'; import { Registry } from 'vs/platform/registry/common/platform'; <del> import { isWindows, isLinux, isMacintosh } from 'vs/base/common/platform'; </del> <ins> import { isWindows, isLinux, isMacintosh, isWeb } from 'vs/base/common/platform'; </ins> import { pathsToEditors } from 'vs/workbench/common/editor'; import { SidebarPart } from 'vs/workbench/browser/parts/sidebar/sidebarPart'; import { PanelPart } from 'vs/workbench/browser/parts/panel/panelPart';


Question: Steps: right click into explorer root node you see native and custom menu ! Looks like the new tree is not preventing default and bubbling of event like the old tree did?

// Prevent workbench from scrolling #55456 this._register(addDisposableListener(this.container, EventType.SCROLL, () => this.container.scrollTop = 0)); <ins> // Prevent native context menus in web #73781 if (isWeb) { this._register(addDisposableListener(this.container, EventType.CONTEXT_MENU, (e) => EventHelper.stop(e, true))); } </ins> // Menubar visibility changes if ((isWindows || isLinux) && getTitleBarStyle(this.configurationService, this.environmentService) === 'custom') { this._register(this.titleService.onMenubarVisibilityChange(visible => this.onMenubarToggled(visible)));


Question:
Issue Type: <bBug</bWe are developing an extension that implements a source control provider. It successfully adds s to its section. However the standard themes display the group captions in UPPERCASE by styling them with For our use case it's important to show the group captions in their actual case. AFAIK there isn't a way for our extension to make that happen. VS Code version: Code 1.34.0 (, 2019-05-15T21:59:37.030Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
Yeah... let's then change the casing style and just uppercase them on the Git extension directly.
, Removing the styling , is that it or I should add it somewhere ? Because you said
Yeah we want to keep the git extension section as , etc.
, Could not find the exact detail of what to remove. Removing the style will remove it in all places , so that is not correct. I dont understand what group captions actually mean ( CC : , if you could help ) I found there are these ResourceGroup () for which the style is applied. Please help me out with this on the correct approach.
I think proposes that you do remove that style, but that you also change the code to explicitly uppercase the localized captions of the the three items being created there. With those changes Git users won't see any change of behaviour, but other SCM extensions can set mixed-case captions and have them display to the end user.
, Sorry got confused with the group captions , Sent a PR to fix this !
I'd love to see your PR get merged, but for some reason I don't understand it apparently failed in the Windows part of Azure Pipelines. can you help get this moving?
The windows build error might be some random errors , Happened in one more PR ( ) I guess that is not an issue and should confirm that.
Is there some way you can resubmit your PR to the build pipeline? Maybe it will pass the second time. Or if it doesn't perhaps there will be more info in the log.

this._sourceControl.inputBox.validateInput = this.validateInput.bind(this); this.disposables.push(this._sourceControl); <del> this._mergeGroup = this._sourceControl.createResourceGroup('merge', localize('merge changes', "Merge Changes")); this._indexGroup = this._sourceControl.createResourceGroup('index', localize('staged changes', "Staged Changes")); this._workingTreeGroup = this._sourceControl.createResourceGroup('workingTree', localize('changes', "Changes")); </del> <ins> this._mergeGroup = this._sourceControl.createResourceGroup('merge', localize('merge changes', "MERGE CHANGES")); this._indexGroup = this._sourceControl.createResourceGroup('index', localize('staged changes', "STAGED CHANGES")); this._workingTreeGroup = this._sourceControl.createResourceGroup('workingTree', localize('changes', "CHANGES")); </ins> const updateIndexGroupVisibility = () => { const config = workspace.getConfiguration('git', root);


Question:
Issue Type: <bBug</bWe are developing an extension that implements a source control provider. It successfully adds s to its section. However the standard themes display the group captions in UPPERCASE by styling them with For our use case it's important to show the group captions in their actual case. AFAIK there isn't a way for our extension to make that happen. VS Code version: Code 1.34.0 (, 2019-05-15T21:59:37.030Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
Yeah... let's then change the casing style and just uppercase them on the Git extension directly.
, Removing the styling , is that it or I should add it somewhere ? Because you said
Yeah we want to keep the git extension section as , etc.
, Could not find the exact detail of what to remove. Removing the style will remove it in all places , so that is not correct. I dont understand what group captions actually mean ( CC : , if you could help ) I found there are these ResourceGroup () for which the style is applied. Please help me out with this on the correct approach.
I think proposes that you do remove that style, but that you also change the code to explicitly uppercase the localized captions of the the three items being created there. With those changes Git users won't see any change of behaviour, but other SCM extensions can set mixed-case captions and have them display to the end user.
, Sorry got confused with the group captions , Sent a PR to fix this !
I'd love to see your PR get merged, but for some reason I don't understand it apparently failed in the Windows part of Azure Pipelines. can you help get this moving?
The windows build error might be some random errors , Happened in one more PR ( ) I guess that is not an issue and should confirm that.
Is there some way you can resubmit your PR to the build pipeline? Maybe it will pass the second time. Or if it doesn't perhaps there will be more info in the log.

flex: 1; font-size: 11px; font-weight: bold; <del> text-transform: uppercase; </del> overflow: hidden; text-overflow: ellipsis; }


Question:
VSCode Version: 1.35.0 OS Version: Windows 10 Steps to Reproduce: With 64-bit VS Code installed, run run VSCodeSetup-ia32- with /SUPPRESSMSGBOXES /VERYSILENT You'll get a dialog that says "please uninstall the 64-version before attempting to install the 32-bit version.”
Hello. I can take this issue if you want, I have reproduced and identified the bug. I will open a PR when ready :+1:
Verification: 32 bit to install 64 bit, msg box should come up to install 64 bit from the command line with /VERYSILENT, msg box should not come up
or still displays the message box.
It appears that latest insider release was built using this commit: Commit fixing this is was hours later: Is it possible that insiders version doesn't include the fix yet ?
Oh yes. Normally I catch myself on this, but It's still early in the morning I guess. Thank you for pointing that out , I'll test it once insiders contains the fix.

AltArch := '32'; end; <del> if not Result then begin </del> <ins> if not Result and not WizardSilent() then begin </ins> MsgBox('Please uninstall the ' + AltArch + '-bit version of {#NameShort} before installing this ' + ThisArch + '-bit version.', mbInformation, MB_OK); end; end;


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

mapping['method'] = 'showMethods'; mapping['function'] = 'showFunctions'; mapping['constructor'] = 'showConstructors'; <ins> mapping['deprecated'] = 'showDeprecated'; </ins> mapping['field'] = 'showFields'; mapping['variable'] = 'showVariables'; mapping['class'] = 'showClasses';


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

default: true, markdownDescription: nls.localize('editor.suggest.showConstructors', "When enabled IntelliSense shows `constructor`-suggestions.") }, <ins> 'editor.suggest.showDeprecated': { type: 'boolean', default: true, markdownDescription: nls.localize('editor.suggest.showDeprecated', "When enabled IntelliSense shows `deprecated`-suggestions.") }, </ins> 'editor.suggest.showFields': { type: 'boolean', default: true,


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

showMethods: boolean(input.showMethods, this.defaultValue.showMethods), showFunctions: boolean(input.showFunctions, this.defaultValue.showFunctions), showConstructors: boolean(input.showConstructors, this.defaultValue.showConstructors), <ins> showDeprecated: boolean(input.showDeprecated, this.defaultValue.showDeprecated), </ins> showFields: boolean(input.showFields, this.defaultValue.showFields), showVariables: boolean(input.showVariables, this.defaultValue.showVariables), showClasses: boolean(input.showClasses, this.defaultValue.showClasses),


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

readonly snippetSortOrder = SnippetSortOrder.Bottom, readonly kindFilter = new Set<modes.CompletionItemKind>(), readonly providerFilter = new Set<modes.CompletionItemProvider>(), <ins> readonly showDeprecated = true </ins> ) { } }


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

} for (let suggestion of container.suggestions) { if (!options.kindFilter.has(suggestion.kind)) { <ins> // skip if not showing deprecated suggestions if (!options.showDeprecated && suggestion?.tags?.includes(modes.CompletionItemTag.Deprecated)) { continue; } </ins> // fill in default range when missing if (!suggestion.range) { suggestion.range = defaultRange;


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

break; } <del> const itemKindFilter = SuggestModel._createItemKindFilter(this._editor); </del> <ins> const { itemKind: itemKindFilter, showDeprecated } = SuggestModel._createSuggestFilter(this._editor); </ins> const wordDistance = WordDistance.create(this._editorWorkerService, this._editor); const completions = provideSuggestionItems( model, this._editor.getPosition(), <del> new CompletionOptions(snippetSortOrder, itemKindFilter, onlyFrom), </del> <ins> new CompletionOptions(snippetSortOrder, itemKindFilter, onlyFrom, showDeprecated), </ins> suggestCtx, this._requestToken.token );


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

}); } <del> private static _createItemKindFilter(editor: ICodeEditor): Set<CompletionItemKind> { </del> <ins> private static _createSuggestFilter(editor: ICodeEditor): { itemKind: Set<CompletionItemKind>; showDeprecated: boolean } { </ins> // kind filter and snippet sort rules const result = new Set<CompletionItemKind>();


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

if (!suggestOptions.showUsers) { result.add(CompletionItemKind.User); } if (!suggestOptions.showIssues) { result.add(CompletionItemKind.Issue); } <del> return result; </del> <ins> return { itemKind: result, showDeprecated: suggestOptions.showDeprecated }; </ins> } private _onNewContext(ctx: LineContext): void {


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

showMethods: true, showFunctions: true, showConstructors: true, <ins> showDeprecated: true, </ins> showFields: true, showVariables: true, showClasses: true,


Question:
I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense

*/ showConstructors?: boolean; /** <ins> * Show deprecated-suggestions. */ showDeprecated?: boolean; /** </ins> * Show field-suggestions. */ showFields?: boolean;


Question:
Steps to Reproduce: a couple of branches on the branch picker =:bug: the branches are no longer sorted by commit date This works fine in stable, so seems like a regression. INSIDERS ! STABLE ! (my git version is )
Stable: Insiders: Yup, there's a missing.

const args = ['for-each-ref', '--format', '%(refname) %(objectname)']; if (opts && opts.sort && opts.sort !== 'alphabetically') { <del> args.push('--sort', opts.sort); </del> <ins> args.push('--sort', `-${opts.sort}`); </ins> } const result = await this.run(args);


Question:
Problem: A popup opens, displaying: "The 'Remote - WSL' extension is recommended for opening a terminal in WSL." It has a 'Dont Show Again' and an 'Install' option. Clicking Don't Show Again has no effect. Expected Behaviour: Once I click Don't Show Again, this popup doesn't appear every single time I open the WSL terminal in VS Code. VSCode Version: 1.38.1 (user setup) OS Version: Windows_NT x64 10.0. Steps to Reproduce: WSL Ubuntu installed on Windows. the WSL integrated terminal on VS Code. Does this issue occur when all extensions are disabled?: No.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.614 --- <!-- score: 0.559 --- <!-- score: 0.549 --- <!-- score: 0.54 --- <!-- score: 0.52 --<!-- potentialduplicatescomment --
I wanna take a shot at this!
Does this happen on different workspaces or on the same workspace? Edit: I have checked and this only happens when you open different workspaces (Different project folders with VSCode) I personally think that this should not be the case and should be global so I will make a pull request for it.
Sorry for the late reply. I see you've already pushed a fix for this, so thanks a lot :)
Should I close the issue now?

], { sticky: true, <del> neverShowAgain: { id: 'terminalConfigHelper/launchRecommendationsIgnore', scope: NeverShowAgainScope.WORKSPACE }, </del> <ins> neverShowAgain: { id: 'terminalConfigHelper/launchRecommendationsIgnore', scope: NeverShowAgainScope.GLOBAL }, </ins> onCancel: () => { /* __GDPR__ "terminalLaunchRecommendation:popup" : {


Question:
Steps to Reproduce: web in Safari on compact menu = it moves !
I diagnosed this and see 2 issues: the menu items are not removed from the DOM when menu is not showing () you seem to be using instead of to hide the menu items, is there any particular reason? using the issue is not as bad anymore (I only see one initial jump) I suggest we use / (our helper), but I am not sure if you rely on the behavior of visibility?
I mentioned the reasoning in the linked issue, but in the compact case we can remove them from the DOM safely so patching that should help here.

outline: 0; } <ins> .menubar.compact { flex-shrink: 0; } </ins> .menubar.compact > .menubar-menu-button { width: 100%; height: 100%;


Question:
Steps to Reproduce: web in Safari on compact menu = it moves !
I diagnosed this and see 2 issues: the menu items are not removed from the DOM when menu is not showing () you seem to be using instead of to hide the menu items, is there any particular reason? using the issue is not as bad anymore (I only see one initial jump) I suggest we use / (our helper), but I am not sure if you rely on the behavior of visibility?
I mentioned the reasoning in the linked issue, but in the compact case we can remove them from the DOM safely so patching that should help here.

} .menubar.compact .toolbar-toggle-more { <ins> position: absolute; left: 0px; top: 0px; </ins> background-position: center; background-repeat: no-repeat; background-size: 16px; cursor: pointer; width: 100%; <del> height: 100%; </del> } .menubar .toolbar-toggle-more {


Question:
Steps to Reproduce: web in Safari on compact menu = it moves !
I diagnosed this and see 2 issues: the menu items are not removed from the DOM when menu is not showing () you seem to be using instead of to hide the menu items, is there any particular reason? using the issue is not as bad anymore (I only see one initial jump) I suggest we use / (our helper), but I am not sure if you rely on the behavior of visibility?
I mentioned the reasoning in the linked issue, but in the compact case we can remove them from the DOM safely so patching that should help here.

if (this.globalActivityActionBar) { availableHeight -= (this.globalActivityActionBar.viewItems.length * ActivitybarPart.ACTION_HEIGHT); // adjust height for global actions showing } <ins> if (this.menubar) { availableHeight -= this.menubar.clientHeight; } </ins> this.compositeBar.layout(new Dimension(width, availableHeight)); }


Question:
Steps to Reproduce: web in Safari on compact menu = it moves !
I diagnosed this and see 2 issues: the menu items are not removed from the DOM when menu is not showing () you seem to be using instead of to hide the menu items, is there any particular reason? using the issue is not as bad anymore (I only see one initial jump) I suggest we use / (our helper), but I am not sure if you rely on the behavior of visibility?
I mentioned the reasoning in the linked issue, but in the compact case we can remove them from the DOM safely so patching that should help here.

width: 100%; height: 35px; } <ins> .monaco-workbench .activitybar .menubar.compact .toolbar-toggle-more { width: 100%; height: 35px; } </ins>


Question:
Issue Type: <bBug</ba repo with a large amount of changed files in one folder and use the tree view <kbd+</kbdnext to the folder to stage the changes or <kbd-</kbdto unstage them. : ! This was supposedly fixed in for the discard command but either the other commands or the tree view was forgotten as a potential source of problems. Clicking the button next to "changes" works fine: ! VS Code version: Code 1.40.0 (, 2019-11-06T17:02:13.381Z) OS version: WindowsNT x64 6.1.7601 <details<summarySystem Info</summary </details<details<summaryExtensions (16)</summaryExtensionVersion ------ vscode-eslint1.9.1 gitlens10.1.2 toggle-excluded-files1.7.0 EditorConfig0.14.2 RunOnSave0.2.0 prettier-vscode3.3.5 vscode-test-explorer2.14.6 rest-client0.22.2 vscode-docker0.8.2 vscode-language-pack-de1.40.2 vscode-jest3.0.2 project-snippets0.5.0 java0.52.0 vscode-coverage-gutters2.4.2 vscode-icons9.5.0 vscode-todo-highlight1.0.4 </details<!-- generated by issue reporter --
Yup, the same fix as needs to be applied to the stage action.
+1 Same issue here in the latest vs code and latest git Windows 10 home: v10.0. VS Code: 1.44.2 Git version: 2.26.2.windows.1

args.push('--'); if (paths && paths.length) { <del> args.push.apply(args, paths.map(sanitizePath)); </del> <ins> for (const chunk of splitInChunks(paths, MAX_CLI_LENGTH)) { await this.run([...args, ...chunk]); } </ins> } else { args.push('.'); <ins> await this.run(args); </ins> } <del> await this.run(args); </del> } async rm(paths: string[]): Promise<void> {


Question:
Issue Type: <bBug</ba repo with a large amount of changed files in one folder and use the tree view <kbd+</kbdnext to the folder to stage the changes or <kbd-</kbdto unstage them. : ! This was supposedly fixed in for the discard command but either the other commands or the tree view was forgotten as a potential source of problems. Clicking the button next to "changes" works fine: ! VS Code version: Code 1.40.0 (, 2019-11-06T17:02:13.381Z) OS version: WindowsNT x64 6.1.7601 <details<summarySystem Info</summary </details<details<summaryExtensions (16)</summaryExtensionVersion ------ vscode-eslint1.9.1 gitlens10.1.2 toggle-excluded-files1.7.0 EditorConfig0.14.2 RunOnSave0.2.0 prettier-vscode3.3.5 vscode-test-explorer2.14.6 rest-client0.22.2 vscode-docker0.8.2 vscode-language-pack-de1.40.2 vscode-jest3.0.2 project-snippets0.5.0 java0.52.0 vscode-coverage-gutters2.4.2 vscode-icons9.5.0 vscode-todo-highlight1.0.4 </details<!-- generated by issue reporter --
Yup, the same fix as needs to be applied to the stage action.
+1 Same issue here in the latest vs code and latest git Windows 10 home: v10.0. VS Code: 1.44.2 Git version: 2.26.2.windows.1

args = ['reset', '-q', treeish, '--']; } <del> if (paths && paths.length) { args.push.apply(args, paths.map(sanitizePath)); } else { args.push('.'); } </del> try { <del> await this.run(args); </del> <ins> if (paths && paths.length > 0) { for (const chunk of splitInChunks(paths, MAX_CLI_LENGTH)) { await this.run([...args, ...chunk]); } } else { args.push('.'); await this.run(args); } </ins> } catch (err) { // In case there are merge conflicts to be resolved, git reset will output // some "needs merge" data. We try to get around that.


Question:
I use VSCode in three different places; my home computer, my work computer, and as a portable version I carry on a drive when I need to use a machine that doesn't have it. I use an extension to keep my settings synced up between editors, and the only issue I've encountered so far is that the git path doesn't match between any of them. On my home machine I have it installed to C of course, work likes to be funny and install it on A, and for the one on my drive I have a relative path set so that no matter what letter my drive gets, that VSCode can always find git. I already attempted to use an array myself just to see if it'd work: But VSCode reads it as one entire value. What I'd like is for it to recognize it as an array and then try each path in order until it finds Git or runs out of paths.
It is better to create an issue in extension repo with requesting the settings ignore feature.
Hy
This is a good feature request, please feel free to submit a PR.
Ah, thanks. I must have just seen the section title and completely glossed over it when I was reading through the docs.
I could help out with this feature-request, if you would like. At a glance, it looks like it would require a modification to the "createModel()" function in the "" file (line 34). We could get the "pathHint" as a string array and then possibly modify the logic inside of the "findGit()" function, or, if possible, iterate through the "pathHint" array until a valid "" value is returned. EDIT: Sorry, didn't realize a PR was already submitted...
Raised PR!
Verification The setting now accepts a list of values. The git extension must go through them one by one until it finds a usable git executable.

"git.path": { "type": [ "string", <del> "null" </del> <ins> "null", "array" </ins> ], "markdownDescription": "%config.path%", "default": null,


Question:
I use VSCode in three different places; my home computer, my work computer, and as a portable version I carry on a drive when I need to use a machine that doesn't have it. I use an extension to keep my settings synced up between editors, and the only issue I've encountered so far is that the git path doesn't match between any of them. On my home machine I have it installed to C of course, work likes to be funny and install it on A, and for the one on my drive I have a relative path set so that no matter what letter my drive gets, that VSCode can always find git. I already attempted to use an array myself just to see if it'd work: But VSCode reads it as one entire value. What I'd like is for it to recognize it as an array and then try each path in order until it finds Git or runs out of paths.
It is better to create an issue in extension repo with requesting the settings ignore feature.
Hy
This is a good feature request, please feel free to submit a PR.
Ah, thanks. I must have just seen the section title and completely glossed over it when I was reading through the docs.
I could help out with this feature-request, if you would like. At a glance, it looks like it would require a modification to the "createModel()" function in the "" file (line 34). We could get the "pathHint" as a string array and then possibly modify the logic inside of the "findGit()" function, or, if possible, iterate through the "pathHint" array until a valid "" value is returned. EDIT: Sorry, didn't realize a PR was already submitted...
Raised PR!
Verification The setting now accepts a list of values. The git extension must go through them one by one until it finds a usable git executable.

"command.timelineCopyCommitId": "Copy Commit ID", "command.timelineCopyCommitMessage": "Copy Commit Message", "config.enabled": "Whether git is enabled.", <del> "config.path": "Path and filename of the git executable, e.g. `C:Program FilesGitbingit.exe` (Windows).", </del> <ins> "config.path": "Path and filename of the git executable, e.g. `C:Program FilesGitbingit.exe` (Windows). This can also be an array of string values containing multiple paths to look up.", </ins> "config.autoRepositoryDetection": "Configures when repositories should be automatically detected.", "config.autoRepositoryDetection.true": "Scan for both subfolders of the current opened folder and parent folders of open files.", "config.autoRepositoryDetection.false": "Disable automatic repository scanning.",


Question:
I use VSCode in three different places; my home computer, my work computer, and as a portable version I carry on a drive when I need to use a machine that doesn't have it. I use an extension to keep my settings synced up between editors, and the only issue I've encountered so far is that the git path doesn't match between any of them. On my home machine I have it installed to C of course, work likes to be funny and install it on A, and for the one on my drive I have a relative path set so that no matter what letter my drive gets, that VSCode can always find git. I already attempted to use an array myself just to see if it'd work: But VSCode reads it as one entire value. What I'd like is for it to recognize it as an array and then try each path in order until it finds Git or runs out of paths.
It is better to create an issue in extension repo with requesting the settings ignore feature.
Hy
This is a good feature request, please feel free to submit a PR.
Ah, thanks. I must have just seen the section title and completely glossed over it when I was reading through the docs.
I could help out with this feature-request, if you would like. At a glance, it looks like it would require a modification to the "createModel()" function in the "" file (line 34). We could get the "pathHint" as a string array and then possibly modify the logic inside of the "findGit()" function, or, if possible, iterate through the "pathHint" array until a valid "" value is returned. EDIT: Sorry, didn't realize a PR was already submitted...
Raised PR!
Verification The setting now accepts a list of values. The git extension must go through them one by one until it finds a usable git executable.

.then(undefined, () => findGitWin32InPath(onLookup)); } <del> export function findGit(hint: string | undefined, onLookup: (path: string) => void): Promise<IGit> { const first = hint ? findSpecificGit(hint, onLookup) : Promise.reject<IGit>(null); return first .then(undefined, () => { switch (process.platform) { case 'darwin': return findGitDarwin(onLookup); case 'win32': return findGitWin32(onLookup); default: return findSpecificGit('git', onLookup); } }) .then(null, () => Promise.reject(new Error('Git installation not found.'))); </del> <ins> export async function findGit(hint: string | string[] | undefined, onLookup: (path: string) => void): Promise<IGit> { const hints = Array.isArray(hint) ? hint : hint ? [hint] : []; for (const hint of hints) { try { return await findSpecificGit(hint, onLookup); } catch { // noop } } try { switch (process.platform) { case 'darwin': return await findGitDarwin(onLookup); case 'win32': return await findGitWin32(onLookup); default: return await findSpecificGit('git', onLookup); } } catch { // noop } throw new Error('Git installation not found.'); </ins> } export interface IExecutionResult<T extends string | Buffer> {


Question:
I use VSCode in three different places; my home computer, my work computer, and as a portable version I carry on a drive when I need to use a machine that doesn't have it. I use an extension to keep my settings synced up between editors, and the only issue I've encountered so far is that the git path doesn't match between any of them. On my home machine I have it installed to C of course, work likes to be funny and install it on A, and for the one on my drive I have a relative path set so that no matter what letter my drive gets, that VSCode can always find git. I already attempted to use an array myself just to see if it'd work: But VSCode reads it as one entire value. What I'd like is for it to recognize it as an array and then try each path in order until it finds Git or runs out of paths.
It is better to create an issue in extension repo with requesting the settings ignore feature.
Hy
This is a good feature request, please feel free to submit a PR.
Ah, thanks. I must have just seen the section title and completely glossed over it when I was reading through the docs.
I could help out with this feature-request, if you would like. At a glance, it looks like it would require a modification to the "createModel()" function in the "" file (line 34). We could get the "pathHint" as a string array and then possibly modify the logic inside of the "findGit()" function, or, if possible, iterate through the "pathHint" array until a valid "" value is returned. EDIT: Sorry, didn't realize a PR was already submitted...
Raised PR!
Verification The setting now accepts a list of values. The git extension must go through them one by one until it finds a usable git executable.

} async function createModel(context: ExtensionContext, outputChannel: OutputChannel, telemetryReporter: TelemetryReporter, disposables: Disposable[]): Promise<Model> { <del> const pathHint = workspace.getConfiguration('git').get<string>('path'); </del> <ins> const pathHint = workspace.getConfiguration('git').get<string | string[]>('path'); </ins> const info = await findGit(pathHint, path => outputChannel.appendLine(localize('looking', "Looking for git in: {0}", path))); const askpass = await Askpass.create(outputChannel, context.storagePath);


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { Snippet, SnippetSource } from 'vs/workbench/contrib/snippets/browser/snippetsFile'; <del> import { IQuickPickItem, IQuickInputService, QuickPickInput } from 'vs/platform/quickinput/common/quickInput'; </del> import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; <del> import { Codicon } from 'vs/base/common/codicons'; import { Event } from 'vs/base/common/event'; </del> <ins> import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { pickSnippet } from 'vs/workbench/contrib/snippets/browser/snippetPicker'; </ins> class Args {


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

} const clipboardService = accessor.get(IClipboardService); <del> const quickInputService = accessor.get(IQuickInputService); </del> <ins> const instaService = accessor.get(IInstantiationService); </ins> const snippet = await new Promise<Snippet | undefined>((resolve, reject) => {


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

} else { // let user pick a snippet <del> resolve(this._pickSnippet(snippetService, quickInputService, languageId)); </del> <ins> resolve(instaService.invokeFunction(pickSnippet, languageId)); </ins> } });


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

} SnippetController2.get(editor)?.insert(snippet.codeSnippet, { clipboardText }); } <del> private async _pickSnippet(snippetService: ISnippetsService, quickInputService: IQuickInputService, languageId: string): Promise<Snippet | undefined> { interface ISnippetPick extends IQuickPickItem { snippet: Snippet; } const snippets = (await snippetService.getSnippets(languageId, { includeDisabledSnippets: true, includeNoPrefixSnippets: true })).sort(Snippet.compare); const makeSnippetPicks = () => { const result: QuickPickInput<ISnippetPick>[] = []; let prevSnippet: Snippet | undefined; for (const snippet of snippets) { const pick: ISnippetPick = { label: snippet.prefix || snippet.name, detail: snippet.description, snippet }; if (!prevSnippet || prevSnippet.snippetSource !== snippet.snippetSource || prevSnippet.source !== snippet.source) { let label = ''; switch (snippet.snippetSource) { case SnippetSource.User: label = nls.localize('sep.userSnippet', "User Snippets"); break; case SnippetSource.Extension: label = snippet.source; break; case SnippetSource.Workspace: label = nls.localize('sep.workspaceSnippet', "Workspace Snippets"); break; } result.push({ type: 'separator', label }); } if (snippet.snippetSource === SnippetSource.Extension) { const isEnabled = snippetService.isEnabled(snippet); if (isEnabled) { pick.buttons = [{ iconClass: Codicon.eyeClosed.classNames, tooltip: nls.localize('disableSnippet', 'Hide from IntelliSense') }]; } else { pick.description = nls.localize('isDisabled', "(hidden from IntelliSense)"); pick.buttons = [{ iconClass: Codicon.eye.classNames, tooltip: nls.localize('enable.snippet', 'Show in IntelliSense') }]; } } result.push(pick); prevSnippet = snippet; } return result; }; const picker = quickInputService.createQuickPick<ISnippetPick>(); picker.placeholder = nls.localize('pick.placeholder', "Select a snippet"); picker.matchOnDetail = true; picker.ignoreFocusOut = false; picker.keepScrollPosition = true; picker.onDidTriggerItemButton(ctx => { const isEnabled = snippetService.isEnabled(ctx.item.snippet); snippetService.updateEnablement(ctx.item.snippet, !isEnabled); picker.items = makeSnippetPicks(); }); picker.items = makeSnippetPicks(); picker.show(); // wait for an item to be picked or the picker to become hidden await Promise.race([Event.toPromise(picker.onDidAccept), Event.toPromise(picker.onDidHide)]); const result = picker.selectedItems[0]?.snippet; picker.dispose(); return result; } </del> } registerEditorAction(InsertSnippetAction);


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as nls from 'vs/nls'; import { ISnippetsService } from 'vs/workbench/contrib/snippets/browser/snippets.contribution'; import { Snippet, SnippetSource } from 'vs/workbench/contrib/snippets/browser/snippetsFile'; import { IQuickPickItem, IQuickInputService, QuickPickInput } from 'vs/platform/quickinput/common/quickInput'; import { Codicon } from 'vs/base/common/codicons'; import { Event } from 'vs/base/common/event'; import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; export async function pickSnippet(accessor: ServicesAccessor, languageIdOrSnippets: string | Snippet[]): Promise<Snippet | undefined> { const snippetService = accessor.get(ISnippetsService); const quickInputService = accessor.get(IQuickInputService); interface ISnippetPick extends IQuickPickItem { snippet: Snippet; } let snippets: Snippet[]; if (Array.isArray(languageIdOrSnippets)) { snippets = languageIdOrSnippets; } else { snippets = (await snippetService.getSnippets(languageIdOrSnippets, { includeDisabledSnippets: true, includeNoPrefixSnippets: true })); } snippets.sort(Snippet.compare); const makeSnippetPicks = () => { const result: QuickPickInput<ISnippetPick>[] = []; let prevSnippet: Snippet | undefined; for (const snippet of snippets) { const pick: ISnippetPick = { label: snippet.prefix || snippet.name, detail: snippet.description, snippet }; if (!prevSnippet || prevSnippet.snippetSource !== snippet.snippetSource || prevSnippet.source !== snippet.source) { let label = ''; switch (snippet.snippetSource) { case SnippetSource.User: label = nls.localize('sep.userSnippet', "User Snippets"); break; case SnippetSource.Extension: label = snippet.source; break; case SnippetSource.Workspace: label = nls.localize('sep.workspaceSnippet', "Workspace Snippets"); break; } result.push({ type: 'separator', label }); } if (snippet.snippetSource === SnippetSource.Extension) { const isEnabled = snippetService.isEnabled(snippet); if (isEnabled) { pick.buttons = [{ iconClass: Codicon.eyeClosed.classNames, tooltip: nls.localize('disableSnippet', 'Hide from IntelliSense') }]; } else { pick.description = nls.localize('isDisabled', "(hidden from IntelliSense)"); pick.buttons = [{ iconClass: Codicon.eye.classNames, tooltip: nls.localize('enable.snippet', 'Show in IntelliSense') }]; } } result.push(pick); prevSnippet = snippet; } return result; }; const picker = quickInputService.createQuickPick<ISnippetPick>(); picker.placeholder = nls.localize('pick.placeholder', "Select a snippet"); picker.matchOnDetail = true; picker.ignoreFocusOut = false; picker.keepScrollPosition = true; picker.onDidTriggerItemButton(ctx => { const isEnabled = snippetService.isEnabled(ctx.item.snippet); snippetService.updateEnablement(ctx.item.snippet, !isEnabled); picker.items = makeSnippetPicks(); }); picker.items = makeSnippetPicks(); picker.show(); // wait for an item to be picked or the picker to become hidden await Promise.race([Event.toPromise(picker.onDidAccept), Event.toPromise(picker.onDidHide)]); const result = picker.selectedItems[0]?.snippet; picker.dispose(); return result; } </ins>


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

readonly codeSnippet: string; readonly isBogous: boolean; readonly needsClipboard: boolean; <ins> readonly usesSelection: boolean; </ins> constructor(body: string) { // init with defaults this.isBogous = false; this.needsClipboard = false; <ins> this.usesSelection = false; </ins> this.codeSnippet = body; // check snippet...


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

this.isBogous = true; } <del> if (marker.name === 'CLIPBOARD') { this.needsClipboard = true; </del> <ins> switch (marker.name) { case 'CLIPBOARD': this.needsClipboard = true; break; case 'SELECTION': case 'TM_SELECTED_TEXT': this.usesSelection = true; break; </ins> } } else {


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

return this._bodyInsights.value.needsClipboard; } <ins> get usesSelection(): boolean { return this._bodyInsights.value.usesSelection; } </ins> static compare(a: Snippet, b: Snippet): number { if (a.snippetSource < b.snippetSource) { return -1;


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { EditorAction2 } from 'vs/editor/browser/editorExtensions'; import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; import { SnippetController2 } from 'vs/editor/contrib/snippet/browser/snippetController2'; import { localize } from 'vs/nls'; import { registerAction2 } from 'vs/platform/actions/common/actions'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { pickSnippet } from 'vs/workbench/contrib/snippets/browser/snippetPicker'; import { ISnippetsService } from 'vs/workbench/contrib/snippets/browser/snippets.contribution'; registerAction2(class SurroundWithAction extends EditorAction2 { constructor() { super({ id: 'editor.action.surroundWithSnippet', title: { value: localize('label', 'Surround With Snippet...'), original: 'Surround With Snippet...' }, precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasNonEmptySelection), f1: true }); } async runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, ...args: any[]) { const snippetService = accessor.get(ISnippetsService); const clipboardService = accessor.get(IClipboardService); const instaService = accessor.get(IInstantiationService); if (!editor.hasModel()) { return; } const { lineNumber, column } = editor.getPosition(); editor.getModel().tokenizeIfCheap(lineNumber); const languageId = editor.getModel().getLanguageIdAtPosition(lineNumber, column); const allSnippets = await snippetService.getSnippets(languageId, { includeNoPrefixSnippets: true, includeDisabledSnippets: true }); const surroundSnippets = allSnippets.filter(snippet => snippet.usesSelection); const snippet = await instaService.invokeFunction(pickSnippet, surroundSnippets); if (!snippet) { return; } let clipboardText: string | undefined; if (snippet.needsClipboard) { clipboardText = await clipboardService.readText(); } SnippetController2.get(editor)?.insert(snippet.codeSnippet, { clipboardText }); } }); </ins>


Question:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.

import 'vs/workbench/contrib/snippets/browser/snippets.contribution'; import 'vs/workbench/contrib/snippets/browser/snippetsService'; import 'vs/workbench/contrib/snippets/browser/insertSnippet'; <ins> import 'vs/workbench/contrib/snippets/browser/surroundWithSnippet'; </ins> import 'vs/workbench/contrib/snippets/browser/configureSnippets'; import 'vs/workbench/contrib/snippets/browser/tabCompletion';


Question:
<!-- Please search existing issues to avoid creating duplicates. --I noticed in the settings-editor that there are now duplicate clear buttons when the user searches but finds no result. <!-- Describe the feature you'd like. --I propose getting rid of the "Clear Search" text in the bottom left corner as there is now a button in the search bar that achieves the same thing but with less clutter (in my opinion). This change would make the settings-editor more consistent with the keyboard shortcuts tab as well. !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.464 --<!-- potentialduplicatescomment --
Yeah we can probably just get rid of the text link
What about the "Clear Filters" link? Should there be an extra Clear Filters button that appears in the search bar itself, or let the link stay?
Would you mind sending me a picture of the "Clear Filters" link ? Where exactly is the link ? I will look into this.
! When you use one of the @ filters it appears.
For now I think we can let the 'Clear Filters' link stay. This issue was originally meant to get rid of the duplicates. In another PR I could add a button to the search bar that adds this , and then we could get rid of that link though, although other tabs don't have that sort of button . What do you think ?
Yeah the "Clear Filters" link is all about discoverability and I'd rather leave it

DOM.append(this.noResultsMessage, this.clearFilterLinkContainer); <del> const clearSearchContainer = $('span.clear-search'); clearSearchContainer.textContent = ' - '; const clearSearch = DOM.append(clearSearchContainer, $('a.pointer.prominent', { tabindex: 0 }, localize('clearSearch', 'Clear Search'))); this._register(DOM.addDisposableListener(clearSearch, DOM.EventType.CLICK, (e: MouseEvent) => { DOM.EventHelper.stop(e, false); this.clearSearchResults(); })); DOM.append(this.noResultsMessage, clearSearchContainer); </del> this._register(attachStylerCallback(this.themeService, { editorForeground }, colors => { this.noResultsMessage.style.color = colors.editorForeground ? colors.editorForeground.toString() : null; }));


Question:
A lot of extensions have configuration code. It is extremely annoying that since some version ago we are unable to copy anything from that pane, mouse or keyboard. Steps to reproduce: Go to extension description Try to copy something Video:
See I'm surprised that you can't copy using the keyboard. What key sequence are you using? What command(s) does your Keyboard Shortcuts page show that bound to?
Im using the usual cmd+c which works in other apps. And cmd+c also works in the editor mode, terminal mode - so i think its not my key bindings customization. I recorded video in presenter mode (displaying what i press) showing copying something else + not working for ext description:

} focus(): void { <del> if (this.activeElement) { this.activeElement.focus(); } </del> <ins> this.activeElement?.focus(); </ins> } showFind(): void { <del> if (this.activeElement && (<Webview>this.activeElement).showFind) { (<Webview>this.activeElement).showFind(); } </del> <ins> this.activeWebview?.showFind(); </ins> } runFindAction(previous: boolean): void { <del> if (this.activeElement && (<Webview>this.activeElement).runFindAction) { (<Webview>this.activeElement).runFindAction(previous); </del> <ins> this.activeWebview?.runFindAction(previous); } public get activeWebview(): Webview | undefined { if (!this.activeElement || !(this.activeElement as Webview).runFindAction) { return undefined; </ins> } <ins> return this.activeElement as Webview; </ins> } private onNavbarChange(extension: IExtension, { id, focus }: { id: string | null, focus: boolean }, template: IExtensionEditorTemplate): void {


Question:
A lot of extensions have configuration code. It is extremely annoying that since some version ago we are unable to copy anything from that pane, mouse or keyboard. Steps to reproduce: Go to extension description Try to copy something Video:
See I'm surprised that you can't copy using the keyboard. What key sequence are you using? What command(s) does your Keyboard Shortcuts page show that bound to?
Im using the usual cmd+c which works in other apps. And cmd+c also works in the editor mode, terminal mode - so i think its not my key bindings customization. I recorded video in presenter mode (displaying what i press) showing copying something else + not working for ext description:

import { InstallExtensionQuickAccessProvider, ManageExtensionsQuickAccessProvider } from 'vs/workbench/contrib/extensions/browser/extensionsQuickAccess'; import { ExtensionRecommendationsService } from 'vs/workbench/contrib/extensions/browser/extensionRecommendationsService'; import { CONTEXT_SYNC_ENABLEMENT } from 'vs/workbench/services/userDataSync/common/userDataSync'; <ins> import { CopyAction, CutAction, PasteAction } from 'vs/editor/contrib/clipboard/clipboard'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { MultiCommand } from 'vs/editor/browser/editorExtensions'; import { Webview } from 'vs/workbench/contrib/webview/browser/webview'; </ins> // Singletons registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService);


Question:
A lot of extensions have configuration code. It is extremely annoying that since some version ago we are unable to copy anything from that pane, mouse or keyboard. Steps to reproduce: Go to extension description Try to copy something Video:
See I'm surprised that you can't copy using the keyboard. What key sequence are you using? What command(s) does your Keyboard Shortcuts page show that bound to?
Im using the usual cmd+c which works in other apps. And cmd+c also works in the editor mode, terminal mode - so i think its not my key bindings customization. I recorded video in presenter mode (displaying what i press) showing copying something else + not working for ext description:

} }); <ins> function overrideActionForActiveExtensionEditorWebview(command: MultiCommand | undefined, f: (webview: Webview) => void) { command?.addImplementation(105, (accessor) => { const editorService = accessor.get(IEditorService); const editor = editorService.activeEditorPane; if (editor instanceof ExtensionEditor) { if (editor.activeWebview) { f(editor.activeWebview); return true; } } return false; }); } overrideActionForActiveExtensionEditorWebview(CopyAction, webview => webview.copy()); overrideActionForActiveExtensionEditorWebview(CutAction, webview => webview.cut()); overrideActionForActiveExtensionEditorWebview(PasteAction, webview => webview.paste()); </ins> const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench); class ExtensionsContributions implements IWorkbenchContribution {


Question:
VSCode Version: Code 1.41.0 (, 2019-12-11T18:37:42.077Z) OS Version: Windows_NT x64 10.0. Steps to Reproduce: a Markdown file on a network shared folder (ex.: ). that network shared folder to a drive letter in Windows (ex.: ). the Markdown file in VS Code using the mapped drive letter (ex.: ) and open its Side-by-Side Preview (). The preview should be correctly formatted. the same Markdown file in VS Code, but using the file's UNC path (ex.: ) and open its Side-by-Side Preview. The preview is incorrectly formatted. Does this issue occur when all extensions are disabled?: Yes Correct format (file opened through mapped drive letter): ! Wrong format (file opened through UNC path): !
I would like to work on this if possible.
There was a typo in the code was causing this. I have tested on Windows 10 with a file on a UNC path with the fix above and it is working fine.

resourceFsPath = resourceFsPath.toLowerCase(); } <del> return startsWith(resource.fsPath, rootPath); </del> <ins> return startsWith(resourceFsPath, rootPath); </ins> }


Question:
If you return in a completion item, the property is when calling through . Setup: Test code: Output is: Full repro project is here:
It looks like the conversion is missing. The doc states that additionalTextEdits should not overlap with the main edit range or each other, should that be checked or is that done when the edits are carried out? Adding this: ! works, unless the range intersections need to be checked.
No checks required - this is already the way back from the UX and check should have been carried out already

}; return this._commands.executeCommand<modes.CompletionList>('_executeCompletionItemProvider', args).then(result => { if (result) { <del> const items = result.suggestions.map(suggestion => typeConverters.CompletionItem.to(suggestion)); </del> <ins> const items = result.suggestions.map(suggestion => typeConverters.CompletionItem.to(suggestion, this._commands.converter)); </ins> return new types.CompletionList(items, result.incomplete); } return undefined;


Question:
If you return in a completion item, the property is when calling through . Setup: Test code: Output is: Full repro project is here:
It looks like the conversion is missing. The doc states that additionalTextEdits should not overlap with the main edit range or each other, should that be checked or is that done when the edits are carried out? Adding this: ! works, unless the range intersections need to be checked.
No checks required - this is already the way back from the UX and check should have been carried out already

import { LogLevel as _MainLogLevel } from 'vs/platform/log/common/log'; import { coalesce, isNonEmptyArray } from 'vs/base/common/arrays'; import { RenderLineNumbersType } from 'vs/editor/common/config/editorOptions'; <ins> import { CommandsConverter } from 'vs/workbench/api/common/extHostCommands'; </ins> export interface PositionLike { line: number;


Question:
If you return in a completion item, the property is when calling through . Setup: Test code: Output is: Full repro project is here:
It looks like the conversion is missing. The doc states that additionalTextEdits should not overlap with the main edit range or each other, should that be checked or is that done when the edits are carried out? Adding this: ! works, unless the range intersections need to be checked.
No checks required - this is already the way back from the UX and check should have been carried out already

export namespace CompletionItem { <del> export function to(suggestion: modes.CompletionItem): types.CompletionItem { </del> <ins> export function to(suggestion: modes.CompletionItem, converter?: CommandsConverter): types.CompletionItem { </ins> const result = new types.CompletionItem(suggestion.label); result.insertText = suggestion.insertText; result.kind = CompletionItemKind.to(suggestion.kind);


Question:
If you return in a completion item, the property is when calling through . Setup: Test code: Output is: Full repro project is here:
It looks like the conversion is missing. The doc states that additionalTextEdits should not overlap with the main edit range or each other, should that be checked or is that done when the edits are carried out? Adding this: ! works, unless the range intersections need to be checked.
No checks required - this is already the way back from the UX and check should have been carried out already

result.range = editorRange.Range.isIRange(suggestion.range) ? Range.to(suggestion.range) : undefined; result.range2 = editorRange.Range.isIRange(suggestion.range) ? undefined : { inserting: Range.to(suggestion.range.insert), replacing: Range.to(suggestion.range.replace) }; result.keepWhitespace = typeof suggestion.insertTextRules === 'undefined' ? false : Boolean(suggestion.insertTextRules & modes.CompletionItemInsertTextRule.KeepWhitespace); <del> // 'inserText'-logic </del> <ins> // 'insertText'-logic </ins> if (typeof suggestion.insertTextRules !== 'undefined' && suggestion.insertTextRules & modes.CompletionItemInsertTextRule.InsertAsSnippet) { result.insertText = new types.SnippetString(suggestion.insertText); } else { result.insertText = suggestion.insertText; result.textEdit = result.range instanceof types.Range ? new types.TextEdit(result.range, result.insertText) : undefined; } <del> // TODO additionalEdits, command </del> <ins> if (suggestion.additionalTextEdits && suggestion.additionalTextEdits.length > 0) { result.additionalTextEdits = suggestion.additionalTextEdits.map(e => TextEdit.to(e as modes.TextEdit)); } result.command = converter && suggestion.command ? converter.fromInternal(suggestion.command) : undefined; </ins> return result; }


Question:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Currently, when a debugger is executed (ie by hitting F5), a terminal is opened and the debugger is executed as a command. This command can get pretty long as it also changes to the working directory and sets some environment variables. Running the Python debugger in a simple project with only one file runs a command which is 243 characters long. This, however, means that these commands which are not meant to be run by the user but are instead run automatically are still included in the user's shell history file by default. I propose changing the command generation function to include a space at the very beginning - on many shells across various distros, is set to not add commands to history if they start with a space character. This also gives some control to the user whether they'd like for the debugger commands to be stored in history or not.
If you were wondering why someone might want this, I like that the history is there. All the time I go to my command line and use up arrow enter to rerun the last auto generated command. I've also gone through the history a bunch to rerun previous auto generated commands too.
Aye, this is why I opted for simply adding a space instead of something more aggressive such as - the shell is still in control whether to preserve history or not with . EDIT: Also, in my shell, commands which were run with a space can still be reached by pressing the up key in the active session, but I'm not sure this is the case in other shells.
This works for the integrated terminal, but I noticed the external terminal doesn't get the space on OSX !
On MacOS the leading space character seems to get dropped in the Applescript that talks to the Terminal application. So the feature at hand only works for the integrated terminal for now. I've created a for the external terminal. Since has verified that the fix works for the integrated terminal, I'm adding the "verified" label.

} let quote: (s: string) => string; <del> let command = ''; </del> <ins> // begin command with a space to avoid polluting shell history let command = ' '; </ins> switch (shellType) {