jiebi/CodeConvo huggingface dataset:
Change:
const cell = doc?.cells[index]; if (!cell) { return; } <del> const enablementConfig = this._configurationService.getValue('workbench.editor.languageDetectionHints'); const enabled = enablementConfig === 'always' || enablementConfig === 'notebookEditors'; </del> <ins> const enablementConfig = this._configurationService.getValue<LanguageDetectionHintConfig>('workbench.editor.languageDetectionHints'); const enabled = typeof enablementConfig === 'object' && enablementConfig?.notebookEditors; </ins> if (!enabled) { return; } <ins> const cellUri = cell.uri; const contentVersion = cell.textModel?.getVersionId(); if (!contentVersion) { return; } </ins> const currentLanguageId = cell.cellKind === CellKind.Markup ? 'markdown' : (this._languageService.getLanguageIdByLanguageName(cell.language) || cell.language); <del> if (!this.cache.has(uri)) { this.cache.set(uri, { lastCellLang: currentLanguageId, lastUpdate: 0 }); </del> <ins> if (!this.cache.has(cellUri)) { this.cache.set(cellUri, { cellLanguage: currentLanguageId, // force a re-compute upon a change in configured language updateTimestamp: 0, // facilitates a disposable-free debounce operation contentVersion: 1, // dont run for the initial contents, only on update }); </ins> } <del> const cached = this.cache.get(uri)!; if (cached.lastUpdate < Date.now() - 1000 || cached.lastCellLang !== currentLanguageId) { cached.lastUpdate = Date.now(); cached.lastCellLang = currentLanguageId; </del> <ins> const cached = this.cache.get(cellUri)!; if (cached.cellLanguage !== currentLanguageId || (cached.updateTimestamp < Date.now() - 1000 && cached.contentVersion !== contentVersion)) { cached.updateTimestamp = Date.now(); cached.cellLanguage = currentLanguageId; cached.contentVersion = contentVersion; </ins> const kernel = this._notebookKernelService.getSelectedOrSuggestedKernel(doc); if (kernel) { <del> const availableLangs = []; availableLangs.push(...kernel.supportedLanguages, 'markdown'); cached.lastGuess = await this._languageDetectionService.detectLanguage(cell.uri, availableLangs); </del> <ins> const supportedLangs = [...kernel.supportedLanguages, 'markdown']; cached.guess = await this._languageDetectionService.detectLanguage(cell.uri, supportedLangs); </ins> } } const items: INotebookCellStatusBarItem[] = []; <del> if (cached.lastGuess && currentLanguageId !== cached.lastGuess) { const detectedName = this._languageService.getLanguageName(cached.lastGuess) || cached.lastGuess; </del> <ins> if (cached.guess && currentLanguageId !== cached.guess) { const detectedName = this._languageService.getLanguageName(cached.guess) || cached.guess; </ins> let tooltip = localize('notebook.cell.status.autoDetectLanguage', "Accept Detected Language: {0}", detectedName); const keybinding = this._keybindingService.lookupKeybinding(DETECT_CELL_LANGUAGE); const label = keybinding?.getLabel();

Discussion:
The candidate fix for was to just disable language detection in notebooks by default. With a bit more time to work on it, a better solution should be derived.
is this fix insider released?
is it now :)
Change:
} await repository.addRemote(name, url); <ins> return name; </ins> } @command('git.removeRemote', { repository: true })

Discussion:
To address the original issue in more directly, it would be great if this worked: Create a new branch Run the "Publish branch" command See the "Pick a remote..." prompt Select a "Add New Remote" option The remote is and the branch is pushed to that remote Is that what you originally had in mind
I would like to take this.
yep that was it.
Change:
} } <del> private updateDocumentEdited(isDirty = this.workingCopyService.hasDirty): void { if ((!this.isDocumentedEdited && isDirty) || (this.isDocumentedEdited && !isDirty)) { this.isDocumentedEdited = isDirty; </del> <ins> private updateDocumentEdited(documentEdited: true | undefined): void { let setDocumentEdited: boolean; if (typeof documentEdited === 'boolean') { setDocumentEdited = documentEdited; } else { setDocumentEdited = this.workingCopyService.hasDirty; } if ((!this.isDocumentedEdited && setDocumentEdited) || (this.isDocumentedEdited && !setDocumentEdited)) { this.isDocumentedEdited = setDocumentEdited; </ins> <del> this.nativeHostService.setDocumentEdited(isDirty); </del> <ins> this.nativeHostService.setDocumentEdited(setDocumentEdited); </ins> } }

Discussion:
Steps: open a text file and dirty it change a setting from settings editor dirty window indicator goes away
Wow, anytime an editor is saved, the document edited indicator would go away even if other editors are still dirty
Change:
.monaco-editor .zone-widget .zone-widget-container.breakpoint-widget .inputContainer { flex: 1; <del> margin-top: 8px; </del> }

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: -- isn't fixed <!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.37.0 OS Version: Windows 10 !
This works just fine for me on OS X and Win10 with vscode insiders. Can you reproduce with latest vscode insiders !
Thanks. I tried and it is indeed fixed in the insider build. However, I can reproduce it for sure on the stable version. The fix should have been included in June update. (seems it was)
There might be some extension which you are using that is modiyfing css and is breaking this. Sorry but I can not reproduce this, either in stable and in insiders. Also no other user seems to be hitting this. Due to that I will close this issue. And yes the fix was included in the June update.
I find the key to reproduction now. Just put in the and you will see the bug.
Yes I acknowledge the bug. The issue is that the breakpoint widget is not updating as the editor font updates. The size of the widget updates, but the font should update as well. I am open to PR that fix this issue Code pointer
Will have a try
Things look more complicated than we expected.  doesn't feel right. The is of 40px height (with font size set to 16) ! It looks more reasonable if setting the height to 20px ! centering thing. The is centred by the styles of (its parent dom) while gets a hardcoded 8px ... !
yes I acknowledge it is not the nicest. Any improvements in that area would be appreciated.
I have gone too deep down the rabbit hole . Leaving it to whoever interested...
This issue is being closed to keep the number of issues in our inbox on a manageable level, we are closing issues that are not going to be addressed in the foreseeable future: We look at the number of votes the issue has received and the number of duplicate issues filed. More details . If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider. If you wonder what we are up to, please see our and guidelines. Thanks for your understanding and happy coding!

I understand this issue is not that important. But I don't agree this is out of scope . IMHO, it is at least a bug (although with very low priority).
Agree, let's reopen.
Attempted a PR () for this. Please have a look.
Verifier: Change the editor.fontSize, add a conditional breakpoint and make sure the text in the breakpoint widget is centered. Or can just try in VS COde insiders from Thursday and let us know how it behaves for him
Thank you! I confirm it is fixed in the insider build.
Thanks for letting us know. Adding verified label.
Change:
const inserted = outputElement.firstChild as HTMLElement; assert.ok(inserted, `nothing appended to output element: ${outputElement.innerHTML}`); assert.ok(outputElement.classList.contains('remove-padding'), `Padding should be removed for scrollable outputs ${outputElement.classList}`); <del> assert.ok(inserted.classList.contains('word-wrap') && inserted.classList.contains('scrollable'), </del> <ins> assert.ok(outputElement.classList.contains('word-wrap') && inserted.classList.contains('scrollable'), </ins> `output content classList should contain word-wrap and scrollable ${inserted.classList}`); assert.ok(inserted.innerHTML.indexOf('>content</') > -1, `Content was not added to output element: ${outputElement.innerHTML}`); });

Discussion:
[ ] Notebooks (.ipynb files) [X] Interactive Window and/or Cell Scripts (.py files with #%% markers)Turn on in Turn on in Open an interactive window and run the following code snippet Version: 1.89.0 Commit: Date: 2024-05-01T02:08:25.066Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Linux x64 6.8.0-76060800daily20240311-generic v2024.4.0 Python v3.12.1 No response No response Local
Change:
); } else { return nls.localize('resourceWithCommentLabelFile', <del> "Comment from ${0} in {1}, source: {2}", </del> <ins> "${0} in {1}, source: {2}", </ins> element.comment.userName, basename(element.resource), (typeof element.comment.body === 'string') ? element.comment.body : element.comment.body.value

Discussion:
Type: <bBug</bCC Screen reader users need to hear redundant information when landed in the comment thread. The following transcript demonstrates what it sounds like: In this message, "Comment from" is redundant because users already know they are interacting with the comment thread. Minimizing the redundant info is cruicial for screen reader users who have to process much information via speech output in a linear fashion. ! Extension version: 0.79. VS Code version: Code - Insiders 1.86.0-insider (, 2024-01-31T03:29:50.526Z) OS version: WindowsNT x64 10.0. Modes: Restricted Connection to 'ssh-remote+' could not be established <details<summarySystem Info</summary Connection to 'ssh-remote+' could not be established </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Change:
const lineHeight = options.get(EditorOption.lineHeight); const contentLeft = options.get(EditorOption.layoutInfo).contentLeft; const parentBounds = this._parent.getBoundingClientRect(); <del> const verticalOffsetStart = this._context.viewLayout.getVerticalOffsetForLineNumber(this._primarySelection.startLineNumber); </del> <ins> const modelStartPosition = this._primarySelection.getStartPosition(); const viewStartPosition = this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(modelStartPosition); const verticalOffsetStart = this._context.viewLayout.getVerticalOffsetForLineNumber(viewStartPosition.lineNumber); </ins> const editorScrollTop = this._context.viewLayout.getCurrentScrollTop(); const top = parentBounds.top + verticalOffsetStart - editorScrollTop;

Discussion:
Version: 1.94.0-insider Commit: Date: 2024-09-23T05:12:01.964Z Electron: 30.5.0 ElectronBuildId: Chromium: 124.0.6367.243 20.16.0 V8: 12.4.254.20-electron.0 OS: Darwin arm64 22.6.0 Steps to Reproduce: a very long line. Google IME for Japanese. at the last of the long line. position of the IME widget is not optimal. ! With , it is worse. !
Hi yes thanks a lot for opening this valuable issue. This is happening because we use the model ranges instead of the view ranges in the control bounds, selection bounds and character bounds positioning. The following PR fixes this:
I try the OSS version from the repository. The issue with is fixed. However, I still see the issue with Version: 1.94.0 Commit: Date: Unknown Electron: 30.5.1 ElectronBuildId: undefined Chromium: 124.0.6367.243 20.16.0 V8: 12.4.254.20-electron.0 OS: Darwin arm64 22.6.0 a very long line. Google IME for Japanese. at the last of the long line. position of the IME widget is not optimal. !
Oh I see thanks for letting me know that is curious. I will reopen the issue and have a look.
After investigating the issue, I believe this happens because I didn't remove the editor scroll left position from the bounds set for the selection and character bounds. The following PR should fix this.
Change:
update-alternatives --install /usr/bin/editor editor /usr/bin/@@NAME@@ 0 # Install the desktop entry <del> if hash desktop-file-install 2>/dev/null; then desktop-file-install /usr/share/applications/@@NAME@@.desktop desktop-file-install /usr/share/applications/@@NAME@@-url-handler.desktop </del> <ins> if hash update-desktop-database 2>/dev/null; then update-desktop-database </ins> fi # Update mimetype database to pickup workspace mimetype

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.61.0- OS Version: Debian Steps to Reproduce: .deb package (This has been previously reported as and and I cannot see any way to reopen them.) The current postinst file calls "desktop-file-install" on the installed desktop files. This has the effect of adding the following line to each file: This gets flagged by tools which validate the security of the software supply chain, such as . In the previous issues it is implied that this tool is called in order to add the .desktop files to the menu immediately; for this there is a dedicated command which will update the menu cache without modifying the installed files.
/verified After installing the latest code-insiders .deb, debsums no longer flags the .desktop files as changed.
Change:
import { IContextViewProvider, IDelegate } from 'vs/base/browser/ui/contextview/contextview'; import { DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle'; import { addDisposableListener, EventType } from 'vs/base/browser/dom'; <ins> import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; </ins> export class HoverService implements IHoverService { declare readonly _serviceBrand: 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/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. --- VS Code Version: 1.70.1 OS Version: Windows_NT x64 10.0. From some versions until now, I noticed that the copy and paste behavior of the TreeView component's markdown tooltips stopped working. Simply when I click on CTRL the tooltip disappears, and does not perform the action. In the GIF below you can also see issue occurring sporadically when hovering over the item. !
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.70.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Yes, problem persists in 1.70.2.
does this ring any bells, or should I investigate?
This seems to be a regression. Adding to this iteration, if you have any time to look into this it would be appreciated as I'll be pretty busy this week.
thanks for fix!
Verified on mac - not sure if this was windows specific
The issue was not Windows specific, verifying on mac is good.
Change:
hasCol: boolean; } <ins> const operatingSystems: ReadonlyArray<OperatingSystem> = [ OperatingSystem.Linux, OperatingSystem.Macintosh, OperatingSystem.Windows ]; const osTestPath: { [key: number | OperatingSystem]: string } = { [OperatingSystem.Linux]: '/test/path/linux', [OperatingSystem.Macintosh]: '/test/path/macintosh', [OperatingSystem.Windows]: 'C:testpathwindows' }; const osLabel: { [key: number | OperatingSystem]: string } = { [OperatingSystem.Linux]: '[Linux]', [OperatingSystem.Macintosh]: '[macOS]', [OperatingSystem.Windows]: '[Windows]' }; </ins> const testRow = 339; const testCol = 12; const testLinks: ITestLink[] = [

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Exclude both at the start and at the end from filepath detection. See this screenshot. <img width="2560" alt="Screenshot 2023-03-25 at 15 01 58" src="https://user-"The file path is detected but includes the surrounding angle brackets. Doing a to go to the file causes it to not be found. If one removes the angle brackets from the search manually, then it finds the file.
This actually works fine for me: ! Is relative to the current working directory?
Weird... No. The actual file I want to go is at but it was compiled as , so my logger used the compiled name as base path. I'm using latest version of vscode (1.76.2) and the integrated terminal is running zsh, on macOS. Looks like the difference is that you are running on Windows Powershell.
Can you try using the Insiders build here?
Sure. Just for completeness, even if I pass the actual relative path, it doesn't work. See the screenshot (still using stable). <img width="2560" alt="Screenshot 2023-03-27 at 16 17 20" src="https://user-"
Tested with insider and same behaviour. <img width="2560" alt="Screenshot 2023-03-27 at 16 21 08" src="https://user-"
Can repro on macOS <img width="226" alt="Screenshot 2023-03-27 at 12 58 16 pm" src="https://user-"
Change:
export const UPDATE_ACTIONS_GROUP = '0_update'; export const extensionsSearchActionsMenu = new MenuId('extensionsSearchActionsMenu'); <ins> export interface IExtensionArg { id: string; version: string; location: URI | undefined; } </ins>

Discussion:
For reference: I have found some peculiar things with the implementation, which I am not sure is by design or not. But here comes one: When working with remotes, such as remote ssh, I can see an extension in the "local" windows (greyed out) and in the remote window (not greyed out) in case it prefers to run on the remote extension host. But when I right-click on the local extension and select "Apply Extension to all Profiles" it does nothing. If I click it in the remote extension window and do the same, it gets the check mark. (But still not in the local window). As I suspect the intention behind "Apply Extension to all Profiles" is to actually apply it to all profiles, I should be able to right click and select it, so it gets selected, in all views under "Extensions". ( was also something I found needed.)
Thanks for the feedback. First request is a valid request. Can you please give more details about the second request? I would suggest to extract it into a new issue and provide exact steps to reproduce the issue.
I broke up the second item to a new issue: Let me know if still is not clear enough, and possibly which part.
is this an easy fix? I think it will clear up some confusion. I am surprised more people have not noticed and upvoted this, as local team members found this by themselves. It is causing quite a bit of confusion UX wise.
To verify: Open a remote window (WSL or Dev Container or SSH) Have an extension installed locally and remotely In Local Installed Extensions Section, Right click on the extension and apply it to all profiles. Verify that it also applies for the extension is remote installed extensions section. Verify vice-versa
Change:
} if (this._type === AuthProviderType.github) { <del> return await this.checkUserDetails(token); </del> <ins> return await this.checkUserDetails(session); </ins> } // GHES <del> await this.checkEnterpriseVersion(token); </del> <ins> await this.checkEnterpriseVersion(session.accessToken); </ins> } <del> private async checkUserDetails(token: string): Promise<void> { </del> <ins> private async checkUserDetails(session: vscode.AuthenticationSession): Promise<void> { </ins> let edu: string | undefined; try { const result = await fetching('https://education.github.com/api/user', { headers: { <del> Authorization: `token ${token}`, </del> <ins> Authorization: `token ${session.accessToken}`, </ins> 'faculty-check-preview': 'true', <del> 'User-Agent': 'Visual-Studio-Code' </del> <ins> 'User-Agent': `${vscode.env.appName} (${vscode.env.appHost})` </ins> } });

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/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. --- VS Code Version: NA OS Version: NA Steps to Reproduce: The github education team sees about calls from Visual-studio-code in an hour for api/user. This is quite unusual and since we are rate limiting anyway, it is not an immediate issue. From initial discussions with I understand that the call is made only for telemetry and has no impact on the user. So, raising this bug, if we can find a better way to do telemetry without having to rate limit. This here shows some more details.
, can you please help me understand what is the likelihood of this work getting prioritised and by when can we expect to resolve this issue.
I wasn't able to get to it this week during our allocated debt time so I will try again to make time early April. I'll let you know if anything changes.
Change:
import fs = require('fs'); import dialog = require('dialog'); import shell = require('shell'); import nls = require('vs/nls'); import {assign} from 'vs/base/common/objects'; import platform = require('vs/base/common/platform');

Discussion:
This will let the Setup installer not go ahead and perform an update/install if Code is running.
We already have a native app mutex node module which we could use for this.
Change:
} } const instance = this._terminalInstanceService.createInstance(shellLaunchConfig, TerminalLocation.Editor); <del> this._editorService.openEditor(this.getOrCreateEditorInput(instance), undefined, SIDE_GROUP); </del> <ins> const resource = this.resolveResource(instance); if (resource) { this._editorService.openEditor({ resource: URI.revive(resource), options: { pinned: true, forceReload: true } }, SIDE_GROUP); } </ins> return instance; } <ins> reviveInput(deserializedInput: DeserializedTerminalEditorInput): TerminalEditorInput { const resource: URI = URI.isUri(deserializedInput) ? deserializedInput : deserializedInput.resource; const inputKey = resource.path; if ('pid' in deserializedInput) { const instance = this._terminalInstanceService.createInstance({ attachPersistentProcess: deserializedInput }, TerminalLocation.Editor); instance.target = TerminalLocation.Editor; const input = this._instantiationService.createInstance(TerminalEditorInput, resource, instance); this._registerInstance(inputKey, input, instance); return input; } else { throw new Error(`Could not revive terminal editor input, ${deserializedInput}`); } } </ins> detachActiveEditorInstance(): ITerminalInstance { const activeEditor = this._editorService.activeEditor; if (!(activeEditor instanceof TerminalEditorInput)) {

Discussion:
Context: Essentially instead of creating s we will assign URIs to the shell launch configs and only create the terminals when the input is created.
This should also include the fix for splitCwd support in terminal editors: