jiebi/CodeConvo huggingface dataset:
Change:
const placeholderText = escapeBrackets(title) || options?.placeholderText || 'Alt text'; const placeholderIndex = typeof options?.placeholderStartIndex !== 'undefined' ? options?.placeholderStartIndex + i : (placeholderValue === 0 ? undefined : placeholderValue); snippet.appendPlaceholder(placeholderText, placeholderIndex); <del> snippet.appendText(`](${escapeMarkdownLinkPath(mdPath)})`); </del> <ins> snippet.appendText(`](${escapeMarkdownLinkPath(mdPath, isExternalLink)})`); </ins> } else { <del> snippet.appendText(escapeMarkdownLinkPath(mdPath)); </del> <ins> snippet.appendText(escapeMarkdownLinkPath(mdPath, isExternalLink)); </ins> } } } else {

Discussion:
Type: <bBug</b( it into a markdown file Bug The inserted markdown link is not valid because of the mismatched parens In cases like this, we can either escape the with or wrap the entire url in : VS Code version: Code - Insiders 1.81.0-insider (Universal) (, 2023-07-25T08:15:40.243Z) OS version: Darwin x64 22.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
! looks correct in that it displays with but the rightmost parenthesis is still highlighted red. Is this the desired behavior
Can you please open a new issue for that? I think bracket pair colorization isn't working properly in this case (the markdown grammar seems to get it right)
Change:
"tas-client-umd": "0.1.6", "vscode-oniguruma": "1.6.1", "vscode-textmate": "7.0.1", <del> "xterm": "4.20.0-beta.6", "xterm-addon-search": "0.10.0-beta.1", </del> <ins> "xterm": "4.20.0-beta.12", "xterm-addon-search": "0.10.0-beta.2", </ins> "xterm-addon-unicode11": "0.4.0-beta.3", <del> "xterm-addon-webgl": "0.13.0-beta.3" </del> <ins> "xterm-addon-webgl": "0.13.0-beta.6" </ins> } }

Discussion:
issue This bad overlapping can occur sometimes: <img width="84" alt="Screen Shot 2022-07-07 at 10 58 29 am" src="https://user-"I think this is because the white pixels don't match the background exactly but are close enough to it that they should be treated as transparent. cc Related:
can you verify?
Not a problem.
Change:
this._contributedEditorDisposables.add(editorRegistration); } <del> const mementoObject = this._memento.getMemento(StorageScope.PROFILE, StorageTarget.MACHINE); mementoObject[NotebookProviderInfoStore.CUSTOM_EDITORS_ENTRY_ID] = Array.from(this._contributedEditors.values()); this._memento.saveMemento(); </del> <ins> if (saveMemento) { const mementoObject = this._memento.getMemento(StorageScope.PROFILE, StorageTarget.MACHINE); mementoObject[NotebookProviderInfoStore.CUSTOM_EDITORS_ENTRY_ID] = Array.from(this._contributedEditors.values()); this._memento.saveMemento(); } </ins> return this._register(toDisposable(() => { const mementoObject = this._memento.getMemento(StorageScope.PROFILE, StorageTarget.MACHINE);

Discussion:
Is this intentional? ! This makes the contribution quite slow on startup, and it feels off that it would save immediately. Would this be needed or could it run deferred?
Thanks!
Change:
} else { templateData.codeColumn.title = ''; templateData.sourceLabel.set('-'); <del> DOM.hide(templateData.codeLabel.element); </del> } }

Discussion:
Issue Type: <bBug</bTesting I have Code Spell Checker () extension provides diagnostics without error code, and rust-analyzer extension provides diagnostics with error code. When all diagnositcs don't have code, it displays correctly. When some diagnostics have code and some don't, scroll over the Problems value, some code changes randomly. https://user- VS Code version: Code - Insiders 1.69.0-insider (, 2022-06-29T05:20:28.364Z) OS version: WindowsNT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 5.10.102.1-microsoft-standard-WSL2 Remote OS version: Linux x64 5.10.102.1-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (12)</summaryExtensionVersion ------ Bookmarks13.3.0 remotehub0.35. remote-containers0.241.1 remote-ssh0.83. remote-ssh-edit0.80.0 remote-wsl0.66.3 remote-repositories0.12.0 material-icon-theme4.18.1 material-theme3.15.2 toml0.6.0 rust-analyzer0.4.1110 code-spell-checker2.2.5 </details<!-- generated by issue reporter --
Change:
// hasn't happened yet this._onProcessExit(undefined); <del> this._onDisposed.fire(this); </del> <ins> if (!this._isDisposed) { this._isDisposed = true; this._onDisposed.fire(this); } </ins> super.dispose(); }

Discussion:
I have been testing the task shell integration (running some tasks, resizing the terminal to see if the decoration stayed in the right place) and now one of my task terminals is unkillable: ! I had just killed 2 other task terminals without issue.
This seems like something that might be un-reproducible so I tried to debug a bit. The has set to , which is probably not very helpful information since I don't know how that happened. Error in Log (Window):
Maybe caused by
Is that issue about terminal editors? I never moved the terminal into an editor.
It is, but the change is related to dispose/isDisposed in the command TerminalInstance class
Change:
color: var(--vscode-editorCodeLens-foreground); } <del> .merge-editor-conflict-actions>a:hover .codicon::before { </del> <ins> .merge-editor-conflict-actions > a:hover .codicon::before { </ins> cursor: pointer; }

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.72.2 OS Version: macOS Montery 12.6 Steps to Reproduce: merge editor while rebasing on a branch with a lot of branch pointers or ones with a long name The text from the "Current" column overlaps into the "Incoming" column. Confirmed that it happens with the default theme as well. !
Please try out the latest insiders, this should be fixed.
Still appears to be an issue in the latest insiders ! !
Change:
logService?: ILogService ): string { if (shell.cwd) { <del> return (typeof shell.cwd === 'object') ? shell.cwd.fsPath : shell.cwd; </del> <ins> const unresolved = (typeof shell.cwd === 'object') ? shell.cwd.fsPath : shell.cwd; const resolved = _resolveCwd(unresolved, lastActiveWorkspace, configurationResolverService); return resolved || unresolved; </ins> } let cwd: string | undefined; if (!shell.ignoreConfigurationCwd && customCwd) { if (configurationResolverService) { <del> try { customCwd = configurationResolverService.resolve(lastActiveWorkspace, customCwd); } catch (e) { // There was an issue resolving a variable, log the error in the console and // fallback to the default. if (logService) { logService.error('Could not resolve terminal.integrated.cwd', e); } customCwd = undefined; } </del> <ins> customCwd = _resolveCwd(customCwd, lastActiveWorkspace, configurationResolverService, logService); </ins> } if (customCwd) { if (path.isAbsolute(customCwd)) {

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: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.39.2 OS Version: macOS 10.14.3 Steps to Reproduce: the new terminal.newWithCwd command as a new keybinding: to use the new keybinding with an open editor while using VS Code Remote - SSH. Expected Result: New terminal created with the cwd set at ${fileDirname} Actual Result: Error: '${fileDirname}' can not be resolved. Please open an editor. Notes: The keybinding works correctly when working with local directories. The issue only appears over SSH. The Terminal Here extension does work over SSH and accomplishes the same thing, but I would rather use the native feature if possible. The "echo ${fileDirname}" command (run through a task) prints the correct directory over SSH.
is the resolver service being used incorrectly here? seems to resolve fine but not or .
Configuration resolver is owned by hence assigning to him.
that usage seems good. Just make sure you always pass a workspace in. Also note that might be working as expacted ${workspaceFolder} can only be resolved if a folder is opened in VSCode, not in the pruple vscode. ${fileDirname} should always be resolved if there is an open file fyi
Change:
} .monaco-shell.hc-black [tabindex="0"]:focus, <ins> .monaco-shell.hc-black .synthetic-focus, </ins> .monaco-shell.hc-black select:focus, .monaco-shell.hc-black input[type="button"]:focus, .monaco-shell.hc-black input[type="submit"]:focus,

Discussion:
Right now, this sort of ruins the feeling of an input with options -- it becomes more like an input followed by some toggles ! -- if you have the time
! there you go
I made you a reviewer
Nice solution. Merged.
Change:
private selectDropDownListContainer: HTMLElement; private widthControlElement: HTMLElement; <del> constructor(options: string[], selected: number, contextViewProvider: IContextViewProvider, styles: ISelectBoxStyles, toDispose: IDisposable[]) { </del> <ins> constructor(options: string[], selected: number, contextViewProvider: IContextViewProvider, styles: ISelectBoxStyles) { </ins> <del> // Disposables handled by caller this.toDispose = toDispose; </del> <ins> this.toDispose = []; </ins> this.selectElement = document.createElement('select'); this.selectElement.className = 'select-box';

Discussion:
New SelectBox custom implementation creates a circular disposal since toDispose is still passed to the select box delegate where the class objects are into the disposable list which is really the parents list. Steps to Reproduce: code, open a terminal (instantiates the drop-down lists) panel (disposes SelectBox) gives a stack err, panel becomes blank and unusable shows an infinite disposal loop. Debug on disposal: [7432:1218/.472:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.472:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.472:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.472:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.473:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.473:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.473:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.473:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.474:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.474:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.474:INFO:CONSOLE(442)] "Dispose 14",

source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.475:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.475:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.476:INFO:CONSOLE(442)] "Dispose 14", source: file:///C:/VSC Dev/vc-fork- (442) [7432:1218/.476:INFO:CONSOLE(85)] "Maximum call stack size exceeded: RangeError: Maximum call stack size exceeded at Array.forEach (native) at Object.dispose (file:///C:/VSC Dev/vc-fork-) at SelectBoxList.dispose (file:///C:/VSC Dev/vc-fork-) at file:///C:/VSC Dev/vc-fork- at Array.forEach (native) at Object.dispose (file:///C:/VSC Dev/vc-fork-) at SelectBoxList.dispose (file:///C:/VSC Dev/vc-fork-) at file:///C:/VSC Dev/vc-fork- at Array.forEach (native) at Object.dispose (file:///C:/VSC Dev/vc-fork-)", source: file:///C:/VSC Dev/vc-fork- (85)
Fixed with
Change:
.monaco-workbench .repl .repl-tree .monaco-tl-contents .arrow { position:absolute; left: 2px; <del> opacity: 0.25; } .monaco-workbench.vs-dark .repl .repl-tree .monaco-tl-contents .arrow { opacity: 0.4; </del> } .monaco-workbench .repl .repl-tree .output.expression.value-and-source .source {

Discussion:
I stumbled over and saw that there are still many colors hard-coded. Also while at the .css file, it's good practice to qualify all rules with (or ) now that the workbench can be embedded in the web.
Thanks for great feedback. There was some unused CSS, like the .annotation in the repl, so I removed that. I have also now qualifed all with . There is still one hard coded color for in repl, but I believe tackled this with his great PR. Though I might be mistaken?
I did, indeed, add colour contribution points to the REPL as part of but eventually you asked me to defer those until later, I do not remember the reason precisely... So the REPL is still not theme-able, unfortunately.
thanks for refreshing my memory. In case you would like to contribute that part of your PR we are open to accept it now :D From the I only see a need for color, not sure if there is more.
I am working on this now. I am taking it a step further, though, and adding theming to most of the REPL elements (errors, warnings, infos, source filenames etc.). Basically I want the whole REPL view to be fully customisable.
To verify, make sure you can customise the following colors in the debug console. You can use the setting :
Change:
private _setState(context: CursorContext, modelState: SingleCursorState | null, viewState: SingleCursorState | null): void { if (viewState) { <del> viewState = Cursor._validateViewState(context.viewModel, viewState, context.cursorConfig); </del> <ins> viewState = Cursor._validateViewState(context.viewModel, viewState); </ins> } if (!modelState) {

Discussion:
Using copilot completions in the latest VS Code insiders, I see the cursor being pushed to after the suggested text. This makes it very difficult to work with the text while passive completions are suggested. <img width="1126" alt="image" src=""
FYI I didn't think of this.
is it possible to differentiate between an inline completion and inlay hint in the editor? maybe we could have different behavior in different cases?
Change:
<del> FROM mcr.microsoft.com/devcontainers/typescript-node:18-bookworm </del> <ins> FROM mcr.microsoft.com/devcontainers/typescript-node:20-bookworm </ins> ADD install-vscode.sh /root/ RUN /root/install-vscode.sh

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.90.0 OS Version: Darwin arm64 23.5.0 (macOS Sonoma 14.5) Follow the section of the Then, in the the first step (after connecting to the container) is to run: Yarn install should complete successfully, and should run the app. We get the following error: <img width="803" alt="yarn-install-failure" src=""According to the we're using . 20 is the current LTS, and 18 hasn't been in active support since October last year. We can use the node 20 version of the typescript dev container image: . For context: there was a compatibility issue with and node 20, as noted in the issue when we switched to the node 18 image: But it seems like this was resolved in : And we're on , so it should be fine
I've linked a PR with a fix. As suggested the last time this issue popped up: a CI test for the dev container could be useful.
Change:
@IPreferencesService private readonly preferencesService: IPreferencesService, @ITelemetryService private readonly telemetryService: ITelemetryService, ) { <del> super(id, localize('install', "Install"), cssClass, false); </del> <ins> super('extensions.install', localize('install', "Install"), InstallAction.Class, false); this.options = { ...options, isMachineScoped: false }; </ins> this.update(); this._register(this.labelService.onDidChangeFormatters(() => this.updateLabel(), this)); }

Discussion:
Look at telemetry and if not a lot of users are using the Install and Do not Sync extension action remove the action to simplify the Extension Install flow. is the action name. fyi
Ok was run on 59K distinct machines. For comparison extensionGallery:install was executed on 10.4M machines. So Do not Sync is used in 0.5% of cases. I think it is fine if we remove it - we keep it somewhere but not so prominent. what do you think?
Any suggestions?
We already have the "Sync Extension" check in the Extension context menu when it is installed - this is great. ! And we already have the "Sync Extension" check in the same context menu when it is not installed. Just currently if I click this, there is no effect. So ideally the experience would be that I can uncheck this before installing the extension. And thus we need no new actions. !
Lets try this in insiders already and see if we get any hit back.
Awesome - thanks!
Change:
* *Note:* The range must be a {@link Range.isSingleLine single line} and it must * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}. */ <del> range: IRange | { insert: IRange, replace: IRange }; </del> <ins> range: IRange | CompletionItemRanges; </ins> /** * An optional set of characters that when pressed while this completion is active will accept it first and * then type that character. *Note* that all commit characters should have `length=1` and that superfluous

Discussion:
Issue Type: <bBug</bI would like the prefix to trigger only when there is a leading whitespace in front of the prefix (it is supposed to be substituted with an explicit non-breaking space character ). The example of the snippet: --The prefix behaves as if there is no leading space, meaning the remains one extra whitespace before the expanded body, resulting in a double space: . VS Code version: Code 1.55.2 (, 2021-04-13T09:35:57.887Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (37)</summaryExtensionVersion ------ html-snippets0.2.1 Handlebars0.4.1 rc-beautify1.2.0 git-temporal-vscode1.0.0 insert-unicode0.10.0 i30.0.1 vscode-generate-getter-setter0.5.0 gitlens11.4.1 vscode-html-css1.10.2 vscode-npm-script0.3.21 carbon-now-sh1.2.0 vscode-angular-html1.7.0 beautify1.5.0 latex-workshop8.18.0 polacode-.5.2 svg1.4.6 Angular211.0.0 solidity0.0.113 Kotlin1.7.1 rainbow-csv1.8.1 vscode-docker1.12.1 python2021.5. vscode-pylance2021.5.2 jupyter2021.5. remote-containers0.166.1 postscript1.0.1 java0.79.1 LiveServer5.6.1 bash-debug0.3.9 scala0.5.3 bash-beautify0.1.1 code-settings-sync3.4.3 code-spell-checker1.10.2 sass-indented1.8.16 html-preview-vscode0.2.5 vscode-ruby0.28.0 markdown-all-in-one3.4.0 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I have a fix for this but it makes bigger changes in how snippet completion are computed. Pushing out to November to get more Insider usage for it, changes are in
Change:
public constructor( private terminalProcess: ITerminalProcess, private parentDomElement: HTMLElement, <ins> private contextMenuService: IContextMenuService, </ins> private contextService: IWorkspaceContextService, <ins> private instantiationService: IInstantiationService, private keybindingService: IKeybindingService, </ins> private terminalService: ITerminalService, private messageService: IMessageService, private terminalFocusContextKey: IKeybindingContextKey<boolean>,

Discussion:
Currently events are handled in each terminal instance, this means that event handlers go off for each terminal instances for an event on the terminal panel.
Change:
import assert = require('assert'); import { GhostTextContext } from 'vs/editor/contrib/inlineCompletions/test/utils'; import { Range } from 'vs/editor/common/core/range'; <ins> import { runWithFakedTimers } from 'vs/editor/contrib/inlineCompletions/test/timeTravelScheduler'; </ins> suite('Suggest Widget Model', () => { test('Active', async () => { await withAsyncTestCodeEditorAndInlineCompletionsModel('', { fakeClock: true, provider, },

Discussion:
I used blame to find the owner of inline completions. Who should this be assigned to?
Looks like you did that wrong <img width="826" alt="Screen Shot 2021-07-12 at 12 53 21" src="https://user-"
From slack: I found the real issue of the flaky unit test. Apparently, some test that runs before the inline suggestion test (which fakes /) calls . spawns a (5 seconds) that calls itself (basically an endless loop over time). When the time is faked, my inline completion test waits for all scheduled timers to finish until the queue of scheduled timers is empty (assuming I am in control of all scheduled timers when my test is run). However, the loop in then causes an endless loop. My test gives up after running 1000 scheduled timers and I guess then things are in an inconsistent state. This only happens when my tests are run right before is about to run. If my tests a run in the 5s interval in which is not called, nothing bad happens. As a quick fix, I will change my tests to not wait for the timer queue to get empty. As a long term fix, I think tests should be isolated better - at least they should make really sure they clean up everything (such as disposables/timers/global handlers/etc.). Joh tracked this down to this leaking disposable: