工具链

Zed 项目提供了一个专用的 UI 用于工具链选择,这使您可以为当前项目中的给定语言选择一套工具。

假设您正在处理一个 Python 项目,该项目具有虚拟环境,这些虚拟环境封装了项目的一组依赖项以及一个合适的解释器来运行它。语言服务器必须知道您正在使用哪个虚拟环境,因为它使用它来理解您的项目代码。使用工具链选择器,您无需花费时间配置语言服务器以将其指向正确的虚拟环境目录——您只需从下拉列表中选择正确的虚拟环境(工具链)即可。

您甚至可以为 Zed 项目中的不同子项目选择不同的工具链。子项目的定义是特定于语言的。在协作场景中,只有项目所有者才能查看和修改活动的工具链。

远程项目中,您可以使用工具链选择器来控制 SSH 主机上的活动工具链。当共享您的项目时,工具链选择器对访客不可用。

为什么我们需要工具链?

活动的工具链与启动语言服务器相关,语言服务器可能需要它才能正常运行——它可能无法解析依赖项,这反过来可能导致“转到定义”或“代码完成”等功能不可用。

在终端面板中启动 shell 时,活动的工具链也相关:一些工具链为 shell 提供“激活脚本”,这使得这些工具链在 shell 环境中可用,为您提供便利。当您创建新终端时,Zed 将自动运行这些激活脚本。

这也适用于任务——Zed 任务的行为“如同”您自己打开了一个新的终端选项卡并运行了给定的任务调用,这反过来意味着 Zed 任务的执行受活动工具链及其激活脚本的影响。

选择工具链

活动的工具链(如果有的话)显示在状态栏中(右侧)。单击它以访问工具链选择器——您也可以使用命令面板中的操作(toolchain: select)。

Zed 将根据您正在处理的项目自动推断出一组可供选择的工具链。当您第一次打开项目时,Zed 还会尽力为您选择一个默认值。

工具链选择适用于当前子项目,根据您的 Zed 项目结构,这可能是您的整个项目或仅仅是其中的一部分。例如,如果您有一个包含多个子项目的 monorepo,您可能希望为每个子项目选择不同的工具链。

手动添加工具链

如果自动检测不足以满足您的需求,您可以手动添加工具链。为此,请单击工具链选择器中的“添加工具链”按钮。从那里,您可以提供工具链的路径并为其设置您喜欢的名称。