jiebi/CodeConvo huggingface dataset:
Change:
private onContextMenu(e: ITreeContextMenuEvent<ExplorerItem>): void { const stat = e.element; <ins> // update dynamic contexts this.fileCopiedContextKey.set(this.clipboardService.hasResources()); </ins> const selection = this.tree.getSelection(); this.contextMenuService.showContextMenu({ getAnchor: () => e.anchor,

Discussion:
<!-- Use Help Report Issue to prefill these. --- VSCode Version: Confirmed in 1.31 and the latest insider. Version: 1.32.0-insider Commit: Version: 1.31.0 (system setup) Commit: OS Version:Windows_NT x64 10.0. Steps to Reproduce: an arbitrary folder in vscode (call it vscode 1) a new vscode window (call it vscode 2) and open another arbitrary folder. a file in vscode 1. +C or select copy from the right-click menu of the file in vscode 1. to paste the file in vscode 2 with Ctrl+V doesn't work. The "paste" menu item in the right-click menu is also grayed out. This used to work in 1.30.2. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Even dragging the files instead of and it will only move files, not folders. Open all the directories (which is a nice new feature). Drag over to the 2nd windows workspace, and all you'll get is files, not folders. OS Version: 4.20.5-arch1-1-ARCH
PR:
Change:
.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) { font-size: 0.9em; margin-left: 0.5em; <del> text-overflow: ellipsis; overflow: hidden; </del> } .monaco-editor .peekview-widget .head .peekview-title .meta {

Discussion:
VS Code Version: 1.73.1 OS Version: Win 11 Steps to Reproduce: the PeekViewWidget (eg using Peek Definition, or Show Error) text in the title bar is misaligned Fix: I have a PR, it's trivial. !
Change:
commands.registerCommand('git.showOutput', () => this.showOutputChannel()); this._disposables.push(this._outputChannel); <del> // Initialize log level </del> <ins> this._disposables.push(workspace.onDidChangeConfiguration(e => { if (e.affectsConfiguration('git.logLevel')) { this.onLogLevelChange(); } })); this.onLogLevelChange(); } private onLogLevelChange(): void { </ins> const config = workspace.getConfiguration('git'); const logLevel: keyof typeof LogLevel = config.get('logLevel', 'Info'); <del> this._currentLogLevel = this._defaultLogLevel = LogLevel[logLevel] ?? LogLevel.Info; this.logInfo(localize('gitLogLevel', "Log level: {0}", LogLevel[this._currentLogLevel])); </del> <ins> this.currentLogLevel = this._defaultLogLevel = LogLevel[logLevel] ?? LogLevel.Info; </ins> } <del> private log(message: string, logLevel: LogLevel): void { if (logLevel < this._currentLogLevel) { </del> <ins> log(message: string, logLevel?: LogLevel): void { if (logLevel && logLevel < this._currentLogLevel) { </ins> return; } <del> this._outputChannel.appendLine(`[${new Date().toISOString()}] [${LogLevel[logLevel].toLowerCase()}] ${message}`); </del> <ins> this._outputChannel.appendLine(`[${new Date().toISOString()}]${logLevel ? ` [${LogLevel[logLevel].toLowerCase()}]` : ''} ${message}`); </ins> } logCritical(message: string): void {

Discussion:
Testing open the settings and change the setting open the git output view. Nothing has changed there, no message that the log level has change, not any debug messages the setting is only the initial level. It would be nice if a setting change also change the actual log level . Alternative describe in the settings description that the setting is only represents the initial log level, and that a reload is necessary. (I'd rather prefer the first approach as we want settings to be 'live')

Testing Version: 1.68.0-insider (user setup) Commit: Date: 2022-05-31T05:17:04.479Z Run the command and select Would be nice to get a message in the log
Looks like the the message is not shown as it is of type and is less than than. Would be good to always show it, regardless of the current and the new level. Same problem with the initial message when the output is started.
Change:
return vscode.commands.executeCommand('revealInExplorer', uri); case 'file': { <ins> // If no explicit viewColumn is given, check if the editor is already open in a tab if (typeof viewColumn === 'undefined') { for (const tab of vscode.window.tabGroups.all.flatMap(x => x.tabs)) { if (tab.input instanceof vscode.TabInputText) { if (tab.input.uri.fsPath === uri.fsPath) { viewColumn = tab.group.viewColumn; break; } } } } </ins> return vscode.commands.executeCommand('vscode.open', uri, <vscode.TextDocumentShowOptions>{ selection: resolved.position ? new vscode.Range(resolved.position.line, resolved.position.character, resolved.position.line, resolved.position.character) : undefined, viewColumn: viewColumn ?? getViewColumn(fromResource),

Discussion:
The current behavior is very confusing to me. Take the following example: ! Two editor tabs are open in the left group, one containing and the other In the right group is the preview tab. Each Markdown file has a link to the other file. Clicking the link in the preview tab opens a new editor tab (containing the linked file) in the same group as the preview tab (despite the file already being open): ! Clicking a link in the preview should focus (i.e., bring forward) the existing editor tab containing the linked file (if it is already open). So clicking the link to in should result in the follow state: !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.571 --- <!-- score: 0.558 --- <!-- score: 0.543 --- <!-- score: 0.477 --- <!-- score: 0.445 --<!-- potentialduplicatescomment --
There may be some connection with since, at least for me, VS Code does not appear to respect this setting (). If the behavior was as is described , I would be satisfied.
Change:
import { INotebookExecutionService } from 'vs/workbench/contrib/notebook/common/notebookExecutionService'; import { INotebookCellExecution, INotebookExecutionStateService } from 'vs/workbench/contrib/notebook/common/notebookExecutionStateService'; import { INotebookKernel, INotebookKernelService } from 'vs/workbench/contrib/notebook/common/notebookKernelService'; <del> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </del> export class NotebookExecutionService implements INotebookExecutionService, IDisposable { declare _serviceBrand: undefined;

Discussion:
Testing microsoft/vscode-jupyter 1) Open 1) Install Jupyter and Python extensions 1) Create a new untitled jupyter notebook 1) Create a markdown cell 1) Paste image 1) <kbdCtrl</kbd+<kbdEnter</kbd-I get a prompt for installing kernels from the market place. <img width="925" alt="image" src="https://user-"This is wrong for two reasons: 1) Since the Jupyter extension is installed I should be able to connect the notebook to a kernel on a remote server. Also see 1) This is a markdown cell. No kernel needed for rendering a markdown cell.
I'm not seeing this locally but I can reproduce with Not sure where is the best place to check whether the cells are markdown cells.
Change:
category: PROFILES_CATEGORY, f1: true, precondition: ContextKeyExpr.and(PROFILES_ENABLEMENT_CONTEXT, HAS_PROFILES_CONTEXT), <del> menu: [ { id: ManageProfilesSubMenu, group: '3_manage_profiles', when: PROFILES_ENABLEMENT_CONTEXT, order: 1 } ] </del> }); }

Discussion:
Based on the user studies I noticed that users always get confused when they have to choose which profile to rename. I suggest to just keep the one that is renaming the active profile. The action to rename an non active profile is not needed imho. If you want we can keep it in the command palette.
Change:
cellList.attachViewModel(viewModel); // render height 210, it can render 3 full cells and 1 partial cell <del> cellList.layout(210 + topInsertToolbarHeight, 100); </del> <ins> cellList.layout(210, 100); </ins> // scroll a bit, scrollTop to bottom: 5, 215 cellList.scrollTop = 5;

Discussion:
enough cells in the interactive window that it needs to scroll "interactiveWindow.alwaysScrollOnNewCell": false to the bottom of the IW and execute another cell :bug: scrollbar height changes and is at the bottom, but the new cell isn't visible
Change:
"git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", <del> "commitHash": "83077e9b97c55cd4f9f641530442bcfd1c2ab949" </del> <ins> "commitHash": "165d5a2547bfc5ff22cd98950bca7fcddb7dea9d" </ins> } }, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "19.1.3" </del> <ins> "version": "19.1.6" </ins> }, { "component": {

Discussion:
As part of chromium a runtime feature called AutoDisableAccessibility and it works like this: We should try out this flag to see how it affects our accessibility detection on macOS.
thanks a lot for this. Just as a refresh, this only affects macOS? fyi this change might affect our telemetry numbers - since now we might auto disable accessibility when chrome decides it is actually not being needed.
I have enabled it for all OS since there is no downside. As part of this, I also redid the accessibility event that gets fired from the runtime to work well with this feature flag. So, in endgame it would be good to have test plan that ensures our accessibility detection continues works fine on all OS.
ok, I can create a test plan item for that today with complexity 3. fyi
Created test plan item Feel free to edit it if you think I did not cover some scenario. Thanks!
Change:
throw new Error('Unexpected: offsetDelta should be 0.'); } <del> // Do not attempt to tokenize if a line has over 20k if (line.length >= 20000) { </del> <ins> // Do not attempt to tokenize if a line is too long if (line.length >= this._maxTokenizationLineLength) { </ins> if (!this._tokenizationWarningAlreadyShown) { this._tokenizationWarningAlreadyShown = true; <del> this.notificationService.warn(nls.localize('too many characters', "Tokenization is skipped for lines longer than 20k characters for performance reasons.")); </del> <ins> this.notificationService.warn(nls.localize('too many characters', 'Tokenization is skipped for long lines for performance reasons. The length of a long line can be set by configuring editor.maxTokenizationLineLength in settings')); </ins> } <del> console.log(`Line (${line.substr(0, 15)}...): longer than 20k characters, tokenization skipped.`); </del> <ins> console.log(`Line (${line.substr(0, 15)}...): longer than ${this._maxTokenizationLineLength} characters, tokenization skipped.`); </ins> return nullTokenize2(this._languageId, line, state, offsetDelta); }

Discussion:
Found no duplicated for this one Currently it's hardcoded I propose a config entry for long line length If you're object, I'd like to create pull request for this feature Your thoughts?
I think this makes sense as a workspace setting that defaults to the current value. Feel free to make a PR!
Change:
import { BaseAssignmentService } from 'vs/platform/assignment/common/assignmentService'; import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuration'; import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; <ins> import { IEnvironmentService } from 'vs/platform/environment/common/environment'; </ins> export const IWorkbenchAssignmentService = createDecorator<IWorkbenchAssignmentService>('WorkbenchAssignmentService');

Discussion:
We have learnt (the hard way) that when running extension/integration tests that EXP is enabled. This means some build (and user) machines might behave different to how they run locally. Also, it seems wasteful to contact the service when running tests
Change:
.monaco-editor .margin-view-overlays > div:hover > .comment-range-glyph.comment-diff-added:before, .monaco-editor .margin-view-overlays .comment-range-glyph.comment-diff-added.line-hover:before { <del> content: "+"; </del> <ins> content: "ea60"; font-family: "codicon"; border-radius: 3px; width: 19px !important; margin-left: -5px; padding-top: 1px; padding-left: 1px; </ins> } .monaco-editor .comment-range-glyph.comment-thread {

Discussion:
I was exploring ways to improve the PR experience in VS Code and one of the ideas involved updating the glyph area for comments. Currently we show a gray bar and a unicode and that don't look very pretty. ! A couple of things I explored: Moving glyph area to the left of line numbers. This helps create separation between between the scm indicators and a clear area for adding comments. Adding button for adding and view comments. This follows a similar pattern on GitHub for reviewing changes. Hiding diff chunk areas. This reduces the visual noise and I think most people will be commenting on changed lines in the PR as opposed to lines that are not related Adding color to the and changes to look visually pleasing ! Unsure who should I assign to so assigning to and for now
Some additional feedback from the team: We might still need the indicator for comment areas, particularly when viewing files with changes in review mode where the diffs are not present ! We could also surface the "add comment" button on line hover to increase discoverability
I agree that we will likely still need to show the range, but let's improve the leave-a-comment and there's-a-comment decorations.
Here's what I'm thinking: ! It uses the comment codicon for lines with a comment thread. Keeps the existing + for add Makes them both look a little more clickable but making them more square and giving them rounded corners. and what do you think? I didn't add any color for now and I kept everything to the right of the line numbers still.
this is looking great, love that we can have codicon support in the comments! I know you mentioned you hadn't any color, is that something that you'd be open for us to add? I did a quick mockup that shows an alternate styling: <img width="314" alt="CleanShot 2022-08-08 at 08 57 41 src="https://user-"
I didn't add color because I thought the blue was a bit too strong, but I really like the color in this mock up. I'll add it and merge the change! I also see that you're using the codicon +. I'll switch to that too.
Also updated the multiline add: !
Change:
.monaco-editor .zone-widget .zone-widget-container.exception-widget { padding: 6px 10px; <ins> -webkit-user-select: text; -ms-user-select: text; -khtml-user-select: text; -moz-user-select: text; -o-user-select: text; user-select: text; </ins> } .monaco-editor .zone-widget .zone-widget-container.exception-widget .title {

Discussion:
Refs: It should be possible to copy the text of the widget, currently that is not possible !
Change:
) { } async participate(workingCopy: IStoredFileWorkingCopy<IStoredFileWorkingCopyModel>, context: { reason: SaveReason }, progress: IProgress<IProgressStep>, _token: CancellationToken): Promise<void> { <del> if (this.configurationService.getValue<boolean>('files.trimTrailingWhitespace')) { </del> <ins> if (this.configurationService.getValue<boolean>('files.trimFinalNewlines')) { </ins> this.doTrimFinalNewLines(workingCopy, context.reason === SaveReason.AUTO, progress); } }

Discussion:
I'm expecting it to trim the newlines on this cell. I'm pressing cmd+s too ! Originally posted by in
Change:
this.markdownAccessibilityContainer.id = id; // Hide the element from non-screen readers this.markdownAccessibilityContainer.style.height = '1px'; <ins> this.markdownAccessibilityContainer.style.overflow = 'hidden'; </ins> this.markdownAccessibilityContainer.style.position = 'absolute'; <del> this.markdownAccessibilityContainer.style.top = '10000px'; </del> <ins> this.markdownAccessibilityContainer.style.top = '100000px'; this.markdownAccessibilityContainer.style.left = '10000px'; </ins> this.markdownAccessibilityContainer.ariaHidden = 'false'; this.templateData.rootContainer.setAttribute('aria-describedby', id);

Discussion:
Version: 1.66.2 (Universal) Commit: Date: 2022-04-11T07:49:20.994Z Electron: 17.2.0 Chromium: 98.0.4758.109 16.13.0 V8: 9.8.177.11-electron.0 OS: Darwin arm64 21.4.0 This is the markdown under editing mode: <img width="1415" alt="image" src="https://user-"This is the markdown after exit editing mode: <img width="1454" alt="image" src="https://user-"
Markdown is actually handled by VS code core. Transferring the issue there.
Thank you
Please share a file (or text) that demonstrates the issue /needsMoreInfo
If the length of the markdown in a single markdown box exceeds a certain amount of volume, when I exit editing, it will show as the image presents: <img width="1430" alt="image" src="https://user-"However, when there are a limited amount of texts, the situation does not exist. <img width="1460" alt="image" src="https://user-"
For the detail part, I am not that sure, but I am sure it has something to do with the number of characters. And this situation doesn't happen when I put texts in separate markdown boxes.
Please share the notebook file itself
This is my notebook file on Google Drive:
Thanks
Change:
Visual Studio Code is updated monthly with new features and bug fixes. You can download it for Windows, macOS, and Linux on [Visual Studio Code's website](https://code.visualstudio.com/Download). To get the latest releases every day, install the [Insiders build](https://code.visualstudio.com/insiders). ## Contributing There are many ways in which you can participate in the project, for example:

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --I was looking through the readme and for Visual Studio Code and noticed how it flip-flops between calling itself Code and alternatively VS Code. The inconsistency is a little confusing and I think Code alone is a little too ambiguous. I believe it would be more clear to consistently refer to itself as VS Code in documentation.
I've updated the How to Contribute wiki page as well. Thanks for pointing this out.
Change:
private _accessibleViewInCodeBlock: IContextKey<boolean>; private _accessibleViewContainsCodeBlocks: IContextKey<boolean>; private _codeBlocks?: ICodeBlock[]; <ins> private _inQuickPick: boolean = false; </ins> get editorWidget() { return this._editorWidget; } private _container: HTMLElement;

Discussion:
Testing Alt+k should open a quickpick which allows us to configure the keybindings but it's not working on Windows: !
reverting fixes this issue for me. Would you pls take a look?
It looks like the issue is now we call when the editor widget is blurred. Commenting out this code fixes the issue:
Hi thank you for taking the time to look into it.
Change:
const isActionIncrease = action === HoverVerbosityAction.Increase; const actionElement = dom.append(container, $(ThemeIcon.asCSSSelector(isActionIncrease ? increaseHoverVerbosityIcon : decreaseHoverVerbosityIcon))); actionElement.tabIndex = 0; <ins> const hoverDelegate = new WorkbenchHoverDelegate('mouse', false, { target: container, position: { hoverPosition: HoverPosition.LEFT } }, this._configurationService, this._hoverService); </ins> if (isActionIncrease) { const kb = this._keybindingService.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID); <del> store.add(this._hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), actionElement, kb ? </del> <ins> store.add(this._hoverService.setupUpdatableHover(hoverDelegate, actionElement, kb ? </ins> nls.localize('increaseVerbosityWithKb', "Increase Verbosity ({0})", kb.getLabel()) : nls.localize('increaseVerbosity', "Increase Verbosity"))); } else { const kb = this._keybindingService.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID); <del> store.add(this._hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), actionElement, kb ? </del> <ins> store.add(this._hoverService.setupUpdatableHover(hoverDelegate, actionElement, kb ? </ins> nls.localize('decreaseVerbosityWithKb', "Decrease Verbosity ({0})", kb.getLabel()) : nls.localize('decreaseVerbosity', "Decrease Verbosity"))); }

Discussion:
Testing Sometimes when I hovered over the button it would show the hover of that button over the button. When moving down to the button it would close the editor hover sometimes because the mouse would move over the hover. This could be solved by setting an anchor for the and hovers
Change:
// Hide those that match Hidden Patterns const expression = this.hiddenExpressionPerRoot.get(stat.root.resource.toString()) || Object.create(null); <del> if (glob.match(expression, paths.normalize(relative(stat.root.resource.fsPath, stat.resource.fsPath), true), siblingsFn)) { </del> <ins> if (glob.match(expression, paths.normalize(path.relative(stat.root.resource.fsPath, stat.resource.fsPath), true), siblingsFn)) { </ins> return false; // hidden through pattern }

Discussion:
Only one nitbit, now when we display the path in a multi folder setup we do not start with a and when we display the path in a single folder setup we show the relative folder with a at the start. I think that is wrong and the path should never show a since it is not absolute
Change:
import * as path from 'path'; import * as vscode from 'vscode'; import * as URI from 'vscode-uri'; <ins> import { Schemes } from '../util/schemes'; </ins> const imageFileExtensions = new Set<string>([ '.bmp',

Discussion:
Type: <bBug</bnotebook an image from the workspace into a markdown cell Bug this inserts the full uri, such as It should insert the relative path instead VS Code version: Code - Insiders 1.71.0-insider (Universal) (, 2022-08-10T05:18:38.020Z) OS version: Darwin x64 21.6.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Change:
import { IModelService } from 'vs/editor/common/services/model'; import { ITextModelContentProvider, ITextModelService } from 'vs/editor/common/services/resolverService'; import { IDialogService, IConfirmationResult } from 'vs/platform/dialogs/common/dialogs'; <ins> import { IHistoryService } from 'vs/workbench/services/history/common/history'; import { Schemas } from 'vs/base/common/network'; </ins> const enum Constants { /**

Discussion:
It's an edge case but worthwhile considering 1) Ensure that all new windows are in restricted mode by default 2) Open a new empty window (no open files at all, no open folder) 3) Use <kbdCmd</kbd+<kbd`</kbd-prompt for trusting the workspace, but there is nothing there to be trusted
In this case, it definitely gets in the way that we ask about trust, and also doesn't make too much to limit access to the terminal. However, what considerations should be in place for when someone decides to bring in untrusted content into the workspace after the terminal is opened? Does this matter for empty workspaces
it's only useful for the terminal if the folder is of a potentially foreign origin. I could special case this since it's going to open in the home directory anyway, but should it even be possible to have an empty window in restricted mode? Might need to handle this special case in multiple places if it's not handled by the trust request service?
we have settings to configure the empty window experience... this allows empty windows to bring in untrusted content easily without prompting.
Ok, let's allow opening the terminal if the active workspace root is undefined then as it's safe in that case.