Table of Contents

Class SdkServerOptions

Namespace
RDCore.SDK.Server.Configuration
Assembly
RDCore.SDK.dll

Server-level configuration settings, bound from appsettings.json or overridden from command-line arguments.

public record SdkServerOptions : IEquatable<SdkServerOptions>
Inheritance
SdkServerOptions
Implements
Inherited Members

Properties

ClientProcessId

The process ID of the client process that starts a LSP server process.

public int ClientProcessId { get; set; }

Property Value

int

Remarks

🧩 For an extension, the ClientProcessID is the process ID of the language server application.

ConnectTimeoutSeconds

The number of seconds a client will await a server connection before a connection is aborted.

public int ConnectTimeoutSeconds { get; set; }

Property Value

int

HealthCheckIntervalSeconds

The number of seconds between health check pings.

public int HealthCheckIntervalSeconds { get; set; }

Property Value

int

Remarks

👉 Determines how long the server process remains orphaned before initiating a shutdown when the client process that owns it fails to respond, for example if it crashes or is otherwise abruptly terminated.

ShutdownTimeoutSeconds

The number of seconds the server will wait for an Exit notification from the client after receiving a Shutdown request.

public int ShutdownTimeoutSeconds { get; set; }

Property Value

int

Remarks

👉 The server process exit code depends on whether the Exit notification was received after processing a Shutdown request.

TraceLevel

The minimum Microsoft.Extensions.Logging.LogLevel of a trace message that makes it through to the trace output.

public LogLevel TraceLevel { get; set; }

Property Value

LogLevel

UnsafeDevMode

⚠️ Allows the server platform to load unsigned plug-ins.

public bool UnsafeDevMode { get; init; }

Property Value

bool

Remarks

🧩 This is useful for developing plug-ins with a private fork.
This setting is read-only and must be explicitly overridden via a command-line argument.

Verbose

Whether verbose messages are generated or not.
🧩 Applications may configure the content of their verbose messages in more details.

public bool Verbose { get; set; }

Property Value

bool

Remarks

⚠️ Verbose messages may contain relatively sensitive information such as document locations, symbol names, and execution stack traces.
⚠️ Verbose messages are NEVER to be transmitted via any kind of telemetry.