jiebi/CodeConvo huggingface dataset:
Change:
}); // Number picked to align with symbol highlight in the editor timeout(350).then(() => { <del> decoration.dispose(); </del> <ins> if (renderedElement) { renderedElement.classList.remove('terminal-scroll-highlight-outline'); } </ins> }); } }

Discussion:
Testing When I use cmd+up/down to navigate between POIs in task output, the blue box renders for a second on the item I have selected, but then disappears. I didn't understand what was happening to the focus border.
that is by design.
This has come up before, I think you had an idea to improve this?
I had the same experience in where I was on a slow machine. I think I had suggested just using a line on the side (like our activity bar) that remains until your focus changes: <img src="https://user-"
To the left of the command decorations? ! I like how visible the outline is when jumping between commands, so we could keep that as is and just also show the persistent line? !
yea I'd be open to trying that out, I think using both might be a bit overkill but just having the single line can also be hard to notice.
Change:
} public showSaveDialog(options: Electron.Dialog.SaveDialogOptions, callback?: (fileName: string) => void): string { <del> return dialog.showSaveDialog(this.win, options, callback); </del> <ins> if (callback) { return dialog.showSaveDialog(this.win, options, callback); } return dialog.showSaveDialog(this.win, options); </ins> } public setFullScreen(fullscreen: boolean): void {

Discussion:
OS Version: I see it both on el capitan and linux Steps to Reproduce: vscode - you get a prompt if you want to save, click 'Save' name the file and sav it inside the repo changes are visible in repository - vscode is still open, and there is no file that I just saved. I still see the untitiled file open and there is no way for me to save it's content
Looks good with latest build
Change:
if (typeof defaultIcon === 'string') { iconRegistry.registerIcon(id, { id: defaultIcon }, iconContribution.description); } else if (typeof defaultIcon === 'object' && typeof defaultIcon.fontPath === 'string' && typeof defaultIcon.fontCharacter === 'string') { <del> const format = extname(defaultIcon.fontPath).substring(1); if (['woff', 'woff2', 'ttf'].indexOf(format) === -1) { collector.warn(nls.localize('invalid.icons.default.fontPath.extension', "Expected `contributes.icons.default.fontPath` to have file extension 'woff', woff2' or 'ttf', is '{0}'.", format)); </del> <ins> const fileExt = extname(defaultIcon.fontPath).substring(1); const format = formatMap[fileExt]; if (!format) { collector.warn(nls.localize('invalid.icons.default.fontPath.extension', "Expected `contributes.icons.default.fontPath` to have file extension 'woff', woff2' or 'ttf', is '{0}'.", fileExt)); </ins> return; } const extensionLocation = extension.description.extensionLocation;

Discussion:
Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.82.2 OS Version: macOs Monterey 12.3 Steps to Reproduce: Created a ttf font file using select any icon and font character ( I have selected G) the to include the ttf file Status bar item with text Icon needs to show up but the character G shows up instead ! Attached my font file expected to show !
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Hey I saw you were working on the status bar (in the working areas md file)
I am not sure if this is a missing adoption or a bug, starting with Martin.
Nornally we use font characters codes starting from . I guess lower ones should work too. Can you add a complete sample extension to reproduce?
Hi Team thanks for reaching out here is my sample extension to reproduce it is very minimal just contributes the icon. Use command helloworld to see the status bar not working
I also have a small question as well do we need to use reserve characters to add icons in my case I replaced the letter G with my icon in my TTF file.
Found the problem. We had a bug with TTF fonts. I pushed a fix. In the meantime, if you can use or fonts, that should work, also with as character code.
Thanks for the nice sample.
Thanks for your quick response !
Change:
this._telemetryService.publicLog2<ILanguageDetectionPerf, LanguageDetectionPerfClassification>(LanguageDetectionStatsId, { timeSpent: Date.now() - startTime, <del> detection: langaugeId || 'unknown', </del> <ins> detection: languageId || 'unknown', </ins> }); <del> return langaugeId; </del> <ins> return languageId; </ins> } }

Discussion:
I found a few places that "Language" is accidentally spelled "Langauge" in the source. See for the corrections.
Change:
const details = $('details', { open: true, ontoggle: onDetailsToggle }, $('summary', { tabindex: '0' }, localize('localizations', "Localizations ({0})", localizations.length)), $('table', undefined, <del> $('tr', undefined, $('th', undefined, localize('localizations language id', "Language Id")), $('th', undefined, localize('localizations language name', "Language Name")), $('th', undefined, localize('localizations localized language name', "Language Name (Localized)"))), </del> <ins> $('tr', undefined, $('th', undefined, localize('localizations language id', "Language ID")), $('th', undefined, localize('localizations language name', "Language Name")), $('th', undefined, localize('localizations localized language name', "Language Name (Localized)"))), </ins> ...localizations.map(localization => $('tr', undefined, $('td', undefined, localization.languageId), $('td', undefined, localization.languageName || ''), $('td', undefined, localization.localizedLanguageName || ''))) ) );

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.59.0 OS Version: macOS 11.5.2 (20G95) Steps to Reproduce: -click on an extension. "Copy Extension Id". Both "Id" and "ID" are used: Language Id Copy Extension Id Copy Command ID Copy Setting ID The use of "ID" appears to be consistent in the translations, in for example.
Change:
'((S*)['"], line ((d+)( column (d+))?))', // "(file path)", line 45 [see #40468] '((S*)['"],((d+)(:(d+))?))', // "(file path)",45 [see #78205] '((S*) on line ((d+)(, column (d+))?))', // (file path) on line 8, column 13 <del> '((S*):s?line ((d+)(, col(umn)? (d+))?))', // (file path):line 8, column 13, (file path): line 8, col 13 </del> <ins> '((S*):s?line ((d+)(, col(?:umn)? (d+))?))', // (file path):line 8, column 13, (file path): line 8, col 13 </ins> '(([^s()]*)(s?[([](d+)(,s?(d+))?)[)]])', // (file path)(45), (file path) (45), (file path)(45,18), (file path) (45,18), (file path)(45, 18), (file path) (45, 18), also with [] '(([^:s()<>'"[]]*)(:(d+))?(:(d+))?)' // (file path):336, (file path):336:9 ].join('|').replace(/ /g, `[${'u00A0'} ]`);

Discussion:
Ctrl clicking an error from our selfhost build no longer sends me to the right location of the file. It simply opens the file and highlights position (0,0). !
Pretty sure i've seen this too
Change:
return; } if (candidateDefinitions.length !== 0) { <ins> this._candidateDefinitionsLength = candidateDefinitions.length; </ins> const childHTML: HTMLElement = targetMouseEvent.element; if (currentHTMLChild !== childHTML) { sessionStore.clear();

Discussion:
Testing Unexpected behavior here: It seems to be scrolling to the right spot but the peek view is partially out of view: ! The file Code - OSS @ : Version: 1.71.0 Commit: Unknown Date: Unknown Electron: 19.0.12 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: Windows_NT x64 10.0. Sandboxed: No
This can happen when a symbol has multiple definition locations. In that case we use peek to show all definitions and we need to make sure that revealing works nicer.
This seems like it's still present on today's Insiders https://user- If it helps to test, this is the file I was using:
Hi Connor, thanks for your bug. This should be solved with the PR: that was created today. The new behavior is: !
The cursor position is still wrong when I try verify on the same file: !
Nvm, tested the wrong version due to delayed insiders today
Change:
const selectTheme = (theme, applyTheme: boolean) => { if (typeof theme.id === 'undefined') { // 'pick in marketplace' entry if (applyTheme) { <del> openExtensionViewlet(this.viewletService, 'category:themes'); </del> <ins> openExtensionViewlet(this.viewletService, 'category:themes '); </ins> } theme = currentTheme; }

Discussion:
Press , . Choose from the quick pick. The extension viewlet opens with pre-populated in the search box and the caret is at the end of the line, after the : ! If I start typing now (e.g. start looking for a theme) I don't get any results because I need a space between and whatever I'm searching for, in this case : ! It would be nice to add the space automatically so that I can just start typing, not having to remember to press space first.
Change:
export class TemplateData implements IObjectData { constructor( public readonly viewModel: DocumentDiffItemViewModel, <ins> public readonly deltaScrollVertical: (delta: number) => void, </ins> ) { }

Discussion:
Multi diff editor issue while expanding the hidden lines VS Code Version: 1.86 insider OS Version: Windows 11 //cc Steps to Reproduce: the multi diff editor on the hidden lines at the bottom ( the blue line) now it will expand the 10 lines now scrolling top doesn't show me the '5 hidden lines' text until I scroll down and then scroll up again
Change:
constructor( findState: FindReplaceState, @IContextViewService _contextViewService: IContextViewService, <ins> @IKeybindingService keybindingService: IKeybindingService, </ins> @IContextKeyService private readonly _contextKeyService: IContextKeyService, @ITerminalService private readonly _terminalService: ITerminalService, @ITerminalGroupService private readonly _terminalGroupService: ITerminalGroupService, @IThemeService private readonly _themeService: IThemeService, @IConfigurationService private readonly _configurationService: IConfigurationService ) { <del> super(_contextViewService, _contextKeyService, findState, { showOptionButtons: true, showResultCount: true }); </del> <ins> super(_contextViewService, _contextKeyService, findState, { showOptionButtons: true, showResultCount: true, type: 'Terminal' }, keybindingService); </ins> this._register(findState.onFindReplaceStateChange(() => { this.show();

Discussion:
And instead pass in (or don't) a new option for the type
so the complexity here is that we can't reference the keybinding service within the super call to the constructor and need to do that to provide the options to the find input object that's read only.
the alternative would be to pass in the options from both the terminal view and terminal editor (redundant)
going to pass in an options object and handle the keybinding in simple find widget
Spent awhile on this, don't think we will get to it
Change:
"aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", "enabledApiProposals": [ "telemetryLogger", <del> "resolvers", </del> "workspaceTrust" ], "capabilities": {

Discussion:
I don't think this should be lumped into the resolvers proposal. The JS/TS extension currently depends on resolvers just for this one property
Unsure, we really don't want anyone to use this and it only exists for complex reconnection explainers. Once such cases are more properly modelled it should go away again
What is JS/TS using this for? The normal modals should really be enough
looked this which doesn't seem to justify the use of a custom modal. So, I'd suggest to let TS use a normal modal dialog instead
Change:
args.push(value); } <del> const result = await this.exec(args, options); return result.stdout.trim(); </del> <ins> try { const result = await this.exec(args, options); return result.stdout.trim(); } catch (err) { this.logger.warn(`git config failed: ${err.message}`); return ''; } </ins> } async getConfigs(scope: string): Promise<{ key: string; value: string }[]> {

Discussion:
Testing Currently and throw a non-obvious exception when a key is not defined: As discussed with these calls should better return an empty string.
Change:
* The default path for a new workspace based on previously used workspaces. * @param schemeFilter The scheme of the workspace path. If no filter given, the scheme of the current window is used. */ <del> defaultWorkspacePath(schemeFilter?: string): URI | undefined; </del> <ins> defaultWorkspacePath(schemeFilter?: string, filename?: string): URI | undefined; </ins> /** * Shows a file-folder selection dialog and opens the selected entry.

Discussion:
In web when I trigger File Save Workspace As, I am seeing an empty picker, but I would expect an experience which is more like this: !
The current behavior is to have not placeholder for the filename+extension. Having no filename is consistent with what Windows does: ! is your screen shot what you see on Mac when doing Save Workspace As in desktop?
yeah it is macOS and I think the challenge here is that the custom file dialog does not provide any dropdown for the file extension to pick. I think I would prefer if the custom file dialog would then do what macOS does.
Sounds good, I will update to add a placeholder filename+extension for save workspace as, which is not web specific.
the code for that use is here: To clarify: you would not implement a one-off solution for the "Save Workspace As..." but pick on the existing property to do so? I guess one question is how that would conflict with the property if that points to a file and not folder.
I think I would change the last line of the method here: Instead of just using the , which is what you are seeing happen, I would give it an untitled filename and the appropriate extension.
yeah works for me
Change:
} protected resolveString(value: string): string { <ins> const originalValue = value; </ins> value = super.resolveString(value); let regexp = /${config.(.*?)}/g;

Discussion:
VSCode Version:1.4 OS Version:OS X Steps to Reproduce: a simple python file with the following code a virtual environment under "p27" subdirectory of the workspace root. the path to python interpreter as follows the path to the pythonPath in is configured as follows the file created in step 2. Error displayed: Problem: The token ${workspaceRoot} has not been resolved to the workspace root path. The bug is in . The value returned contains the tokens ${workspaceRoot} that needs to be resolved.
Change:
protocol: attributes?.protocol ?? TunnelProtocol.Http, localUri: await this.makeLocalUri(tunnel.localAddress, attributes), localPort: tunnel.tunnelLocalPort, <ins> name: attributes?.label, </ins> closeable: true, runningProcess: matchingCandidate?.detail, hasRunningProcess: !!matchingCandidate,

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: stable and from sources OS Version: Steps to Reproduce: Forward a port using port label from settings is not applied
Change:
import { IAsyncDataTreeViewState } from 'vs/base/browser/ui/tree/asyncDataTree'; import { FuzzyScore } from 'vs/base/common/filters'; import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; <ins> import { isMacintosh } from 'vs/base/common/platform'; import { KeyCode } from 'vs/base/common/keyCodes'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; </ins> export class ExplorerView extends ViewletPanel { static readonly ID: string = 'workbench.explorer.fileView';

Discussion:
Issue Type: <bBug</bVS Code version: Code - Insiders 1.32.0-insider (, 2019-02-27T21:19:19.351Z) OS version: Windows_NT x64 10.0.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.572 --- <!-- score: 0.463 --- <!-- score: 0.453 --<!-- potentialduplicatescomment --
To verify make sure that windows and linux enter collapses / expands folders mac cmd + down collapses / expands folders
Change:
if (this._context.getWorkspaceFolderPathForFile) { const folderPath = this._context.getWorkspaceFolderPathForFile(); if (folderPath) { <del> return folderPath; </del> <ins> return normalizeDriveLetter(folderPath); </ins> } } throw new VariableError(variableKind, localize('canNotResolveFolderForFile', "Variable {0}: can not find workspace folder of '{1}'.", match, paths.basename(filePath)));

Discussion:
Sorry for asking questions in the issue tracker. Reading I originally assumed vscode was normalizing the drive letter casing. uses upper case drive letter. However, I noticed that variables like , , on my Windows are resolved to file paths with lower case drive name, e.g. . is not consistently applied from this part of the code but I am not sure if they are supposed to be handled elsewhere. Is there a documentation on what is normalized or not normalized, and if normalized, it will be upper case or lower case. (It's not clear to me what's the final conclusion of length discussions like ) And, for debugging requests, can we assume all requests that carry the absolute file paths use normalized file path?
Another fun finding is, normalizes the drive casing to lower-case As a result, our extension ends up normalizing a path to use upper case drive letter, converting it to which uses lower-case in fsPath, and at some point, translating fsPath to upper case, ...
I think the conclusion is that we should try to be consistent with URIs coming from vscode, but remember that we can't control the whole environment- e.g. the runtime may do something different than URIs that come from DAP. I don't know why would have a different drive letter case than . Seems wrong. Do you know anything about that
I think it's just an oversight that the drive letter isn't always normalized. I'm happy to make this change during the next debt week so that it has plenty of time in insiders for folks to notice if it breaks anything.
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> declare const enum LoaderEventType { </del> <ins> declare enum LoaderEventType { </ins> LoaderAvailable = 1, BeginLoadingScript = 10,

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. --Related For migrating towards ESM in VSCode, it seems the tsconfig option could be useful, ensuring that imports are compatible with ESM. For example, this typescript code transpiled to javascript would cause a runtime error because of the export: The rule would enforce a type only import for : Enabling the tsconfig option in VSCode, it seems these files would need to adjusted:
We reverted this because we learnt, albeit very late, that it has disabled inlining of const enums. See
Change:
"config.confirmForcePush": "Controls whether to ask for confirmation before force-pushing.", "config.openDiffOnClick": "Controls whether the diff editor should be opened when clicking a change. Otherwise the regular editor will be opened.", "config.supportCancellation": "Controls whether a notification comes up when running the Sync action, which allows the user to cancel the operation.", <ins> "config.sortOrderForBranch": "Controls the sort order for branches", </ins> "colors.added": "Color for added resources.", "colors.modified": "Color for modified resources.", "colors.deleted": "Color for deleted resources.",

Discussion:
I agree that sometimes it is more useful to but I often feel that it makes it hard to find branches when a naming scheme like "user/feature" is used and I want to quickly find all branches of a user. Even without that scheme there are good reasons why having an alphabetical sort option makes sense, if only for personal preference. To avoid a religious discussion, could the sort order be made into a config option?
, working on this :)
Change:
], "webview/context": [ { <del> "command": "notebook.cellOutput.copyToClipboard", </del> <ins> "command": "notebook.cellOutput.copy", </ins> "when": "webviewId == 'notebook.output' && webviewSection == 'image'" } ]

Discussion:
It should be just "Copy Output", the "to Clipboard" is obvious? This then aligns with other copy actions across the product Testing
Change:
"cssnano": "^4.1.11", "debounce": "^1.0.0", "deemon": "^1.4.0", <del> "electron": "18.3.2", </del> <ins> "electron": "18.3.3", </ins> "eslint": "8.7.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-jsdoc": "^39.3.2",

Discussion:
Testing When I just launch and then quit VSCode, I see the black dot on the dock for quite some time. I have launched from CLI: !
Yeah, running with :
This is a side effect of how we gracefully shutdown the utility process, previously the extension host was responsible for shutting itself down and we block the main process exit based on it Utility process lifetimes are controlled by the main process, (i-e) on graceful shutdown of the application the main process will first try to quit the main message loop and the applications have a chance to block this exit based on , event listeners and we use that today to provide chance to shutdown our services and once message loop is good to exit, the main process will cleanup C++ handles to the JS objects and only during this phase I also shutdown the running utility processes gracefully which will emit the event, after that the node environments, child process and threads in the main process will get shutdown one after other eventually exiting the main process itself. So what we are currently seeing is a chicken and egg problem, where the main message loop exit is blocked for 6s by the extension host exit, but the extension host exit is blocked on event from the main message loop. Solution: The runtime can only cleanup the utility process once the main message loop is ready to exit, if the exit is blocked on the application end it is not possible to know when to gracefully shutdown the process from the runtime side. Thoughts ? Alternatively, from the runtime side I can move the cleanup of utility process earlier just before the , event listeners get emitted so that the application receives an event.
The extension host processes should exit by themselves when the MessageChannel is closed. My intuition here is that the event might not be firing on the instance, but I need to debug it to confirm.
Ah yeah, I currently don't emit the event when gets disconnected however the process does exit. Will address it.