дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 03:05:40 +02:00
The remote server read the login shell's PATH once and cached it, had no project-level environment, and changed environment variables only took effect after reinstalling or a manual restart.
- Every openidea-server start re-reads the remote login shell's full environment (`$SHELL -ilc env -0`), with the cached PATH only as a fallback when the shell doesn't answer.
- A project's `.devcontainer/devcontainer.json` (or `.devcontainer.json`) applies on remote hosts: `remoteEnv` (with `${localEnv|containerEnv|env:X[:default]}`, workspace variables and `null` to unset) reaches every child process through one environment overlay (terminals, run configurations, language servers, debuggers, build tools, git), and `postStartCommand` (string, array or parallel object) runs once per server start in the project root as a cancellable background task; a failure raises a notification with the exit code and the last output lines without blocking the project.
- Reload Environment (`remote.reloadEnvironment`, File menu and Find Action) re-resolves the login shell and `remoteEnv` without restarting the server, starting from the process's original environment so prepended PATH entries don't pile up; it lists the changed variables, notes that running processes keep their environment, and offers to restart language servers.
- The JSONC reader moves to `ide_core::jsonc` and is shared with ide-run.
Claude-Session: https://claude.ai/code/session_01Dq6jQQn8ZhRfkkyj3PRutA
29 рядки
778 B
Rust
29 рядки
778 B
Rust
//! Shared vocabulary for every OpenIDEA crate.
|
|
//!
|
|
//! Anything that crosses a crate boundary or the IPC boundary lives here, so
|
|
//! feature crates depend on `ide-core` and never on each other's internals.
|
|
//! All IPC-facing types derive `specta::Type`, which generates `src/bindings.ts`.
|
|
|
|
pub mod editor_settings;
|
|
pub mod error;
|
|
pub mod event;
|
|
pub mod ids;
|
|
pub mod ignored;
|
|
pub mod inspection_settings;
|
|
pub mod ipc_path;
|
|
pub mod jsonc;
|
|
pub mod process;
|
|
pub mod project_dir;
|
|
pub mod remote_settings;
|
|
pub mod settings;
|
|
pub mod task;
|
|
pub mod text;
|
|
pub mod workflow_settings;
|
|
|
|
pub use error::{IdeError, IdeResult};
|
|
pub use event::{EventSink, IdeEvent, NullSink, SharedSink};
|
|
pub use ids::*;
|
|
pub use ipc_path::IpcPath;
|
|
pub use text::*;
|
|
pub use tokio_util::sync::CancellationToken;
|