pub struct VTCodeConfig {Show 34 fields
pub file_opener: FileOpener,
pub project_doc_max_bytes: Option<usize>,
pub project_doc_fallback_filenames: Vec<String>,
pub notify: Vec<String>,
pub history: HistoryConfig,
pub tui: TuiConfig,
pub agent: AgentConfig,
pub auth: AuthConfig,
pub tools: ToolsConfig,
pub commands: CommandsConfig,
pub permissions: PermissionsConfig,
pub security: SecurityConfig,
pub sandbox: SandboxConfig,
pub ui: UiConfig,
pub chat: ChatConfig,
pub pty: PtyConfig,
pub debug: DebugConfig,
pub context: ContextFeaturesConfig,
pub telemetry: TelemetryConfig,
pub optimization: OptimizationConfig,
pub syntax_highlighting: SyntaxHighlightingConfig,
pub timeouts: TimeoutsConfig,
pub automation: AutomationConfig,
pub prompt_cache: PromptCachingConfig,
pub mcp: McpClientConfig,
pub acp: AgentClientProtocolConfig,
pub ide_context: IdeContextConfig,
pub hooks: HooksConfig,
pub model: ModelConfig,
pub provider: ProviderConfig,
pub skills: SkillsConfig,
pub custom_providers: Vec<CustomProviderConfig>,
pub output_style: OutputStyleConfig,
pub dotfile_protection: DotfileProtectionConfig,
}Expand description
Main configuration structure for VT Code
Fields§
§file_opener: FileOpenerCodex-compatible clickable citation URI scheme.
project_doc_max_bytes: Option<usize>Codex-compatible project doc byte limit override.
project_doc_fallback_filenames: Vec<String>Codex-compatible fallback filenames for project instructions discovery.
notify: Vec<String>External notification command invoked for supported events.
history: HistoryConfigCodex-compatible local history persistence controls.
tui: TuiConfigCodex-compatible TUI settings.
agent: AgentConfigAgent-wide settings
auth: AuthConfigAuthentication configuration for OAuth flows
tools: ToolsConfigTool execution policies
commands: CommandsConfigUnix command permissions
permissions: PermissionsConfigPermission system settings (resolution, audit logging, caching)
security: SecurityConfigSecurity settings
sandbox: SandboxConfigSandbox settings for command execution isolation
ui: UiConfigUI settings
chat: ChatConfigChat settings
pty: PtyConfigPTY settings
debug: DebugConfigDebug and tracing settings
context: ContextFeaturesConfigContext features (e.g., Decision Ledger)
telemetry: TelemetryConfigTelemetry configuration (logging, trajectory)
optimization: OptimizationConfigPerformance optimization settings
syntax_highlighting: SyntaxHighlightingConfigSyntax highlighting configuration
timeouts: TimeoutsConfigTimeout ceilings and UI warning thresholds
automation: AutomationConfigAutomation configuration
prompt_cache: PromptCachingConfigPrompt cache configuration (local + provider integration)
mcp: McpClientConfigModel Context Protocol configuration
acp: AgentClientProtocolConfigAgent Client Protocol configuration
ide_context: IdeContextConfigIDE context configuration
hooks: HooksConfigLifecycle hooks configuration
model: ModelConfigModel-specific behavior configuration
provider: ProviderConfigProvider-specific configuration
skills: SkillsConfigSkills system configuration (Agent Skills spec)
custom_providers: Vec<CustomProviderConfig>User-defined OpenAI-compatible provider endpoints.
These entries are editable in /config and appear in the model picker
using each entry’s display_name.
output_style: OutputStyleConfigOutput style configuration
dotfile_protection: DotfileProtectionConfigDotfile protection configuration
Implementations§
Source§impl VTCodeConfig
impl VTCodeConfig
pub fn apply_compat_defaults(&mut self)
pub fn validate(&self) -> Result<()>
Sourcepub fn custom_provider(&self, name: &str) -> Option<&CustomProviderConfig>
pub fn custom_provider(&self, name: &str) -> Option<&CustomProviderConfig>
Look up a custom provider by its stable key.
Sourcepub fn provider_display_name(&self, provider_key: &str) -> String
pub fn provider_display_name(&self, provider_key: &str) -> String
Get the display name for any provider key, falling back to the raw key if no custom provider matches.
Sourcepub fn bootstrap_project<P: AsRef<Path>>(
workspace: P,
force: bool,
) -> Result<Vec<String>>
pub fn bootstrap_project<P: AsRef<Path>>( workspace: P, force: bool, ) -> Result<Vec<String>>
Bootstrap project with config + gitignore
Sourcepub fn bootstrap_project_with_options<P: AsRef<Path>>(
workspace: P,
force: bool,
use_home_dir: bool,
) -> Result<Vec<String>>
pub fn bootstrap_project_with_options<P: AsRef<Path>>( workspace: P, force: bool, use_home_dir: bool, ) -> Result<Vec<String>>
Bootstrap project with config + gitignore, with option to create in home directory
Sourcepub fn bootstrap_project_with_provider<P: AsRef<Path>>(
workspace: P,
force: bool,
use_home_dir: bool,
defaults_provider: &dyn ConfigDefaultsProvider,
) -> Result<Vec<String>>
pub fn bootstrap_project_with_provider<P: AsRef<Path>>( workspace: P, force: bool, use_home_dir: bool, defaults_provider: &dyn ConfigDefaultsProvider, ) -> Result<Vec<String>>
Bootstrap project files using the supplied ConfigDefaultsProvider.
Trait Implementations§
Source§impl Clone for VTCodeConfig
impl Clone for VTCodeConfig
Source§fn clone(&self) -> VTCodeConfig
fn clone(&self) -> VTCodeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VTCodeConfig
impl Debug for VTCodeConfig
Source§impl Default for VTCodeConfig
impl Default for VTCodeConfig
Source§fn default() -> VTCodeConfig
fn default() -> VTCodeConfig
Source§impl<'de> Deserialize<'de> for VTCodeConfig
impl<'de> Deserialize<'de> for VTCodeConfig
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>,
Source§impl JsonSchema for VTCodeConfig
impl JsonSchema for VTCodeConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for VTCodeConfig
impl RefUnwindSafe for VTCodeConfig
impl Send for VTCodeConfig
impl Sync for VTCodeConfig
impl Unpin for VTCodeConfig
impl UnsafeUnpin for VTCodeConfig
impl UnwindSafe for VTCodeConfig
Blanket Implementations§
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more