pub struct ExtensionDescriptionStateDTO {Show 13 fields
pub Identifier: Value,
pub Name: String,
pub Version: String,
pub Publisher: String,
pub Engines: Value,
pub Main: Option<String>,
pub Browser: Option<String>,
pub ModuleType: Option<String>,
pub IsBuiltin: bool,
pub IsUnderDevelopment: bool,
pub ExtensionLocation: Value,
pub ActivationEvents: Option<Vec<String>>,
pub Contributes: Option<Value>,
}Expand description
Represents the deserialized content of an extension’s package.json file,
augmented with location information and other metadata.
This is stored in ApplicationState to provide the extension host with the
list of available extensions and their capabilities.
VS Code extensions use camelCase in package.json. Serde renames from
PascalCase Rust fields to camelCase JSON automatically. Fields that
don’t exist in package.json (Identifier, ExtensionLocation, IsBuiltin)
default to their zero values on deserialization.
Fields§
§Identifier: ValueExtension identifier: { value: string, uuid?: string } Not present in package.json — constructed from publisher.name after parsing.
Name: StringExtension name (from package.json “name”)
Version: StringSemantic version string (e.g., “1.0.0”)
Publisher: StringPublisher name or identifier
Engines: ValueEngine compatibility requirements: { vscode: string }
Main: Option<String>Main entry point path (Node.js runtime)
Browser: Option<String>Browser entry point path (web extension)
ModuleType: Option<String>Module type: commonjs or esm
IsBuiltin: boolWhether this is a built-in extension (not in package.json, set by scanner)
IsUnderDevelopment: boolWhether extension is under active development
ExtensionLocation: ValueInstallation location URI (set by scanner, not in package.json)
ActivationEvents: Option<Vec<String>>Activation event triggers (e.g., “onStartupFinished”)
Contributes: Option<Value>Extension contributions (commands, views, etc.)
Implementations§
Source§impl ExtensionDescriptionStateDTO
impl ExtensionDescriptionStateDTO
Trait Implementations§
Source§impl Clone for ExtensionDescriptionStateDTO
impl Clone for ExtensionDescriptionStateDTO
Source§fn clone(&self) -> ExtensionDescriptionStateDTO
fn clone(&self) -> ExtensionDescriptionStateDTO
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExtensionDescriptionStateDTO
impl Debug for ExtensionDescriptionStateDTO
Source§impl<'de> Deserialize<'de> for ExtensionDescriptionStateDTO
impl<'de> Deserialize<'de> for ExtensionDescriptionStateDTO
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ExtensionDescriptionStateDTO
impl RefUnwindSafe for ExtensionDescriptionStateDTO
impl Send for ExtensionDescriptionStateDTO
impl Sync for ExtensionDescriptionStateDTO
impl Unpin for ExtensionDescriptionStateDTO
impl UnsafeUnpin for ExtensionDescriptionStateDTO
impl UnwindSafe for ExtensionDescriptionStateDTO
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].