Skip to content

Protocol for reporting configuration structure (and current configuration)? #467

@idanarye

Description

@idanarye

Language servers can have their own settings, can be pushed from the client to the server using workspace/didChangeConfiguration or requested by the server using workspace/configuration. Each language server can have its own configuration fields, and they tend to configure the structure of these settings to the companion VSCode plugin - more specifically, the contributes.configuration field of the package.json file. This allows (I assume) VSCode to render a nice menu with all the language server's specific settings.

Since LSP is supposed to be tool agnostic, it would be nice if the client could get from the language server the specifications for the configuration it supports. That way every client - not just VSCode - could render a UI for the user to configure the language server. Or, at the very least least, format a scaffold for the configuration for the user to manually edit.

Additionally, since configuration settings can come from other sources (e.g. - project configuration files), I think the client should be able to get from the server the current values of the configuration, to display them in the new settings UIs and to avoid overwriting them with the defaults it gets from the language server.

Metadata

Metadata

Assignees

No one assigned

    Labels

    *out-of-scopePosted issue is not in scope of VS Codefeature-requestRequest for new features or functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions