Repository: vscode
Issue: Neither .vscode/settings.json or <user-data-dir>/User/settings.json are honored with serve-web
Labels: debt,code-cli

<!-- ⚠️⚠️ Do Not Delete This! bug_report_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- 🕮 Read our guide about submitting issues: https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions -->
<!-- 🔎 Search existing issues to avoid creating duplicates. -->
<!-- 🧪 Test using the latest Insiders build to see if your issue has already been fixed: https://code.visualstudio.com/insiders/ -->
<!-- 💡 Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. -->
<!-- 🔧 Launch with `code --disable-extensions` 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.96.4
cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba
arm64

- OS Version: Darwin Chriss-MacBook-Pro-2.local 24.2.0 Darwin Kernel Version 24.2.0: Fri Dec  6 19:02:12 PST 2024; root:xnu-11215.61.5~2/RELEASE_ARM64_T6031 arm64

Steps to Reproduce:

For the user-data-dir settings not being recognized:

1. Create a file `~/test-user-data-dir/User/settings.json`
2. Add settings.json something like this (easy to immediately see if they were applied):
```json
{
    "workbench.startupEditor": "none",
    "workbench.colorTheme": "Default Dark Modern",
    "editor.fontSize": 16,
    "terminal.integrated.fontSize": 16,
    "files.autoSave": "afterDelay",
    "workbench.tree.indent": 16,
    "editor.minimap.enabled": false,
    "terminal.integrated.open": true,
    "terminal.integrated.defaultLocation": "bottom",
    "workbench.panel.defaultLocation": "bottom",
    "terminal.integrated.shellIntegration.enabled": true,
    "terminal.integrated.defaultProfile.osx": "zsh",
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.profiles.osx": {
        "zsh": {
            "path": "/bin/zsh"
        }
    },
    "terminal.integrated.profiles.linux": {
        "bash": {
            "path": "/bin/bash"
        }
    },
    "security.workspace.trust.enabled": false,
    "security.workspace.trust.startupPrompt": "never",
    "security.workspace.trust.emptyWindow": true,
    "git.openRepositoryInParentFolders": "never"
}
```
3. Launch with:

```shell
code serve-web \
  --user-data-dir=~/test-user-data-dir \
  --extensions-dir=~/test-ext-dir \
  --server-data-dir=~/test-server-dir \
  --accept-server-license-terms \
  --without-connection-token \
  --port=8000
```

And navigate to `http://127.0.0.1:8000`

Alternatively, if using a local `.vscode/settings.json` in the project of your choice

1. Create `~/my-project/.vscode/settings.json` (with this repro make sure you leave the `test-user-data-dir` completely empty)
2. Add same json settings as above
3. Launch with:

```shell
code serve-web \
  --user-data-dir=~/test-user-data-dir \
  --extensions-dir=~/test-ext-dir \
  --server-data-dir=~/test-server-dir \
  --accept-server-license-terms \
  --without-connection-token \
  --port=8000
```

And for this example, navigate to `http://127.0.0.1:8000/?folder=/my-project`

In both cases, you will see things like the "Do you trust the authors?" popup (which should not be the case) and things like the font size(s), theme, all of which are not applied.