jiebi/CodeConvo huggingface dataset:
Code change:
"tab.inactiveBackground": "#414339", "tab.border": "#1e1f1c", "tab.inactiveForeground": "#ccccc7", // needs to be bright so it's readable when another editor group is focused <del> "widget.shadow": "#1e1f1c", </del> <ins> "widget.shadow": "#000000", </ins> "progressBar.background": "#75715E", "badge.background": "#75715E", "badge.foreground": "#f8f8f2",

Related discussion:
text: Due to how colors are blending together. Notice the color of the input and the selection of quick open and how the black background blends into the viewlet, so the input looks misaligned. <img width="1035" alt="screen shot 2017-06-27 at 15 23 22" src="https://user-"
Hello, I'd like to help with this! UPDATE: I believe I've fixed the issue by changing the "" property in the monokai theme from "" to "". Before the change: ! After the change: ! Shall I submit a pull request? Thank you!
Yes, a PR would be great!
Code change:
} }); <ins> registerAction2(class extends Action2 { constructor() { super( { id: 'notebook.diff.action.previous', title: localize('notebook.diff.action.previous.title', "Show Previous Change"), icon: previousChangeIcon, f1: false, keybinding: { primary: KeyMod.Shift | KeyMod.Alt | KeyCode.F3, weight: KeybindingWeight.WorkbenchContrib }, menu: { id: MenuId.EditorTitle, group: 'navigation', when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) } } ); } run(accessor: ServicesAccessor) { const editorService: IEditorService = accessor.get(IEditorService); if (editorService.activeEditorPane?.getId() !== NOTEBOOK_DIFF_EDITOR_ID) { return; } const editor = editorService.activeEditorPane.getControl() as INotebookTextDiffEditor | undefined; editor?.previousChange(); } }); registerAction2(class extends Action2 { constructor() { super( { id: 'notebook.diff.action.next', title: localize('notebook.diff.action.next.title', "Show Next Change"), icon: nextChangeIcon, f1: false, keybinding: { primary: KeyMod.Alt | KeyCode.F3, weight: KeybindingWeight.WorkbenchContrib }, menu: { id: MenuId.EditorTitle, group: 'navigation', when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) } } ); } run(accessor: ServicesAccessor) { const editorService: IEditorService = accessor.get(IEditorService); if (editorService.activeEditorPane?.getId() !== NOTEBOOK_DIFF_EDITOR_ID) { return; } const editor = editorService.activeEditorPane.getControl() as INotebookTextDiffEditor | undefined; editor?.nextChange(); } }); </ins> Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration).registerConfiguration({ id: 'notebook', order: 100,

Related discussion:
text: Testing Ideally there would be commands to navigate between changes. And they might deserve an action in the diff title bar. Same as the editor diff experience. !
Why is for these commands? I would expect them to be available from the command palette, since in a regular text editor Show Previous Change and Show Next Change both appear.
Code change:
} }); <ins> registerAction2(class extends Action2 { constructor() { super( { id: 'notebook.diff.action.previous', title: localize('notebook.diff.action.previous.title', "Show Previous Change"), icon: previousChangeIcon, f1: false, keybinding: { primary: KeyMod.Shift | KeyMod.Alt | KeyCode.F3, weight: KeybindingWeight.WorkbenchContrib }, menu: { id: MenuId.EditorTitle, group: 'navigation', when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) } } ); } run(accessor: ServicesAccessor) { const editorService: IEditorService = accessor.get(IEditorService); if (editorService.activeEditorPane?.getId() !== NOTEBOOK_DIFF_EDITOR_ID) { return; } const editor = editorService.activeEditorPane.getControl() as INotebookTextDiffEditor | undefined; editor?.previousChange(); } }); registerAction2(class extends Action2 { constructor() { super( { id: 'notebook.diff.action.next', title: localize('notebook.diff.action.next.title', "Show Next Change"), icon: nextChangeIcon, f1: false, keybinding: { primary: KeyMod.Alt | KeyCode.F3, weight: KeybindingWeight.WorkbenchContrib }, menu: { id: MenuId.EditorTitle, group: 'navigation', when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) } } ); } run(accessor: ServicesAccessor) { const editorService: IEditorService = accessor.get(IEditorService); if (editorService.activeEditorPane?.getId() !== NOTEBOOK_DIFF_EDITOR_ID) { return; } const editor = editorService.activeEditorPane.getControl() as INotebookTextDiffEditor | undefined; editor?.nextChange(); } }); </ins> Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration).registerConfiguration({ id: 'notebook', order: 100,

Related discussion:
text: Testing Notice that the scroll range is below the decorations, even though they're on screen <img width="717" alt="image" src="https://user-"Meanwhile if I scroll to where they're shown, they aren't in viewport <img width="713" alt="image" src="https://user-"This was on the following gif: <img width="401" alt="image" src="https://user-"
Code change:
@ITelemetryService private readonly telemetryService: ITelemetryService, @IProductService private readonly productService: IProductService, @ITerminalService private readonly terminalService: ITerminalService, <del> @IStorageService private readonly _storageService: IStorageService </del> <ins> @IStorageService private readonly _storageService: IStorageService, @IContextMenuService private readonly contextMenuService: IContextMenuService </ins> ) { super(); this.toDispose.add(_instance.onDidFocus(() => {

Related discussion:
text: I've verified that I can see the terminal hint in insiders. Does this also need to be tested in stable?
Yes this needs a stable build as it checks quality. You could verify out of sources by setting quality to stable as well
Code change:
@ITelemetryService private readonly telemetryService: ITelemetryService, @IProductService private readonly productService: IProductService, @ITerminalService private readonly terminalService: ITerminalService, <del> @IStorageService private readonly _storageService: IStorageService </del> <ins> @IStorageService private readonly _storageService: IStorageService, @IContextMenuService private readonly contextMenuService: IContextMenuService </ins> ) { super(); this.toDispose.add(_instance.onDidFocus(() => {

Related discussion:
text: Can this support right click to toggle the setting to hidden? !
right click shows our terminal context menu, perhaps we should just put it in there rather than adding a new one? !
this isn't a feature the others offer, thus not a bug IMO
Code change:
.review-widget .body .review-comment .review-comment-contents .comment-body { padding-top: 4px; <ins> } .review-widget .body .review-comment .review-comment-contents .comment-body-max-height { </ins> max-height: 20em; }

Related discussion:
text: PR introduced a max-height on comments, which goes against my team's use case when using the . Since our tours have animated GIFs that support our hands-on coding labs, the reduced max-height makes it impossible for a user to see entire images in the comment frame at once, which imposes a negative learner experience. (See: for comparison across versions). Proposed feature is to allow a user to set a max-height rather than imposing a max-height.
I also think it should be settable through the API. My original on the PR has a comment exchange with about this at the place where I originally hardwired it.
Generally we try not to add API unless we see a clear case for having it. At the time suggested the max height I wasn't aware of a use case that would require a comment peek view to have a larger size. your case makes sense, and makes the case for having API for this. I would make this API rather than user configurable.
Yes, making the max-height configurable via the API makes perfect sense, since any extension can be configured with that functionality to set a max-height attribute that makes sense for the use case. Would the default behavior go back to expanding the height with the content?
I'm not sure yet which would be default. I will discuss with our UX folks and see what they prefer.
My humble preference would be to adopt the old behavior as the default. Though the CodeTour extension is open source, it’s only seen one update in the past year. My team has a stale PR from 2021 on the CodeTour repo that was never commented on, so I’m afraid that even if we opened a PR with a fix for the max-height problem, it might not ever get accepted and merged. On the other hand, my team has been discussing forking CodeTour so that we can control the addition of new functionality and bug fixes.
There wasn't enough interest in adding API for this, so I the user setting .
thanks! Is a boolean? If so, is the default (maintaining the as by default) or (no defined?
It is a boolean and the default is true, meaning the max height of a comment will be 20em.
<!-- 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.
Code change:
.review-widget .body .review-comment .review-comment-contents .comment-body { padding-top: 4px; <ins> } .review-widget .body .review-comment .review-comment-contents .comment-body-max-height { </ins> max-height: 20em; }

Related discussion:
text: 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!
/verified Works great! Thanks!
Thanks for verifying!
Code change:
import { SyncActionDescriptor, MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { Registry } from 'vs/platform/registry/common/platform'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; <del> import { KeybindingWeight, IKeybindings, KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry'; </del> <ins> import { KeybindingWeight, IKeybindings } from 'vs/platform/keybinding/common/keybindingsRegistry'; </ins> import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { IWorkbenchActionRegistry, Extensions as WorkbenchActionRegistryExtensions } from 'vs/workbench/common/actions'; import { ShowViewletAction, Extensions as ViewletExtensions, ViewletRegistry, ViewletDescriptor } from 'vs/workbench/browser/viewlet';

Related discussion:
text: Somehow I missed the change in the and only now found it out. What I do not udnerstand is why we need all this code? I think this handler should be removed and the action should be called like it was done previously. Code pointer: It would be great if we could tackle this in December. Thanks
The reason for this code change was that creates a handler for command that passes no arguments to the action: So instead I used with a handler that would forward the argument. It looks like there are other debug commands registered in this way in , so I think moving the code for startDebug there makes sense. The handlers there are shorter and less generic, I'll see if rewriting the startDebug one that way causes any issues
what you need is calling the start debug with a configuration, and I believe we already have a way for doing this. can you please provide a pointer to where you are already calling start debug with a configuration. are you calling start debug from the main side or where from exactly? I can also look into this. You can just let me know how to verify that I did not break your scenario.
The extension API's implementation passes a debug configuration to the debug service's startDebugging here:
I'm trying to start debugging from the process explorer. Since it's a separate browser window, it doesn't have access to the debug workbench service, and it's also not an extension, so it can't leverage the extension API for starting debugging. Currently, the process explorer window sends an IPC message back to the issue service in the main process. This then sends an IPC message to the main renderer process to run the debug start command: The path is also used by the native menu to trigger commands from the main process.
ok got it. So the best way it seems is to what you have done going via the action. Can you try to clean up the handler. And if that does not work I can look into an alternative solution.
Sure, I'll work on cleaning up the handler today
Code change:
cursor: pointer; } <del> .monaco-workbench .monaco-font-aliasing-antialiased { </del> <ins> .monaco-workbench.monaco-font-aliasing-antialiased { </ins> -webkit-font-smoothing: antialiased; } <del> .monaco-workbench .monaco-font-aliasing-none { </del> <ins> .monaco-workbench.monaco-font-aliasing-none { </ins> -webkit-font-smoothing: none; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { <del> .monaco-workbench .monaco-font-aliasing-auto { </del> <ins> .monaco-workbench.monaco-font-aliasing-auto { </ins> -webkit-font-smoothing: antialiased; } }

Related discussion:
text: Broken due to refactorings of the workbench CSS. Fix is simple (CSS only change).
Code change:
} return cwd; } <ins> /** * Determines whether the given shell launch config should use the environment variable collection. * @param slc The shell launch config to check. */ export function shouldUseEnvironmentVariableCollection(slc: IShellLaunchConfig): boolean { return !slc.strictEnv && !slc.hideFromUser; } </ins>

Related discussion:
text: <!-- 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/No <!-- 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. --Version: 1.85.0-insider OS: Linux (codespaces) Steps to Reproduce: in the terminal prompt is contributed via env collection by Python extension. Normal terminal: ! Hovering says that collection is applied. Hidden terminal: ! Although it says that no environment collection is contributed upon hovering, collection is still applied as can be seen in the terminal prompt.
it seems like this is actually a bug where the initially hidden terminal doesn't show the applied environments but should? Making a terminal hidden was just meant to be about visibility, not environment?
I'm fine if we change hidden terminals to also apply environment collection, as long as we get support for Python extension decided not to send activate commands to hidden terminals: , as hidden terminals are considered private terminals belonging to a specific extension. One could probably argue similarly for not applying environment collection to such terminals.
Based on offline discussion we're continue to go with NOT applying environment collection to hidden terminals, due to it affecting remote scenarios.
We investigated that env collection from shell integration in unix is still being applied on hidden terminals, i.e is still being applied when it should not. Any further updates?
Code to disable for terminals: Where vars are set:
I cannot reproduce this on Windows or macOS. Steps: Code - OSS a terminal and verify the environment does not include terminal-sample from vscode-extension-samples via symlink a terminal and verify the environment does and select the new terminal and verify the environment does not include Maybe you had the variable set in the parent environment (main/server?) which is why it showed up?
Code change:
} return cwd; } <ins> /** * Determines whether the given shell launch config should use the environment variable collection. * @param slc The shell launch config to check. */ export function shouldUseEnvironmentVariableCollection(slc: IShellLaunchConfig): boolean { return !slc.strictEnv && !slc.hideFromUser; } </ins>

Related discussion:
text: Please try it on Linux (codespaces), stated in the original report, this issue doesn't exist on Windows. And I don't have a macOS to verify.
Thanks, missed the remote bit
Seems like this behavior has now changed with: So we should either reopen this one or , to accomplish
you can accomplish by using
I see, suppose if is , but no is passed explicitly, I assume system environment variables and shell initialization scripts are still applied? What does window's environment mean here and will it be applied if is , but no is passed.
We don't have any environment to provide, all we want to do is skip applying env collection while the rest of the environment stays as-is, can you guide us on how to exactly use to achieve that? Also, we would expect shell integration to be active.
basing the environment on should do the trick
Gotcha, will try that. I assume shell initialization and integration scripts are still run?
looking at the code, I think shell integration does activate even when strictEnv is set
What are some verification steps for this issue? For example, how do I get Python deactivate to show up?
steps at , remote only
Actually we reverted the change made in this issue with , so even hidden terminals have environment collection applied by default now.
:+1: So the steps are: a terminal and verify the environment does not include terminal-sample from vscode-extension-samples via symlink a terminal and verify the environment does and select the new terminal and verify the environment does include
How do I do step 3? Am I opening the terminal-sample workspace after cloning and creating a symlink to it?
you can build the extension and do it in the insiders extension development host
Code change:
} } <del> if (historyItem.labels) { </del> <ins> const labels = this.getLabels(element.repository); const historyItemLabels = (historyItem.labels ?? []) .filter(l => labels.includes(l.title)); if (historyItemLabels) { </ins> const historyItemGroupLocalColor = colorTheme.getColor(historyItemGroupLocal); const historyItemGroupRemoteColor = colorTheme.getColor(historyItemGroupRemote); const historyItemGroupBaseColor = colorTheme.getColor(historyItemGroupBase);

Related discussion:
text: Testing I find it a little weird how there is a cloud badge on the list item and that represents 2 different items origin/main and origin/HEAD in the hover? <img width="1031" alt="Screenshot 2024-08-27 at 10 31 23 AM" src=""Should these be different icons? Should it be a single item ? Should they be the same color?
Code change:
// Avoid doing progressive rendering for multiple markdown parts simultaneously else if (!hasRenderedOneMarkdownBlock && wordCountResults[index]) { const { value } = wordCountResults[index]; <del> result = this.renderMarkdown(new MarkdownString(value), element, templateData, true); </del> <ins> const part = partsToRender[index]; const originalMarkdown = 'originalMarkdown' in part ? part.originalMarkdown : undefined; const markdownToRender = new MarkdownString(value, originalMarkdown); result = this.renderMarkdown(markdownToRender, element, templateData, true); </ins> hasRenderedOneMarkdownBlock = true; }

Related discussion:
text: Steps: extension that registers a document and a document range formatting provider open a test workspace that activates the extension and trigger a range format. You get:
Code change:
return { fileUri: URI.file(path) }; } <del> private afterWindowOpen(): void { </del> <ins> private afterWindowOpen(accessor: ServicesAccessor): void { </ins> // Signal phase: after window open this.lifecycleMainService.phase = LifecycleMainPhase.AfterWindowOpen; // Remote Authorities this.handleRemoteAuthorities(); <ins> // Initialize update service const updateService = accessor.get(IUpdateService); if (updateService instanceof Win32UpdateService || updateService instanceof LinuxUpdateService || updateService instanceof DarwinUpdateService) { updateService.initialize(); } </ins> } private handleRemoteAuthorities(): void {

Related discussion:
text: run you'll notice that in the main process before creating the renderer the update service takes its time (~5-10ms). while that's not much it seems unnecessary and "block" the renderer for no good reason <img width="1101" alt="Screenshot 2020-01-31 at 14 45 07" src="https://user-"
This is only problematic in macOS where calls into the native which blocks.
Thanks
Code change:
terminals: instances.map(t => { return { relativeSize: isHorizontal ? t.cols / totalSize : t.rows / totalSize, <del> terminal: t.persistentTerminalId ? t.persistentTerminalId : t.id </del> <ins> terminal: t.persistentTerminalId || 0 </ins> }; }) };

Related discussion:
text: We should filter out the terminal if this is undefined, otherwise bad bugs like could happen where we restore a terminal into the wrong window: The chances of this happening are pretty slim so not doing this in Feb.
Falling back to 0 as it has been seems to work well, if we need to handle this on reconnect we will have a persistentProcessId of 0 which isn't valid anyway.
Code change:
assert.strictEqual(result, '2_test.js'); }); <del> test('Increment folder name with suffix version', function () { </del> <ins> test('Increment file name with prefix version, too big number', function () { const name = '9007199254740992.test.js'; const result = incrementFileName(name, false); assert.strictEqual(result, '9007199254740992.test.1.js'); }); test('Increment folder name with prefix version', function () { </ins> const name = '1.test'; const result = incrementFileName(name, true); assert.strictEqual(result, '2.test'); }); <del> test('Increment folder name with suffix version, trailing zeros', function () { </del> <ins> test('Increment folder name with prefix version, too big number', function () { const name = '9007199254740992.test'; const result = incrementFileName(name, true); assert.strictEqual(result, '9007199254740992.test.1'); }); test('Increment folder name with prefix version, trailing zeros', function () { </ins> const name = '001.test'; const result = incrementFileName(name, true); assert.strictEqual(result, '002.test'); }); <del> test('Increment folder name with suffix version  with `-` as separator', function () { </del> <ins> test('Increment folder name with prefix version  with `-` as separator', function () { </ins> const name = '1-test'; const result = incrementFileName(name, true); assert.strictEqual(result, '2-test');

Related discussion:
text: Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable