jiebi/CodeConvo huggingface dataset:
Change:
<!-- 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?: 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.68.0-insider OS Version: Darwin x64 21.5.0 Based on , I should be able to contribute the same submenu from two extensions and have them merge into one. The behavior works as expected, however these warnings appear. <img width="466" alt="image" src="https://user-"Steps to Reproduce: a submenu to the same location (ex: ) from two extensions. Extension A: Extension B: <details<summaryVS Code version details</summaryVersion: 1.68.0-insider Commit: Date: 2022-05-25T05:16:10.689Z Electron: 17.4.4 Chromium: 98.0.4758.141 16.13.0 V8: 9.8.177.13-electron.0 OS: Darwin x64 21.5.0 </details
cc
Follow up: these warnings only seem appear when debugging. Installing from VSIX didn't repro
These warning are coming from and are you saying this only happens when you are debugging? So users will not actually see this? If that is the case then this might be expected behaviour. I think the users should not see this, but while debugging this might be useful to know - even though in your case you are merging the menus on purpose Anyways assigning to since he would best know how useful these warning are.
Yes, I found that it only happens when debugging.
Adding who submenu. I believe this message is fair, maybe we can tweak the severity to be info?

Discussion:
return; } if (_submenus.has(entry.value.id)) { <del> collector.warn(localize('submenuId.duplicate.id', "The `{0}` submenu was already previously registered.", entry.value.id)); </del> <ins> collector.info(localize('submenuId.duplicate.id', "The `{0}` submenu was already previously registered.", entry.value.id)); </ins> return; } if (!entry.value.label) {
Change:
with the remote repositories and codespaces extensions installed the remote explorer on under prompt (see ) escape to close and cancel Bug A url is still opened Version: 1.68.0-insider Commit: User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Embedder: <!-- generated by web issue reporter --
I'm not seeing the section that Matt describes in the linked issue. !
The remote explorer is in the sidebar: !

Discussion:
await this.takeAction(action.extensionDescription, action.description); } } <ins> } else { await this.takeAction(this.values[0].extensionDescription, await this.values[0].url); </ins> } <del> await this.takeAction(this.values[0].extensionDescription, await this.values[0].url); </del> }
Change:
Testing I am not sure if that is intentional, but in an empty window you only see the search icon: !
At the minimum we should show a placeholder like "Search": <img width="1024" alt="CleanShot 2022-05-31 at 12 51 37 src="https://user-"

Discussion:
// label: just workspace name and optional decorations const { prefix, suffix } = windowTitle.getTitleDecorations(); let label = windowTitle.workspaceName; <ins> if (!label) { label = localize('label.dfl', "Search"); } </ins> if (prefix) { label = localize('label1', "{0} {1}", prefix, label); }
Change:
Issue Type: <bBug</bWhen using the timeline on a project with git repository initialized but no commit at all (not even "initial commit"), unchecking Local History (but keeping Git checked) will keep showing the Local History. Only unchecking Git too will refresh the view, showing nothing. a project and initialize .git but do not commit an "initial commit". Generally, repositories created via GitHub automatically commit an "initial commit", while repostiories created manually or via a tool like cargo init (for Rust projects) will not create an initial commit. the project folder in VS Code and open the Timeline view. Make sure that the active filters are "Git" and "Local History". some file and save it. You should see "File Saved" in the Timeline. on Timeline filter icon uncheck Local History. Expected: Since there is no git commit, all Timeline entries disappear Actual: All local history entries stay on place (until you also uncheck Git) VS Code version: Code 1.67.2 (, 2022-05-17T18:23:40.286Z) OS version: Linux x64 5.4.0-113-generic Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (37)</summaryExtensionVersion ------ lua-debug1.58.0 increment-selection0.2.0 numbered-bookmarks8.3.0 better-toml0.3.2 doxdocgen1.4.0 clipboard-manager1.4.2 EditorConfig0.16.4 godot-tools1.3.0 better-cpp-syntax1.15.14 vscode-graphviz0.0.6 syntax-project-pbxproj0.1.3 csharp1.25.0 python2022.6.2 vscode-pylance2022.5.3 jupyter2022.4. jupyter-keymap1.0.0 jupyter-renderers1.0.7 remote-containers0.234.0 remote-ssh0.80.0 remote-ssh-edit0.80.0 remote-wsl0.66.3 cmake-tools1.10.5 cpptools1.9.8 cpptools-extension-pack1.2.0 incrementor1.0.3 cxx-set-next-statement-extension0.0.7 vscode-subword-navigation1.2.0 ravi-debug1.0.2 rust0.7.8 rust-analyzer0.3.1075 vscode-lua0.12.4 cmake0.0.17 unity-debug3.0.2 vscode-lldb1.7.0 debug0.26.0 change-case1.0.0 dictionary-completion1.2.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I think this may be partially caused by the git timeline doing and opening a timeline of a file in the repo you get a console error of . This causes the git timeline to appear to infinitely load

Discussion:
args.push('--', uri.fsPath); <del> const result = await this.exec(args); if (result.exitCode) { // No file history, e.g. a new file or untracked return []; } </del> <ins> try { const result = await this.exec(args); if (result.exitCode) { // No file history, e.g. a new file or untracked return []; } </ins> <del> return parseGitCommits(result.stdout); </del> <ins> return parseGitCommits(result.stdout); } catch (err) { // Repository has no commits yet if (/does not have any commits yet/.test(err.stderr)) { return []; } throw err; } </ins> } async reflog(ref: string, pattern: string): Promise<string[]> {
Change:
to your with shell integration disabled -is echoed shell integration and create a bash terminal is not echoed
this is because uses ' ' as the delimiter and -f3 gives only the 3rd field that results from that. As shown here, to get the full thing for this case, you'd need as well. I don't think this is a good approach as a result and we should revert to cutting off and to preserve the whole function that should be trapped !
I'm not sure this case is particularly important since traps are typically always set to functions?
I don't think we should hope that is the case. They can be strings that are quite complicated !
Ok let's try to fix it, I also probably broke with the change, I verified the Starship prompt issue is fixed though.
Should be easy to fix. I can make a PR after testing
Spent several hours trying to get this to work to no avail.
this still doesn't work
spent some more time on this. doesn't seem worth it when ppl can wrap it in a function and that works just like what we say for .

Discussion:
# --------------------------------------------------------------------------------------------- VSCODE_SHELL_INTEGRATION=1 <ins> __vsc_initialized=0 </ins> if [ -z "$VSCODE_SHELL_LOGIN" ]; then . ~/.bashrc

} __vsc_update_prompt() { <ins> __vsc_initialized=1 </ins> __vsc_prior_prompt="$PS1" __vsc_in_command_execution="" PS1="[$(__vsc_prompt_start)]$PREFIX$PS1[$(__vsc_prompt_end)]"

} __vsc_preexec() { <del> PS1="$__vsc_prior_prompt" </del> <ins> if [ -z "${__vsc_initialized-}" ]; then PS1="$__vsc_prior_prompt" fi </ins> if [ -z "${__vsc_in_command_execution-}" ]; then __vsc_in_command_execution="1" __vsc_command_output_start

} # Debug trapping/preexec inspired by starship (ISC) <del> dbg_trap="$(trap -p DEBUG | cut -d' ' -f3 | tr -d ')" if [[ -z "$dbg_trap" ]]; then </del> <ins> __vsc_dbg_trap="$(trap -p DEBUG | cut -d' ' -f3 | tr -d ')" if [[ -z "$__vsc_dbg_trap" ]]; then </ins> __vsc_preexec_only() { __vsc_status="$?" __vsc_preexec } trap '__vsc_preexec_only "$_"' DEBUG <del> elif [[ "$dbg_trap" != '__vsc_preexec "$_"' && "$dbg_trap" != '__vsc_preexec_all "$_"' ]]; then </del> <ins> elif [[ "$__vsc_dbg_trap" != '__vsc_preexec "$_"' && "$__vsc_dbg_trap" != '__vsc_preexec_all "$_"' ]]; then </ins> __vsc_preexec_all() { __vsc_status="$?" <del> local PREV_LAST_ARG=$1 ; $dbg_trap; __vsc_preexec; : "$PREV_LAST_ARG"; </del> <ins> builtin eval ${__vsc_dbg_trap} __vsc_preexec </ins> } trap '__vsc_preexec_all "$_"' DEBUG fi
Change:
Testing ! I expected to be vertically centered. Version: 1.68.0-insider Commit: Date: 2022-05-31T05:17:17.091Z Electron: 17.4.6 Chromium: 98.0.4758.141 16.13.0 V8: 9.8.177.13-electron.0 OS: Linux x64 5.13.0-44-generic snap I'm on Ubuntu

Discussion:
display: inline-flex; text-align: center; font-size: 12px; <del> line-height: 14px; </del> background-color: inherit; justify-content: center; width: calc(100% - 19px);

.monaco-workbench .part.titlebar>.titlebar-container>.window-title>.command-center .action-item.quickopen>.action-label.search>.search-icon { font-size: 14px; opacity: .8; <del> padding: 0 3px; </del> <ins> margin: auto 3px; </ins> } .monaco-workbench .part.titlebar>.titlebar-container>.window-title>.command-center .action-item.quickopen>.action-label.search>.search-label {
Change:
Testing ! rebind "Go Back" like I did. Notice that the hover in the command center does not change. The actual keybinding should be pulled out of the keybinding service so it is accurate with what the user defines.

Discussion:
}; menuUpdater(); this._disposables.add(menu.onDidChange(menuUpdater)); <ins> this._disposables.add(keybindingService.onDidUpdateKeybindings(e => { if (!e.keybindings?.length) { // when resetting a keybinding it isn't properly reported and we are better safe // than sorry. See https://github.com/microsoft/vscode/issues/151712 menuUpdater(); return; } const commands = new Set(e.keybindings.map(kb => kb.command)); for (let i = 0, len = titleToolbar.getItemsLength(); i < len; i++) { if (commands.has(titleToolbar.getItemAction(i).id)) { menuUpdater(); break; } } })); </ins> this._disposables.add(quickInputService.onShow(this._setVisibility.bind(this, false))); this._disposables.add(quickInputService.onHide(this._setVisibility.bind(this, true))); }
Change:
Testing I believe the border contrast needs to be 3:1 between the border and bg color of the title bar. Something like might be a little closer to what we want: <img width="489" alt="CleanShot 2022-05-31 at 13 02 15 src="https://user-"<img width="520" alt="CleanShot 2022-05-31 at 13 01 04 src="https://user-"
Your suggested colors falls back to which actually aren't defined for for light/dark themes, only for HC themes... I went with variants of the foreground-color. The contrast-ratio tool in devtools seems broken... Do you mind making more directly in this branch:

Discussion:
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; import * as colors from 'vs/platform/theme/common/colorRegistry'; import { WindowTitle } from 'vs/workbench/browser/parts/titlebar/windowTitle'; <del> import { MENUBAR_SELECTION_BACKGROUND, MENUBAR_SELECTION_FOREGROUND, TITLE_BAR_ACTIVE_FOREGROUND } from 'vs/workbench/common/theme'; </del> <ins> import { MENUBAR_SELECTION_BACKGROUND, MENUBAR_SELECTION_FOREGROUND, PANEL_BORDER, TITLE_BAR_ACTIVE_FOREGROUND } from 'vs/workbench/common/theme'; </ins> import { IHoverService } from 'vs/workbench/services/hover/browser/hover'; export class CommandCenterControl {

localize('commandCenter-background', "Background color of the command center"), false ); <del> const activeBackground = colors.registerColor( </del> <ins> colors.registerColor( </ins> 'commandCenter.activeBackground', { dark: MENUBAR_SELECTION_BACKGROUND, hcDark: MENUBAR_SELECTION_BACKGROUND, light: MENUBAR_SELECTION_BACKGROUND, hcLight: MENUBAR_SELECTION_BACKGROUND }, localize('commandCenter-activeBackground', "Active background color of the command center"),

); // border: defaults to active background colors.registerColor( <del> 'commandCenter.border', { dark: activeBackground, hcDark: colors.inputBorder, light: activeBackground, hcLight: colors.inputBorder }, </del> <ins> 'commandCenter.border', { dark: PANEL_BORDER, hcDark: PANEL_BORDER, light: PANEL_BORDER, hcLight: PANEL_BORDER }, </ins> localize('commandCenter-border', "Border color of the command center"), false );
Change:
the change deserves a small comment with a ref to the issue as to why we add the extension of the file should the extension be the first in the list so that it appears first?

Discussion:
const filter: IFilter = { name: languageName, extensions: distinct(extensions).slice(0, 10).map(e => trim(e, '.')) }; <del> if (!matchingFilter && extensions.includes(ext || PLAINTEXT_EXTENSION /* https://github.com/microsoft/vscode/issues/115860 */)) { </del> <ins> // https://github.com/microsoft/vscode/issues/115860 const extOrPlaintext = ext || PLAINTEXT_EXTENSION; if (!matchingFilter && extensions.includes(extOrPlaintext)) { </ins> matchingFilter = filter; <del> const trimmedExt = trim(ext || PLAINTEXT_EXTENSION, '.'); </del> <ins> // The selected extension must be in the set of extensions that are in the filter list that is sent to the save dialog. // If it isn't, add it manually. https://github.com/microsoft/vscode/issues/147657 const trimmedExt = trim(extOrPlaintext, '.'); </ins> if (!filter.extensions.includes(trimmedExt)) { <del> filter.extensions.push(trimmedExt); </del> <ins> filter.extensions.unshift(trimmedExt); </ins> } return null; // first matching filter will be added to the top
Change:
Repro: a file in vscode, example copy relative path command copy path of active file command We should add some unit tests for this or improve existing ones to catch this case.
Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our . Please take the time to review these and update the issue. Happy Coding!
Latest insiders, macOS, any workspaces. I use these commands many times per day and it's a huge pain to swap the separators every time. Version: 1.68.0-insider Commit: Date: 2022-06-01T05:17:25.414Z Electron: 17.4.6 Chromium: 98.0.4758.141 16.13.0 V8: 9.8.177.13-electron.0 OS: Darwin x64 21.5.0
Can you try to run where is an empty folder? This will ensure Code is starting with a fresh data directory, e.g. no specific settings and without any extensions running.
Still happens with
I'm looking into it now to make sure it's not on my end
I was asking because there is a setting, but it only applies to copying relative paths.
I tried clearing user data dir again and it worked, not sure what happened before, might not have made it into the clipboard for some reason or I made a mistake. When I repro it with extensions disabled and all settings cleared there are several formatters with the wrong separator: <img width="438" alt="Screen Shot 2022-06-01 at 9 07 40 am" src="https://user-"Definitely don't have set.
The bad formatters are coming through via the momento: Can extensions register these? Any ideas on how I could track down the source? I'll try adding my extensions in the clear user data dir.
to load all my extensions doesn't repro, I don't suppose the momento is synced across platforms? !
Likely cause of regression: cc
PR out:
this didn't end up fixing it because the synced formatters still seem to be getting pulled in. Any ideas on how we should clear out the bad cache? I was hoping this would be a quick drive by fix.
Anywhere labels are used gets impacted for multi platform users: <img width="396" alt="Screen Shot 2022-06-03 at 4 53 07 am" src="https://user-"
I think a bandaid fix is to either revert this change entirely or change the storage key that is used.
I don't think anyone has a strong preference on name so updating the storage key name is sane to me.
thanks, will do this today
Thanks for fixing this I didn't realize that we synced workspace state as part of settings sync.

Discussion:
this.userHome = pathService.defaultUriScheme === Schemas.file ? this.pathService.userHome({ preferLocal: true }) : undefined; const memento = this.storedFormattersMemento = new Memento('cachedResourceFormatters', storageService); <del> this.storedFormatters = memento.getMemento(StorageScope.GLOBAL, StorageTarget.USER); </del> <ins> this.storedFormatters = memento.getMemento(StorageScope.GLOBAL, StorageTarget.MACHINE); </ins> this.formatters = this.storedFormatters?.formatters || []; // Remote environment is potentially long running
Change:
Testing Open a git repository from WSL Modify files and save Go to SCM view, right click on a change Click on "Reveal in File Explorer" Nothing happens
The latest Insiders has been updated, so that the new menu item does not appear when connected to a remote.
<img width="307" alt="image" src="https://user-"Reveal in File Explorer is gone . However Open Containing Folder is there and it does do anything either.

Discussion:
}, { "command": "git.revealFileInOS.linux", <del> "when": "scmProvider == git && scmResourceGroup == merge && resourceScheme == file && isLinux", </del> <ins> "when": "scmProvider == git && scmResourceGroup == merge && remoteName == '' && isLinux", </ins> "group": "2_view@2" }, { "command": "git.revealFileInOS.mac", <del> "when": "scmProvider == git && scmResourceGroup == merge && resourceScheme == file && isMac", </del> <ins> "when": "scmProvider == git && scmResourceGroup == merge && remoteName == '' && isMac", </ins> "group": "2_view@2" }, { "command": "git.revealFileInOS.windows", <del> "when": "scmProvider == git && scmResourceGroup == merge && resourceScheme == file && isWindows", </del> <ins> "when": "scmProvider == git && scmResourceGroup == merge && remoteName == '' && isWindows", </ins> "group": "2_view@2" }, {

}, { "command": "git.revealFileInOS.linux", <del> "when": "scmProvider == git && scmResourceGroup == index && resourceScheme == file && isLinux", </del> <ins> "when": "scmProvider == git && scmResourceGroup == index && remoteName == '' && isLinux", </ins> "group": "2_view@2" }, { "command": "git.revealFileInOS.mac", <del> "when": "scmProvider == git && scmResourceGroup == index && resourceScheme == file && isMac", </del> <ins> "when": "scmProvider == git && scmResourceGroup == index && remoteName == '' && isMac", </ins> "group": "2_view@2" }, { "command": "git.revealFileInOS.windows", <del> "when": "scmProvider == git && scmResourceGroup == index && resourceScheme == file && isWindows", </del> <ins> "when": "scmProvider == git && scmResourceGroup == index && remoteName == '' && isWindows", </ins> "group": "2_view@2" }, {

}, { "command": "git.revealFileInOS.linux", <del> "when": "scmProvider == git && scmResourceGroup == workingTree && resourceScheme == file && isLinux", </del> <ins> "when": "scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isLinux", </ins> "group": "2_view@2" }, { "command": "git.revealFileInOS.mac", <del> "when": "scmProvider == git && scmResourceGroup == workingTree && resourceScheme == file && isMac", </del> <ins> "when": "scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isMac", </ins> "group": "2_view@2" }, { "command": "git.revealFileInOS.windows", <del> "when": "scmProvider == git && scmResourceGroup == workingTree && resourceScheme == file && isWindows", </del> <ins> "when": "scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isWindows", </ins> "group": "2_view@2" }, {
Change:
Testing ! Version: 1.68.0-insider (user setup) Commit: Date: 2022-06-01T05:16:24.411Z Electron: 17.4.6 Chromium: 98.0.4758.141 16.13.0 V8: 9.8.177.13-electron.0 OS: Windows_NT x64 10.0.
Hm, for me I get a pointer on the entire row, on OSX. Don't have access to a Windows machine easily right now, however.
do you know why this rule is only for mac? Is that on purpose?
not sure. Looks like a copy paste error from the selector below. So I suggest to simply remove .

Discussion:
white-space: pre; /* Preserve whitespace but don't wrap */ } <del> .monaco-workbench.mac .repl .repl-tree .monaco-tl-twistie.collapsible + .monaco-tl-contents, .monaco-workbench.mac .repl .repl-tree .monaco-tl-twistie { </del> <ins> .monaco-workbench .repl .repl-tree .monaco-tl-twistie.collapsible + .monaco-tl-contents, .monaco-workbench .repl .repl-tree .monaco-tl-twistie { </ins> cursor: pointer; }
Change:
Because of the alignment we did here: GitHub Repos & GHPRI now have the same scopes... unfortunately, the built-in GitHub extension did not receive the same alignment and as a result, you get 2 sign-ins back to back when using GitHub Repos on Desktop: get the repo picker to load (GH extension) load the remote workspace (GHR extension) We should have the GitHub extension request: so that all of our extensions here are aligned. We need to do this alignment because GitHub doesn't have a mechanism yet for "token downscoping".

Discussion:
} } <del> const scopes = ['repo', 'workflow']; </del> <ins> const scopes = ['repo', 'workflow', 'user:email', 'read:user']; </ins> export async function getSession(): Promise<AuthenticationSession> { return await authentication.getSession('github', scopes, { createIfNone: true });
Change:
Testing Open the settings UI for the settings and add new values. Observe that you can any input (not just , ...) and there is no warning when a value is mistyped. This can be easily improved by adding an enum to the items: This will limit the items to the given values and show as a combo box in the settings UI: !

Discussion:
"type": "array", "markdownDescription": "%config.branchRandomNameDictionary%", "items": { <del> "type": "string" </del> <ins> "type": "string", "enum": [ "adjectives", "animals", "colors", "numbers" ], "enumDescriptions": [ "%config.branchRandomNameDictionary.adjectives%", "%config.branchRandomNameDictionary.animals%", "%config.branchRandomNameDictionary.colors%", "%config.branchRandomNameDictionary.numbers%" ] </ins> }, "default": [ "adjectives",

"config.branchProtectionPrompt.alwaysCommit": "Always commit changes to the protected branch.", "config.branchProtectionPrompt.alwaysCommitToNewBranch": "Always commit changes to a new branch.", "config.branchProtectionPrompt.alwaysPrompt": "Always prompt before changes are committed to a protected branch.", <del> "config.branchRandomNameDictionary": "List of dictionaries used when the branch name that is randomly generated. Supported values: `adjectives`, `animals`, `colors`, `numbers`.", </del> <ins> "config.branchRandomNameDictionary": "List of dictionaries used for the randomly generated branch name. Each value represents the dictionary used to generate the segment of the branch name. Supported dictionaries: `adjectives`, `animals`, `colors` and `numbers`.", "config.branchRandomNameDictionary.adjectives": "A random adjective", "config.branchRandomNameDictionary.animals": "A random animal name", "config.branchRandomNameDictionary.colors": "A random color name", "config.branchRandomNameDictionary.numbers": "A random number between 100 and 999", </ins> "config.branchRandomNameEnable": "Controls whether a random name is generated when creating a new branch.", "config.branchValidationRegex": "A regular expression to validate new branch names.", "config.branchWhitespaceChar": "The character to replace whitespace in new branch names, and to separate segments of a randomly generated branch name.",