The extension applies the setting on startup and re-syncs whenever a new file is opened.
Why this extension exists
VS Code provides a Centered Layout mode toggled via View: Toggle Centered Layout. The setting workbench.editor.centeredLayout is supposed to persist this preference across restarts, but due to a startup sequencing bug the UI state is reset to false even when the setting is true.
This extension activates after VS Code finishes loading (onStartupFinished) and forces the UI state to match the setting value. It also re-syncs on onDidOpenTextDocument to handle edge cases where VS Code resets the layout mid-session (e.g. diff editors).
Behavior
Event
Action
VS Code starts
Apply workbench.editor.centeredLayout value
New file opened (file:// or untitled://)
Re-sync if state drifted
Setting changed at runtime
Apply immediately, no restart needed
Limitations
VS Code does not expose a public API to read the current centered layout state. The extension tracks state in memory per window session, assuming VS Code always resets to false on restart (which matches the bug behavior). If the user manually toggles centered layout outside the setting, the extension will re-apply the setting value on the next relevant event.
Centered layout is automatically disabled by VS Code when multiple editor groups are present. This extension does not override that behavior.
Development
git clone <repo>
cd centered-layout-fix
npm install
npm run compile # or: npm run watch
# Package
npx @vscode/vsce package --no-dependencies --allow-missing-repository
# Install locally
code --install-extension centered-layout-fix-0.1.0.vsix