Skip to content

[preferences] PreferenceChanged event emitted multiple times for languages #6709

@vince-fugnitto

Description

@vince-fugnitto

Description

When a preference is updated (ex: editor.acceptSuggestionOnCommitCharacter) through the set method, multiple change events are emitted for every language. Is this the intended behavior? (it seems excessive)

This seems to only occur for language specific preferences (or those from Monaco).
It did not occur for example for the following preference: workspace.preserveWindow.

Steps to Reproduce

A command was created which reads the current preference value, updates it, and listens to the change event (which is then logged):

  1. open in Gitpod
  2. run the command Vince: Test Preference
  3. check the frontend logs

Open in Gitpod

Log

root INFO preference updated: { name: editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [plaintext].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [jsonc].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [bat].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [clojure].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [coffeescript].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [csharp].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [css].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [fsharp].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [groovy].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [handlebars].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [hlsl].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [ini].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [log].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [lua].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [makefile].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [objective-c].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [perl].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [powershell].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [jade].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [r].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [razor].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [shaderlab].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [sql].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [swift].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [vb].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [html].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [less].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [scss].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [markdown].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [shell].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [tcl].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [xml].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [xsl].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [java].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [typescript].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [typescriptreact].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [javascript].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [javascriptreact].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [jsx-tags].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [python].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [go].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [rust].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [php].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [c].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [cpp].editor.acceptSuggestionOnCommitCharacter }
bundle.js:136156 root INFO preference updated: { name: [json].editor.acceptSuggestionOnCommitCharacter }

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceissues related to performancepreferencesissues related to preferencesquestionuser / developer questions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions