Configuration is the part of Plugins that makes it so powerful as compared to other plugin systems, the ability to quickly see all the setting and change them allows users to start using a plugin to its full potential much quicker!
The installation field takes a list of configurations, these can also be grouped together
Declaration: `configuration?: (ConfigurationItem | ConfigurationGroup)[];
A ConfigurationItem
can be one of two varients, EnvironmentVariableItem
or
ScriptItem
, they both also have the elements of Ui
and
ConfigurationInterface
value: string,
concat?: boolean,
export?: boolean
-
displayName
: The name of the configuration item, this is what is displayed to the user -
description
: A description of the configuration item, this should be relatively short -
additionalDetails
: Additional information about the configuration item -
hidden
: Whether or not the configuration item is hidden based on aConfigurationGenerator<bool>
-
disabled
: Whether or not the configuration item is disabled based on aConfigurationGenerator<bool>
interface ConfigurationInterface {
displayName?: string;
description?: string;
additionalDetails?: string;
hidden?: ConfigurationGenerator<boolean>;
disabled?: ConfigurationGenerator<boolean>;
}
A ConfigurationGroup
can take all the elements in
ConfigurationInterface
but requires a
displayName
and has a list of children configuration
that contains a list of
ConfigurationItem
s.
Declaration:
interface ConfigurationGroup extends ConfigurationInterface {
displayName: string;
configuration: ConfigurationItem[]
}