Repository: vscode
Issue: Speech To Text in VS code is awkward on MacOS
Labels: bug,macos,editor-input


Type: <b>Bug</b>

Just try using the MacOS inbuilt Dictation tool in VSCode.

(This tool can be activated under SystemSettings -> Keyboard -> Dictation).

Many problems:
- If WordWrap is on and the line spills over, there is a rendering error; a superposition of texts.
- If I speak part of a sentence and then pause and continue, I'm likely to get a capitalisation error, which means I'm constantly wasting time tidying up text.
- If I insert the cursor at a location and speak, again there is a likelihood of a capitalisation error.
- If I mix between speaking and typing, sometimes I get unpredictable behaviour:
    - Sometimes an entire 'most recently composed' section of the document gets deleted, and there is no way to recover it (via Undo shortcut, or otherwise).
    - Sometimes a section of text gets duplicated.

I think that the fundamental problem here is with this MacOS tool. I think it's design is overly complex and intricate, and it often falls over.

Given that most VS Code users spend most of their day entering text into VSCode, it would be really nice to have a solution that takes care of SpeechToText. Maybe a fix to interop with this Dictation tool, maybe an extension, maybe a VSCode core functionality.

I'm not bothered about speech-to-code. I'm quite happy to type my code. but if I am editing text files (.txt, .md, .nt, etc.) or modifying text content within the code (e.g. AI prompts, docstrings, strings, comments, etc.) I would like something simple and reliable.

VS Code version: Code 1.89.1 (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:14:32.757Z)
OS version: Darwin arm64 23.4.0
Modes:

<details>
<summary>System Info</summary>

|Item|Value|
|---|---|
|CPUs|Apple M2 (8 x 24)|
|GPU Status|2d_canvas: enabled<br>canvas_oop_rasterization: enabled_on<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>skia_graphite: disabled_off<br>video_decode: enabled<br>video_encode: enabled<br>webgl: enabled<br>webgl2: enabled<br>webgpu: enabled|
|Load (avg)|2, 2, 2|
|Memory (System)|24.00GB (2.49GB free)|
|Process Argv|--crash-reporter-id f10d97cd-2115-4dba-a34a-07be9312995a|
|Screen Reader|no|
|VM|0%|
</details><details><summary>Extensions (21)</summary>

Extension|Author (truncated)|Version
---|---|---
dvt-remote-ssh|ami|1.0.0
nestedtext|bma|2.0.0
githistory|don|0.6.20
copilot|Git|1.194.886
copilot-chat|Git|0.15.2024043005
vsc-python-indent|Kev|1.18.0
rainbow-csv|mec|3.11.0
vscode-docker|ms-|1.29.1
debugpy|ms-|2024.6.0
python|ms-|2024.6.0
vscode-pylance|ms-|2024.5.1
jupyter|ms-|2024.4.0
jupyter-keymap|ms-|1.1.2
jupyter-renderers|ms-|1.0.17
vscode-jupyter-cell-tags|ms-|0.1.9
vscode-jupyter-slideshow|ms-|0.1.6
remote-containers|ms-|0.362.0
remote-ssh|ms-|0.110.1
remote-ssh-edit|ms-|0.86.0
remote-explorer|ms-|0.4.3
vscode-speech|ms-|0.8.0

(1 theme extensions excluded)

</details><details>
<summary>A/B Experiments</summary>

```
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
tftest:31042121
vstes627:30244334
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
vscaac:30438847
c4g48928:30535728
azure-dev_surveyone:30548225
2i9eh265:30646982
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pythonmypyd1:30879173
pythoncet0:30885854
2e7ec940:31000449
pythontbext0:30879054
accentitlementst:30995554
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
chatpanelt:31048053
dsvsc021:30996838
jg8ic977:31013176
pythoncenvptcf:31049071
a69g1124:31046351
pythonprc:31047982
dwnewjupytercf:31046870
26j00206:31048877

```

</details>

<!-- generated by issue reporter -->