Repository: vscode
Issue: Inconsistent dropping of problem markers
Labels: under-discussion,languages-diagnostics

Type: <b>Bug</b>

When many problems are reported by the language server, VS Code will limit the number of problems that are actually reported.  There are (at least) two locations where the number of problems are topped off:
* `_updateDecorations` in `src/vs/editor/common/services/markerDecorationsService.ts`
* `set` in `src/vs/workbench/api/common/extHostDiagnostics.ts`

`_updateDecorations` limits the number of problems (diagnostics) to `1000`.  If more are provided by the language server, then these are dropped and replaced by a single problem report stating that some additional problems were dropped.

`set`  enforces a tighter limit.  At most 500 marker decorations are applied in the editor.   The rest are (silently) dropped.

I think it would be best if both limits would be identical (and derived from the same constant).  As it stands, you'll see more problems in the problems view than those who are actual decorated in the editor.  In addition, the problem markers that are dropped from the editor seem randomly selected (there is a logic to it but it's not obvious to the end-user).  This gives the feel that the problem markers are buggy. 

Bonus points for making this limit configurable.

VS Code version: Code 1.79.2 (695af097c7bd098fbf017ce3ac85e09bbc5dda06, 2023-06-14T08:59:55.818Z)
OS version: Linux x64 6.3.8-200.fc38.x86_64
Modes:

<details>
<summary>System Info</summary>

|Item|Value|
|---|---|
|CPUs|Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 4600)|
|GPU Status|2d_canvas: enabled<br>canvas_oop_rasterization: disabled_off<br>direct_rendering_display_compositor: disabled_off_ok<br>gpu_compositing: enabled<br>multiple_raster_threads: enabled_on<br>opengl: enabled_on<br>rasterization: enabled<br>raw_draw: disabled_off_ok<br>video_decode: enabled<br>video_encode: disabled_software<br>vulkan: disabled_off<br>webgl: enabled<br>webgl2: enabled<br>webgpu: disabled_off|
|Load (avg)|0, 0, 0|
|Memory (System)|31.25GB (10.40GB free)|
|Process Argv|. --crash-reporter-id f404ea47-2d17-4a9c-918b-afa944f69dcc|
|Screen Reader|no|
|VM|0%|
|DESKTOP_SESSION|gnome|
|XDG_CURRENT_DESKTOP|GNOME|
|XDG_SESSION_DESKTOP|gnome|
|XDG_SESSION_TYPE|wayland|
</details><details><summary>Extensions (33)</summary>

Extension|Author (truncated)|Version
---|---|---
vscode-languagetool|ada|3.8.0
vscode-languagetool-en|ada|3.8.0
All-Autocomplete|Ati|0.0.26
spellright|ban|3.0.116
vscode-markdownlint|Dav|0.51.0
haskell|has|2.2.4
ormolu|ily|0.0.12
language-haskell|jus|3.6.0
lean4|lea|0.0.104
isort|ms-|2022.8.0
python|ms-|2023.10.1
vscode-pylance|ms-|2023.6.40
jupyter|ms-|2023.5.1101742258
jupyter-keymap|ms-|1.1.2
jupyter-renderers|ms-|1.0.15
vscode-jupyter-cell-tags|ms-|0.1.8
vscode-jupyter-slideshow|ms-|0.1.5
remote-ssh|ms-|0.102.0
remote-ssh-edit|ms-|0.86.0
remote-explorer|ms-|0.4.0
vsliveshare|ms-|1.0.5873
lsp-inspector-webview|oct|0.0.2
java|red|1.19.0
rust-analyzer|rus|0.3.1566
sigasi-vscode|sig|5.2.0
intellicode-api-usage-examples|Vis|0.2.7
vscodeintellicode|Vis|1.2.30
vscode-java-debug|vsc|0.51.0
vscode-java-dependency|vsc|0.23.0
vscode-java-pack|vsc|0.25.11
vscode-java-test|vsc|0.39.0
vscode-maven|vsc|0.41.0
markdown-all-in-one|yzh|3.5.1


</details><details>
<summary>A/B Experiments</summary>

```
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263:30776702
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
2e4cg342:30602488
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
03d35959:30757346
pythonfmttext:30731395
pythoncmvfstrcf:30756944
fixshowwlkth:30771522
hideindicator:30766889
pythongtdpath:30769146
gsof1:30774496
dh2dc718:30776458
pythonidxptcf:30772540
pythondjangots:30772535
pythonnocebcf:30776496

```

</details>

<!-- generated by issue reporter -->