jiebi/CodeConvo huggingface dataset:
Change:
} }); if (!this.environmentService.isBuilt) { <del> onOutput('Building tunnel CLI from sources and run', false); onOutput(`${logLabel} Spawning: cargo run -- tunnel ${commandArgs.join(' ')}`, false); </del> <ins> onOutput('Building tunnel CLI from sources and runn', false); onOutput(`${logLabel} Spawning: cargo run -- tunnel ${commandArgs.join(' ')}n`, false); </ins> tunnelProcess = spawn('cargo', ['run', '--', 'tunnel', ...commandArgs], { cwd: join(this.environmentService.appRoot, 'cli'), stdio }); } else { <del> onOutput('Running tunnel CLI', false); </del> <ins> onOutput('Running tunnel CLIn', false); </ins> const tunnelCommand = this.getTunnelCommandLocation(); <del> onOutput(`${logLabel} Spawning: ${tunnelCommand} tunnel ${commandArgs.join(' ')}`, false); </del> <ins> onOutput(`${logLabel} Spawning: ${tunnelCommand} tunnel ${commandArgs.join(' ')}n`, false); </ins> tunnelProcess = spawn(tunnelCommand, ['tunnel', ...commandArgs], { cwd: homedir(), stdio }); }

Discussion:
Type: <bBug</bVS Code version: Code - Insiders 1.80.0-insider (, 2023-06-19T05:35:37.388Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
same here
Made a fix but didn't create a PR apparently. Fixed in next Insiders.
Reopening due to
Change:
import 'vs/css!./media/repl'; import { URI as uri } from 'vs/base/common/uri'; <del> import { Color } from 'vs/base/common/color'; </del> import { IAction, IActionViewItem, Action } from 'vs/base/common/actions'; import * as dom from 'vs/base/browser/dom'; import * as aria from 'vs/base/browser/ui/aria/aria';

Discussion:
I stumbled over and saw that there are still many colors hard-coded. Also while at the .css file, it's good practice to qualify all rules with (or ) now that the workbench can be embedded in the web.
Thanks for great feedback. There was some unused CSS, like the .annotation in the repl, so I removed that. I have also now qualifed all with . There is still one hard coded color for in repl, but I believe tackled this with his great PR. Though I might be mistaken?
I did, indeed, add colour contribution points to the REPL as part of but eventually you asked me to defer those until later, I do not remember the reason precisely... So the REPL is still not theme-able, unfortunately.
thanks for refreshing my memory. In case you would like to contribute that part of your PR we are open to accept it now :D From the I only see a need for color, not sure if there is more.
I am working on this now. I am taking it a step further, though, and adding theming to most of the REPL elements (errors, warnings, infos, source filenames etc.). Basically I want the whole REPL view to be fully customisable.
To verify, make sure you can customise the following colors in the debug console. You can use the setting :
Change:
if (beforeEndVisibleRanges && beforeEndVisibleRanges.length > 0 && endVisibleRanges && endVisibleRanges.length > 0) { var beforeEndVisibleRange = beforeEndVisibleRanges[0]; var endVisibleRange = endVisibleRanges[0]; <del> var isLTR = true; if (beforeEndVisibleRange.top === endVisibleRange.top) { isLTR = (beforeEndVisibleRange.left <= endVisibleRange.left); } </del> <ins> var isLTR = (beforeEndVisibleRange.left <= endVisibleRange.left); </ins> var lastRange = output[output.length - 1]; <del> if (isLTR && lastRange.top === endVisibleRange.top && lastRange.left < endVisibleRange.left) { </del> <ins> if (isLTR && lastRange.left < endVisibleRange.left) { </ins> // Trim down the width of the last visible range to not go after the last column's position lastRange.width = endVisibleRange.left - lastRange.left; <del> } else if (lastRange.top > endVisibleRange.top) { // WebKit went over to next line with its expanded range output.splice(output.length - 1, 1); </del> } }

Discussion:
open a markdown file with bold markup, e.g. abc text xyz try to select the line with the mouse starting at 'abc' and slowly extending to 'xyz' Observe: if you reach the second '', the selection of 'text**' disappears. In the end you have two disconnected selection ranges. in addition I see lots of flashing selection changes while dragging the mouse
Change:
} // Fetch any extension environment additions and apply them <del> private async _setupEnvVariableInfo(activeWorkspaceRootUri: URI | undefined, shellLaunchConfig: IShellLaunchConfig): Promise<IProcessEnvironment> { </del> <ins> private async _setupEnvVariableInfo(variableResolver: terminalEnvironment.VariableResolver | undefined, shellLaunchConfig: IShellLaunchConfig): Promise<IProcessEnvironment> { </ins> const platformKey = isWindows ? 'windows' : (isMacintosh ? 'osx' : 'linux'); <del> const lastActiveWorkspace = activeWorkspaceRootUri ? withNullAsUndefined(this._workspaceContextService.getWorkspaceFolder(activeWorkspaceRootUri)) : undefined; </del> const envFromConfigValue = this._configurationService.getValue<ITerminalEnvironment | undefined>(`terminal.integrated.env.${platformKey}`); this._configHelper.showRecommendations(shellLaunchConfig); const baseEnv = await (this._configHelper.config.inheritEnv ? this._terminalProfileResolverService.getShellEnvironment(this.remoteAuthority) : this._terminalInstanceService.getMainProcessParentEnv()); <del> const variableResolver = terminalEnvironment.createVariableResolver(lastActiveWorkspace, this._configurationResolverService); </del> const env = terminalEnvironment.createTerminalEnvironment(shellLaunchConfig, envFromConfigValue, variableResolver, this._productService.version, this._configHelper.config.detectLocale, baseEnv); if (!shellLaunchConfig.strictEnv && !shellLaunchConfig.hideFromUser) {

Discussion:
With we are trying to remove from the configuration resolver service. The new way to get the environment is async and requires that the all the configuration resolver methods be async. I have started the adoption of the new async methods in , but there's one use in terminal that looks like it will require more work: Option 1: Convert that use of to use . Option 2: I provide a new method on the configuration resolver service that is sync, but requires you to pass in your own . Which option makes the most sense here?
I think the usage of in must remain sync since it's used as part of the extension API. Is this a problem there since is fine to use? The main purpose of this type was to share code between variable processes.
Sounds like Option 2 is the way to go then. I will add a new method that is sync and lets you pass in your own .
Added: will that let you keep your code reuse?
Change:
return; } <ins> const configurationService = accessor.get(IConfigurationService); </ins> const contextKeyService = accessor.get(IContextKeyService); const commandService = accessor.get(ICommandService); const quickInputService = accessor.get(IQuickInputService);

Discussion:
Testing While experimenting with the 'customize layout' control, I switched my panel alignment but then wasn't sure what to reset it back to Can we add a indicator that tells users what the default alignment is?
I suppose this feedback should be applied to the other options as well. it isn't the only item with a default value, but I am also a little hesitant as it makes the experience somewhat noisy and the user can select whatever option they like the most. thoughts?
This was the only option that was confusing to me but I can see just adding a default label to one section would be a little weird Another option is to add a entry inside that resets the entire layout. That is pretty much what I was wanted after experimenting with these options
I think reset is quite interesting, I will update this as a feature request for that
To verify: the "Customize Layout" action the layout the reset icon in the top right of the quick pick From the code, here is the list of stuff that I expect to be reset:
Change:
// Create the entry. extensionInstalled is false in this case. let manifest: IExtensionManifest | null = null; try { <del> manifest = await this.extensionGalleryService.getManifest(extension, CancellationToken.None); </del> <ins> manifest = await raceTimeout( this.extensionGalleryService.getManifest(extension, CancellationToken.None), EXTENSION_FETCH_TIMEOUT_MS ) ?? null; </ins> } catch (e) { // Likely a networking issue. // Skip adding a button for this extension to the Settings editor. continue; } <ins> if (manifest === null) { continue; } </ins> const contributesConfiguration = manifest?.contributes?.configuration; let groupTitle: string | undefined;

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.89.0 OS Version: Linux x64 6.6.26-1-MANJARO Steps to Reproduce: VS Code. Developer Tools and watch Network requests. VS Code, open Settings. that Settings will not display any settings until the requests to are completed. reading the results of the queries, observe that this request is related to the absolutely despicable advertisement for GitHub Copilot_, to detect if it's already installed (or something) in order to show the ad in the Settings UI and that you are now even more incensed that something which should work immediately was taking 7 seconds or longer due to the fact that we are now living through a dystopia. Then quickly get over it and start considering a move to a different editor or a fork. Please choose one of the following suggestions: remove the GitHub Copilot advertisement from the Settings UI. waiting for network requests in order to show the Settings UI. this issue and ignore this unquestionably sane plea to help battle the enfecalization of this beloved product.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.89.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
The AUR hasn't been updated with 1.89.1 yet but looking at the resolved issues I don't see any related to this.
I have a 1-second timeout per network request. In other words, the delays should now have an upper limit on their duration.
Change:
if (this._terminalService.getReconnectedTerminals('Task')?.length) { this._attemptTaskReconnection(); } else { <del> this._register(this._terminalService.onDidChangeConnectionState(() => { </del> <ins> this._register(this._terminalService.onDidChangeConnectionState(async () => { await this._terminalService.whenConnected; </ins> if (this._terminalService.getReconnectedTerminals('Task')?.length) { this._attemptTaskReconnection(); }

Discussion:
Steps to Reproduce: I use the default build task in on a multi root workspace see a "2" appearing in the status bar, indicating the 2 runs (see pic [1]) reload the window is fine open 2 more terminals (see pic [2]) hide the panel reload window = there is no more a "2" in my status bar [1] ! ! [2] !
/duplicate
This is slightly different
and I have investigated this in the past. the panel will need to open for this to work
Change:
.monaco-workbench.mac > .part.editor.empty > .watermark dd > .shortcuts { letter-spacing: 0.15em; <ins> font-family: "Lucida Grande", sans-serif; </ins> } .monaco-workbench > .part.editor.empty > .watermark dt,

Discussion:
VSCode Version: 1.7 OS Version: OS X 10.11.6 ! The up and down arrow are off. Because the arrow key falls through all provided fonts and get rendered in Arial. ! I suggest adding Lucida Grande to the font-family, for in macOS's watermark.
I actually didn't have a problem with this on my Mac for some reason. Even without the previous commit you , my glyphs for the symbols like arrows and stuff were being rendered via Lucida Grande, whereas the rest of the glyphs were rendered with San Fransisco. ! ! !
Closing for now, but just wanted to let you know what was going on on my machine.
What's your macOS version?
macOS 10.12 Sierra VS Code Insiders
Sierra has SF for . I still think we should make the shortcuts rendered in the same font, and Lucida Grande is a safe choice.
Change:
import * as vscode from 'vscode'; import { ResourceMap } from '../utils/resourceMap'; import { DiagnosticLanguage, allDiagnosticLanguages } from '../utils/languageDescription'; <ins> import * as arrays from '../utils/arrays'; function diagnosticsEquals(a: vscode.Diagnostic, b: vscode.Diagnostic): boolean { if (a === b) { return true; } return a.code === b.code && a.message === b.message && a.severity === b.severity && a.source === b.source && a.range.isEqual(b.range) && arrays.equals(a.relatedInformation || arrays.empty, b.relatedInformation || arrays.empty, (a, b) => { return a.message === b.message && a.location.range.isEqual(b.location.range) && a.location.uri.fsPath === b.location.uri.fsPath; }) && arrays.equals(a.tags || arrays.empty, b.tags || arrays.empty); } </ins> export const enum DiagnosticKind { Syntax,

Discussion:
! Open Put the cursor on a tslint warning Get a lightbulb with quick fix suggestions, but it blinks Seems to be related to cursor blink I think this is a regression from 1.34 but can't be sure because it doesn't happen totally consistently.
Repos for me in that specific file around line 90. Weird Looks like something is causing loops of refactoring requests
Looks like a real js/ts bug but not a regression. Too risky to fix this iteration as it involves scheduling and how we manage errors for TypeScript
The cause: Code requests diagnostics (it doesn't matter why, but it has to happen in a state where there is a pending request against the TSServer for the current file) our js/ts refactoring provider, we tell TS server to cancel its current work computing diagnostics (because we want to service the code actions request as soon as possible) we cancel the current request to the tsserver, trigger a new request, and then reschedules a new request with the current file in it refactor response is returned so we show the lightbulb then we get back part of the geterr response (but not the full response). This partial response updates diagnostics in the current file after a short delay (even if they have not changed) diagnostic change cause VS code to request code actions again while we still have pending diagnostics for the current file to step 1 I don't understand why this doesn't happen all the time
Change:
} assertAriaLabel(OperatingSystem.Windows, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.KEY_A, 'Control+Shift+Alt+Windows+A'); <del> assertAriaLabel(OperatingSystem.Linux, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.KEY_A, 'Control+Shift+Alt+Windows+A'); </del> <ins> assertAriaLabel(OperatingSystem.Linux, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.KEY_A, 'Control+Shift+Alt+Super+A'); </ins> assertAriaLabel(OperatingSystem.Macintosh, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.KEY_A, 'Control+Shift+Alt+Command+A'); });

Discussion:
I am actually surprised this bug exists, aren't you using some keybinding helper to turn the keybinding into a human readable label?
yea I'm using the keybinding service, yes, I'm not doing anything special on my own I don't believe.
Related:
PR out:
Change:
margin-left: 28px; } <ins> .monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .description-content > .codicon { padding-right: 1px; font-size: 16px; } </ins> .monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .description-content:not(:empty){ margin-bottom: 8px; }

Discussion:
This is a bug in the . In general, the extension API allows icons to be embedded in text by referencing them inside of . This functionality does not work consistently in the walkthroughs API. <!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: N/A; this is a bug in the extension API VS Code Version: 1.69 OS Version: macOS 12.4 Steps to Reproduce: a walkthrough step in your extension, e.g. "walkthroughs": [ { "id": "welcome", "title": "Example $(github)", "description": "See? The icon looks nice, doesn't it?", "steps": [ { "id": "example-step", "title": "Example step", "description": "Example description", "media": { "image": "", "altText": "" } } ] } ] 2 Observe that the icon in the title ( in the example above) renders correctly in the Open Walkthrough… quickpick list: <img width="372" alt="Screen Shot 2022-07-12 at 10 21 08 AM" src="https://user-"up the walkthrough and observe that the icon is not rendered, and instead you see the literal string : <img width="508" alt="Screen Shot 2022-07-12 at 10 22 09 AM" src="https://user-"
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.69.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Yes, it still exists in 1.69.1.
Thanks for the remarkably fast turnaround time, appreciate you.

Still see this in Version: 1.70.0-insider (user setup) Commit: Date: 2022-07-27T05:16:37.759Z OS: Windows_NT x64 10.0. ! ! ! generate a new TypeScript extension with add the snippet from the issue description to the
I only fixed the icon in the place that it didn't work in the issue description, sound like I have a few more places to fix :)
LGTM in the menu, in the walkthrough title, and in a step. <img width="984" alt="image" src="https://user-"
Change:
this.commentEditor.focus(); } <ins> public expandReplyAreaAndFocusCommentEditor() { this.expandReplyArea(); this.commentEditor.focus(); } public isCommentEditorFocused(): boolean { return this.commentEditor.hasWidgetFocus(); } </ins> public getCommentModel() { return this.commentEditor.getModel()!; }

Discussion:
Testing a file in a PR that has comments focus to the comment widget input :bug: can't ctrl+up/ctrl+down to move focus to the comments within that thread
Author of here. I would like to solve this.
Change:
// Add overflow action as needed if (totalComposites > compositesToShow.length && !this.compositeOverflowAction) { <del> this.compositeOverflowAction = this.instantiationService.createInstance(CompositeOverflowActivityAction, () => { </del> <ins> this.compositeOverflowAction = this._register(this.instantiationService.createInstance(CompositeOverflowActivityAction, () => { </ins> this.compositeOverflowActionViewItem?.showMenu(); <del> }); this.compositeOverflowActionViewItem = this.instantiationService.createInstance( </del> <ins> })); this.compositeOverflowActionViewItem = this._register(this.instantiationService.createInstance( </ins> CompositeOverflowActivityActionViewItem, this.compositeOverflowAction, () => this.getOverflowingComposites(),

Discussion:
Explorer focused: ! It's only working for debug: !
It seems to working for me <img width="370" alt="image" src=""Do you have any special theme, or customisations or set up? Probably try trouble shooting?
Also the state can be frozen: ! ! Same thing in dark modern. No errors in console
Here's a repro that seems reliable: the side bar narrow enough to make some of your activity icons get displaced into the ... menu. an option from that menu. Its icon appears and get selected with the underline correct. drag that icon left to position it nearer the start of the set of tabs in order for it not to get displaced onto the ... menu again. It loses its underline and even when you switch to another icon and back to this one it doesn't get underlined.
To reset, move activity bar to side, then back to top again.
Thanks for repro steps
OFF TOPIC. May I ask how to move the activity bar from left to top? Tried searching for settings and Googling, but didn't get any results.
if you're on the Insiders build you can right click the activity bar to change the position
To verify: Move activity bar to top Reduce the width of sidebar so that activity bar actions are exactly fit Switch to Debug view container. All activity bar actions moved to overflow action From overflow action, select explorer Make sure explorer is shown active
Change:
this._debugServiceProxy = extHostRpcService.getProxy(MainContext.MainThreadDebugService); <del> this._onDidChangeBreakpoints = new Emitter<vscode.BreakpointsChangeEvent>({ onWillAddFirstListener: () => { this.startBreakpoints(); } }); </del> <ins> this._onDidChangeBreakpoints = new Emitter<vscode.BreakpointsChangeEvent>(); </ins> this._onDidChangeStackFrameFocus = new Emitter<vscode.ThreadFocus | vscode.StackFrameFocus | undefined>(); this._activeDebugConsole = new ExtHostDebugConsole(this._debugServiceProxy); this._breakpoints = new Map<string, vscode.Breakpoint>(); <del> this._breakpointEventsActive = false; </del> this._extensionService.getExtensionRegistry().then((extensionRegistry: ExtensionDescriptionRegistry) => { extensionRegistry.onDidChange(_ => {

Discussion:
Set some breakpoints Access from an extension- it's an empty array Try again - it's full Seems that we don't sync breakpoint into to the EH until the first call to one of the breakpoint properties do you have some context on this? It's a little confusing because I wouldn't expect sending breakpoint infos to be expensive, and I would expect to be able to access the breakpoints array immediately.
I do not have more context. I believe is the author of this code. I like your suggestion that we change this and actively sync the breakpoints into the EH (since it should not be expensive).
The observed behavior is by design: we want to avoid that all breakpoints get transferred to all active extensions all the time. But the API doc doesn't explain this...
Thanks is the worry that it's too much data/too expensive? What's the solution for extensions that need to access the list of breakpoints?
yes, potentially too much data and traffic for all extensions. What's the solution for extensions that need to access the list of breakpoints? adding a to the function of an extension will register the extension to receive live updates for . With this will always reflect the current set of breakpoints.
Thanks, I don't really understand that though, it doesn't seem like that much traffic/data, compared to something like the full text of open documents. If it's going to work this way, I should document it in But I might try doing some testing to remove this restriction because I think it's unexpected.
Verification steps: Create an extension that can log the value of Set a breakpoint in any file Then trigger your extension to check the length of the breakpoints array It should log the correct value on the first try- previously it would have been 0 on the first access, then the correct value afterwards