jiebi/CodeConvo huggingface dataset:
Code change:
The Angular language service extension spawns a child process using and listens for the and events. The current version works as expected. Without any changes to the project, simply updating to results in the forked child process acting differently (never erroring and never closing). I'm using Mac 13.3.1 but we also had a report that the forked process isn't working in WindowsNT x64 10.0. either. There was a similar issue (though not entirely the same) a while back: Apologies for the rather involved reproduction... Here's how I'm able to reproduce and compare the behavior between the versions: our the repository with vscode insider version 1.78.0-insiders out the branch (we're actually removing this in the next version so it doesn't exist on ) dependencies with debugging, put a debugger statement before and one in the . The project is built with bazel so breakpoints would have to be put in the compiled JS files. the build script with the extension development host (Dev Client + Server run configuration) In the extension host, open the and then open the template file -- debugger should stop on the fork and if you continue, you will see that the debugger stops in the stderr data listener but never in the or . The output of the stderr also indicates that it is listening for a debugger and that it gets attached. The fork used which should have prevented this. The process also never produces any results or completes. You can have the fork retry by running the Angular: Restart Angular Language server command in the extension host. I've also verified that the spawn args are the same between versions and both include "--ms-enable-electron-run-as-node".
Issue was caused by the allocator changes to processes which now schedule delayed tasks to purge memory cache ;l=1183 and that revealed a bug in the causing the process to hang.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!

Related discussion:
text: const electronOpts = _.extend({}, config, { platform: process.platform, arch: arch === 'armhf' ? 'arm' : arch, <del> ffmpegChromium: true, </del> <ins> ffmpegChromium: false, </ins> keepDefaultApp: true });
Code change:
The Angular language service extension spawns a child process using and listens for the and events. The current version works as expected. Without any changes to the project, simply updating to results in the forked child process acting differently (never erroring and never closing). I'm using Mac 13.3.1 but we also had a report that the forked process isn't working in WindowsNT x64 10.0. either. There was a similar issue (though not entirely the same) a while back: Apologies for the rather involved reproduction... Here's how I'm able to reproduce and compare the behavior between the versions: our the repository with vscode insider version 1.78.0-insiders out the branch (we're actually removing this in the next version so it doesn't exist on ) dependencies with debugging, put a debugger statement before and one in the . The project is built with bazel so breakpoints would have to be put in the compiled JS files. the build script with the extension development host (Dev Client + Server run configuration) In the extension host, open the and then open the template file -- debugger should stop on the fork and if you continue, you will see that the debugger stops in the stderr data listener but never in the or . The output of the stderr also indicates that it is listening for a debugger and that it gets attached. The fork used which should have prevented this. The process also never produces any results or completes. You can have the fork retry by running the Angular: Restart Angular Language server command in the extension host. I've also verified that the spawn args are the same between versions and both include "--ms-enable-electron-run-as-node".
Issue was caused by the allocator changes to processes which now schedule delayed tasks to purge memory cache ;l=1183 and that revealed a bug in the causing the process to hang.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!

Related discussion:
text: } async function main(arch = process.arch): Promise<void> { <del> const version = product.electronRepository ? '22.4.4' : util.getElectronVersion(); </del> <ins> const version = product.electronRepository ? '22.4.5' : util.getElectronVersion(); </ins> const electronPath = path.join(root, '.build', 'electron'); const versionFile = path.join(electronPath, 'version'); const isUpToDate = fs.existsSync(versionFile) && fs.readFileSync(versionFile, 'utf8') === `${version}`;
Code change:
<img width="1440" alt="image" src="https://user-"path: Versions:
I have one question wish can get help: how vscode terminal detect the path cwd? why can the path correctlly go to the file with a releative path? <img width="1440" alt="image" src="https://user-"I guess it may use the But seems I can get the cwd in TerminalLinkProvider now: <img width="1440" alt="image" src="https://user-"
We check a few things to determine which to use
vite become more and more popular recent days, I think it would be convinient to support the path with query string: !
When I click, it opens the right file, but it underlines the first query argument when I hover, is that an issue? <img width="539" alt="image" src=""
not much of an issue but it would look more polished by just underlining the whole thing

Related discussion:
text: /** * Removes the optional link suffix which contains line and column information. <del> * @param link The link to parse. </del> <ins> * @param link The link to use. </ins> */ export function removeLinkSuffix(link: string): string { const suffix = getLinkSuffix(link)?.suffix;
Code change:
<img width="1440" alt="image" src="https://user-"path: Versions:
I have one question wish can get help: how vscode terminal detect the path cwd? why can the path correctlly go to the file with a releative path? <img width="1440" alt="image" src="https://user-"I guess it may use the But seems I can get the cwd in TerminalLinkProvider now: <img width="1440" alt="image" src="https://user-"
We check a few things to determine which to use
vite become more and more popular recent days, I think it would be convinient to support the path with query string: !
When I click, it opens the right file, but it underlines the first query argument when I hover, is that an issue? <img width="539" alt="image" src=""
not much of an issue but it would look more polished by just underlining the whole thing

Related discussion:
text: } /** <ins> * Removes any query string from the link. * @param link The link to use. */ export function removeLinkQueryString(link: string): string { // Skip ? in UNC paths const start = link.startsWith('?') ? 4 : 0; const index = link.indexOf('?', start); if (index === -1) { return link; } return link.substring(0, index); } /** </ins> * Returns the optional link suffix which contains line and column information. * @param link The link to parse. */
Code change:
<img width="1440" alt="image" src="https://user-"path: Versions:
I have one question wish can get help: how vscode terminal detect the path cwd? why can the path correctlly go to the file with a releative path? <img width="1440" alt="image" src="https://user-"I guess it may use the But seems I can get the cwd in TerminalLinkProvider now: <img width="1440" alt="image" src="https://user-"
We check a few things to determine which to use
vite become more and more popular recent days, I think it would be convinient to support the path with query string: !
When I click, it opens the right file, but it underlines the first query argument when I hover, is that an issue? <img width="539" alt="image" src=""
not much of an issue but it would look more polished by just underlining the whole thing

Related discussion:
text: *--------------------------------------------------------------------------------------------*/ import { ITerminalLinkResolver, ResolvedLink } from 'vs/workbench/contrib/terminalContrib/links/browser/links'; <del> import { removeLinkSuffix, winDrivePrefix } from 'vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing'; </del> <ins> import { removeLinkSuffix, removeLinkQueryString, winDrivePrefix } from 'vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing'; </ins> import { URI } from 'vs/base/common/uri'; import { ITerminalBackend, ITerminalProcessManager } from 'vs/workbench/contrib/terminal/common/terminal'; import { Schemas } from 'vs/base/common/network';
Code change:
<img width="1440" alt="image" src="https://user-"path: Versions:
I have one question wish can get help: how vscode terminal detect the path cwd? why can the path correctlly go to the file with a releative path? <img width="1440" alt="image" src="https://user-"I guess it may use the But seems I can get the cwd in TerminalLinkProvider now: <img width="1440" alt="image" src="https://user-"
We check a few things to determine which to use
vite become more and more popular recent days, I think it would be convinient to support the path with query string: !
When I click, it opens the right file, but it underlines the first query argument when I hover, is that an issue? <img width="539" alt="image" src=""
not much of an issue but it would look more polished by just underlining the whole thing

Related discussion:
text: } } <del> // Remove any line/col suffix before processing the path </del> <ins> // Remove any line/col suffix </ins> let linkUrl = removeLinkSuffix(link); <del> if (!linkUrl) { </del> <ins> // Remove any query string linkUrl = removeLinkQueryString(linkUrl); // Exit early if the link is determines as not valid already if (linkUrl.length === 0) { </ins> cache.set(link, null); return null; }
Code change:
<img width="1440" alt="image" src="https://user-"path: Versions:
I have one question wish can get help: how vscode terminal detect the path cwd? why can the path correctlly go to the file with a releative path? <img width="1440" alt="image" src="https://user-"I guess it may use the But seems I can get the cwd in TerminalLinkProvider now: <img width="1440" alt="image" src="https://user-"
We check a few things to determine which to use
vite become more and more popular recent days, I think it would be convinient to support the path with query string: !
When I click, it opens the right file, but it underlines the first query argument when I hover, is that an issue? <img width="539" alt="image" src=""
not much of an issue but it would look more polished by just underlining the whole thing

Related discussion:
text: import { deepStrictEqual, ok, strictEqual } from 'assert'; import { OperatingSystem } from 'vs/base/common/platform'; <del> import { detectLinks, detectLinkSuffixes, getLinkSuffix, IParsedLink, removeLinkSuffix } from 'vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing'; </del> <ins> import { detectLinks, detectLinkSuffixes, getLinkSuffix, IParsedLink, removeLinkQueryString, removeLinkSuffix } from 'vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing'; </ins> interface ITestLink { link: string;
Code change:
<img width="1440" alt="image" src="https://user-"path: Versions:
I have one question wish can get help: how vscode terminal detect the path cwd? why can the path correctlly go to the file with a releative path? <img width="1440" alt="image" src="https://user-"I guess it may use the But seems I can get the cwd in TerminalLinkProvider now: <img width="1440" alt="image" src="https://user-"
We check a few things to determine which to use
vite become more and more popular recent days, I think it would be convinient to support the path with query string: !
When I click, it opens the right file, but it underlines the first query argument when I hover, is that an issue? <img width="539" alt="image" src=""
not much of an issue but it would look more polished by just underlining the whole thing

Related discussion:
text: ); }); }); <ins> suite('removeLinkQueryString', () => { test('should remove any query string from the link', () => { strictEqual(removeLinkQueryString('?a=b'), ''); strictEqual(removeLinkQueryString('foo?a=b'), 'foo'); strictEqual(removeLinkQueryString('./foo?a=b'), './foo'); strictEqual(removeLinkQueryString('/foo/bar?a=b'), '/foo/bar'); strictEqual(removeLinkQueryString('foo?a=b?'), 'foo'); strictEqual(removeLinkQueryString('foo?a=b&c=d'), 'foo'); }); test('should respect ? in UNC paths', () => { strictEqual(removeLinkQueryString('?foo?a=b'), '?foo',); }); }); </ins> suite('detectLinks', () => { test('foo(1, 2) bar[3, 4] "baz" on line 5', () => { deepStrictEqual(
Code change:
Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.77.3 OS Version: Ubuntu 20.04.5 Steps to Reproduce: (incorrect category, should be themes) outputs: suggestion: Get warning:
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!

Related discussion:
text: 'builtin-extensions-dir': { type: 'string' }, 'list-extensions': { type: 'boolean', cat: 'e', description: localize('listExtensions', "List the installed extensions.") }, 'show-versions': { type: 'boolean', cat: 'e', description: localize('showVersions', "Show versions of installed extensions, when using --list-extensions.") }, <del> 'category': { type: 'string', cat: 'e', description: localize('category', "Filters installed extensions by provided category, when using --list-extensions."), args: 'category' }, </del> <ins> 'category': { type: 'string', allowEmptyValue: true, cat: 'e', description: localize('category', "Filters installed extensions by provided category, when using --list-extensions."), args: 'category' }, </ins> 'install-extension': { type: 'string[]', cat: 'e', args: 'ext-id | path', description: localize('installExtension', "Installs or updates an extension. The argument is either an extension id or a path to a VSIX. The identifier of an extension is '${publisher}.${name}'. Use '--force' argument to update to latest version. To install a specific version provide '@${version}'. For example: 'vscode.csharp@1.2.3'.") }, 'pre-release': { type: 'boolean', cat: 'e', description: localize('install prerelease', "Installs the pre-release version of the extension, when using --install-extension") }, 'uninstall-extension': { type: 'string[]', cat: 'e', args: 'ext-id', description: localize('uninstallExtension', "Uninstalls an extension.") },
Code change:
Type: <bBug</bHow to reproduce the issue: and Run the Extension the , and then the pane. Use the dropdown and select the Dynamic Configuration Provider . With the checked out branch, it will show the quick pick options for Option 1 - 3, but will not show a quick pick for the resolved configurations. This seems to work for , but not Expected: ! Actual: ! VS Code version: Code 1.77.3 (, 2023-04-12T09:16:02.548Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: No <details<summarySystem Info</summary </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I've updated to: and it still reproduces.
for prioritization help as per email thread
Sent a PR for this. But what is the inner quickpick? I'm a little unsure about the approach, I don't think we expect a provider to include some UI. Your extension doesn't own the UI in this flow- you are just implementing a provider method which will be invoked at different times, expected to return a list of configs. It might make sense in one situation to show the quick pick, but we could make changes in vscode to call your provider at a different time where it would be unexpected to have a quick pick pop up. And, any extension can implement a config provider for your debug type. So for example, multiple extensions could all be showing their own UI in this scenario. However, from memory, I think the Python debug extension might already have a similar multi-step picker UI for a scenario like this.

Related discussion:
text: pick: async () => { // Do a late 'onDebugDynamicConfigurationsName' activation so extensions are not activated too early #108578 await this.adapterManager.activateDebuggers(onDebugDynamicConfigurationsName, type); <del> const disposables = new DisposableStore(); const input = disposables.add(this.quickInputService.createQuickPick<IDynamicPickItem>()); input.busy = true; input.placeholder = nls.localize('selectConfiguration', "Select Launch Configuration"); input.show(); const chosenPromise = new Promise<IDynamicPickItem | undefined>(resolve => { disposables.add(input.onDidAccept(() => resolve(input.activeItems[0]))); disposables.add(input.onDidTriggerItemButton(async (context) => { resolve(undefined); const { launch, config } = context.item; await launch.openConfigFile({ preserveFocus: false, type: config.type, suppressInitialConfigs: true }); // Only Launch have a pin trigger button await (launch as Launch).writeConfiguration(config); await this.selectConfiguration(launch, config.name); this.removeRecentDynamicConfigurations(config.name, config.type); })); }); </del> const token = new CancellationTokenSource(); const picks: Promise<IDynamicPickItem[]>[] = [];
Code change:
Type: <bBug</bHow to reproduce the issue: and Run the Extension the , and then the pane. Use the dropdown and select the Dynamic Configuration Provider . With the checked out branch, it will show the quick pick options for Option 1 - 3, but will not show a quick pick for the resolved configurations. This seems to work for , but not Expected: ! Actual: ! VS Code version: Code 1.77.3 (, 2023-04-12T09:16:02.548Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: No <details<summarySystem Info</summary </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I've updated to: and it still reproduces.
for prioritization help as per email thread
Sent a PR for this. But what is the inner quickpick? I'm a little unsure about the approach, I don't think we expect a provider to include some UI. Your extension doesn't own the UI in this flow- you are just implementing a provider method which will be invoked at different times, expected to return a list of configs. It might make sense in one situation to show the quick pick, but we could make changes in vscode to call your provider at a different time where it would be unexpected to have a quick pick pop up. And, any extension can implement a config provider for your debug type. So for example, multiple extensions could all be showing their own UI in this scenario. However, from memory, I think the Python debug extension might already have a similar multi-step picker UI for a scenario like this.

Related discussion:
text: } }); <ins> const disposables = new DisposableStore(); const input = disposables.add(this.quickInputService.createQuickPick<IDynamicPickItem>()); input.busy = true; input.placeholder = nls.localize('selectConfiguration', "Select Launch Configuration"); const chosenPromise = new Promise<IDynamicPickItem | undefined>(resolve => { disposables.add(input.onDidAccept(() => resolve(input.activeItems[0]))); disposables.add(input.onDidTriggerItemButton(async (context) => { resolve(undefined); const { launch, config } = context.item; await launch.openConfigFile({ preserveFocus: false, type: config.type, suppressInitialConfigs: true }); // Only Launch have a pin trigger button await (launch as Launch).writeConfiguration(config); await this.selectConfiguration(launch, config.name); this.removeRecentDynamicConfigurations(config.name, config.type); })); }); </ins> const nestedPicks = await Promise.all(picks); const items = flatten(nestedPicks); input.items = items; input.busy = false; <ins> input.show(); </ins> const chosen = await chosenPromise; disposables.dispose();
Code change:
https://user- problem extension:
I have the same problem in tooltips of TreeItem. I thought it was associated with my extension, but apparently not. This behavior does not happen with the GitLens extension.
This issue only happen to stausBarItem at left side
!
this issue should be mark new release label
can you help look into this issue?
Wasn't this always like this? I just tested and it's not hoverable in 1.78.0 either. You can hold alt to hover it though which is a common feature of hovers (outside the editor)
1.78 is the current VSCode version - the one where it broke. 1.77 and below works properly.
Doh, checking an older one
Looks like the hover only sticks if there are textual links in it. Example is the hover on the next to the language selector. I didn't change anything in the hover area recently.
that's how it used to work, it doesn't anymore. and I made some changes around this recently, it was probably us.
this is by design if the content does not contain any links. Hold alt to "lock" any hover
This is happening because you're using an anchor tag, a change was made recently to only force hovering when the hover contained "](". I'll add an anchor tag check.
Curious, because in these tooltips I never used links (html or md) and it worked. Recently this behavior started This tooltip has always been used by my users to copy information, by simply selecting and CTRL + C
previously the logic would disable hide on hover if it was any markdown string which is why it was like that. If the user wants to copy information they can do so by . I know it's not the most discoverable but it's intuitive once you know about it. It's a harder problem than you might expect because if it didn't behave like this we would get the opposite type of issue where hovers are really annoying because they don't dismiss. So we don't hide hovers on mouse over only when there's a high chance of interaction.

Related discussion:
text: } else { if (options.hideOnHover === undefined) { // When unset, will default to true when it's a string or when it's markdown that <del> // appears to have a link using a naive check for '](' hideOnHover = typeof options.content === 'string' || isMarkdownString(options.content) && !options.content.value.includes(']('); </del> <ins> // appears to have a link using a naive check for '](' and '</a>' hideOnHover = typeof options.content === 'string' || isMarkdownString(options.content) && !options.content.value.includes('](') && !options.content.value.includes('</a>'); </ins> } else { // It's set explicitly hideOnHover = options.hideOnHover;