Skip to main content

TauriVscodeServer

Struct TauriVscodeServer 

Source
pub struct TauriVscodeServer { /* private fields */ }
Expand description

A wrapper around VscodeServerManager tailored for use in Tauri applications.

This struct simplifies the integration of the VSCode server with Tauri by managing the server’s lifecycle based on TauriConfig settings. It’s designed to be held in Tauri’s application state.

The underlying VscodeServerManager is wrapped in an Arc<Mutex<>> to allow shared mutable access from Tauri commands.

Implementations§

Source§

impl TauriVscodeServer

Source

pub async fn new(config: TauriConfig) -> Result<Self, ServerError>

Creates a new TauriVscodeServer with the given Tauri-specific configuration.

This will internally create a VscodeServerManager.

§Arguments
  • config - A TauriConfig struct.
§Errors

Propagates errors from VscodeServerManager::with_config (though currently it doesn’t error).

Source

pub async fn initialize(&self) -> Result<ServerInfo, ServerError>

Initializes the VSCode server.

This involves ensuring the server is downloaded/extracted (via ensure_server) and, if config.auto_start is true, starting the server.

Returns information about the server if successful.

§Errors

Propagates errors from VscodeServerManager::ensure_server and VscodeServerManager::start.

Source

pub async fn get_url(&self) -> String

Returns the URL where the VSCode server is expected to be listening.

This is an asynchronous operation as it requires locking the underlying manager.

Source

pub async fn get_info(&self) -> Result<Value, ServerError>

Returns a JSON representation of the server’s information and configuration.

This is useful for providing server details to a Tauri frontend. The JSON object includes serverUrl, monacoApiVersion, vscodeCommit, platform, and serviceConfig (with baseUrl and connectionToken).

§Errors

Returns ServerError::ServerNotFound if the server info hasn’t been determined yet.

Source

pub async fn stop(&self) -> Result<(), ServerError>

Stops the VSCode server process.

This is an asynchronous operation.

§Errors

Propagates errors from VscodeServerManager::stop.

Source

pub async fn restart(&self) -> Result<(), ServerError>

Restarts the VSCode server process.

This involves stopping the server, waiting briefly, and then starting it again. This is an asynchronous operation.

§Errors

Propagates errors from VscodeServerManager::stop and VscodeServerManager::start.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more