记录一个ZED IDE插件市场无法访问的问题,与其解决过程与方案

我已经厌倦了IDEA巨量的内存与CPU占用,正在寻找替代方案。

我将目光投降ZED,ZED是一个用Rust编写的高性能IDE,支持所有我常用的技术栈,java,vue,python 以及一些个人兴趣性的技术栈go,rust等,基本满足我的需求。虽然它暂时不支持debug,但我愿意提前尝试它。

我使用brew下载zed

brew install --cast zed

下载完成后,无论如何都无法打开zed的插件市场,并且左下角一直显示auto update failed

猜测可能是proxy需要专门配置,但在官网的文档上未找到相关配置文档。遂在github上找到了此issue Global socks5/http/https proxy support

按照社区成员的建议,配置了"proxy": "socks5://127.0.0.1:7890",但仍无法访问插件市场,以为是此配置未生效。于是查找自己的proxy软件日志,发现确实走了proxy。百思不得其解,只能将源码pull下来自行编译debug。

按Building Zed for macOS文档的指引,编译完成后,遂发现真实原因为连接超时。

我的proxy软件延迟常常达到大几百甚至数秒,Zed设置的默认超时时间会导致绝大部分情况下都会连接超时,修改此函数中的超时设置,重新编译打包Zed,终于成功连接插件市场,并成功启用自动更新
下为修改的代码位置

pub fn client(proxy: Option<isahc::http::Uri>) -> Arc<dyn HttpClient> {
    Arc::new(
        isahc::HttpClient::builder()
            .connect_timeout(Duration::from_secs(5))
            .low_speed_timeout(100, Duration::from_secs(5))
            .proxy(proxy)
            .build()
            .unwrap(),
    )
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值