Zed 开源代码编辑器指南

Zed 开源代码编辑器指南

zedRethinking code editing.项目地址:https://gitcode.com/gh_mirrors/zed/zed

项目介绍

Zed 是一个高性能的多人协作代码编辑器,由 Atom 和 Tree-sitter 的创造者倾力打造。它旨在提供闪电般的速度和直观的用户体验,支持实时协作编码,极大地提升了团队开发效率。该编辑器利用了先进的语法解析技术,确保在处理大型代码库时也能保持流畅。

项目快速启动

要开始使用 Zed,首先确保你的环境满足运行条件。Zed 支持macOS和Linux,提供了直接下载以及通过包管理器安装的方式。

在macOS或Linux上安装 Zed

你可以从 Zed 的官方网站直接下载最新版本的安装包,或者如果你熟悉终端操作,可以通过以下命令进行安装(以Linux示例):

# 对于Linux(以Ubuntu为例),可能需要先添加GPG密钥和仓库
wget -qO - https://download.zed.app/apt/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/zed-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/zed-archive-keyring.gpg arch=amd64,arm64] https://download.zed.app/apt stable main" | sudo tee /etc/apt/sources.list.d/zed.list

sudo apt-get update
sudo apt-get install zed

启动 Zed

安装完成后,直接在应用程序中找到并启动 Zed,或者在终端输入 zed 命令来开启编辑器。

应用案例和最佳实践

实时协作编码

Zed的一大亮点是其支持多人实时协作编辑同一份代码。这对于分布式团队尤其有用,可以极大提高代码审查和同步的速度。最佳实践包括设置清晰的工作流,如使用分支管理合作代码,以及利用Zed内置的聊天功能进行即时沟通。

版本控制系统集成

结合Git或其他版本控制系统,Zed能够成为强大的开发工具链的一部分。利用Zed的Git插件,可以直接在编辑器内进行提交、拉取和推送等操作,简化版本控制流程。

典型生态项目

虽然Zed本身作为一个独立的代码编辑器功能强大,但关于典型的生态项目,开源社区围绕Zed开发的扩展和工具数量还在增长之中。这包括但不限于定制的主题、语言支持扩展、生产力工具等。例如,开发自己的语法高亮规则或集成CI/CD流程的预览功能,都是拓展Zed能力的有效途径。

目前官方文档或社区论坛是获取这些生态项目的主要渠道,开发者可以根据需求寻找适合的插件或工具,或是考虑贡献自己的代码到Zed的生态系统中。


请注意,上述安装步骤和描述基于项目信息的概要整理,具体细节和最新的安装命令可能会有所变化,建议访问官方GitHub页面或其官网获取最新的安装指导和生态资源。

zedRethinking code editing.项目地址:https://gitcode.com/gh_mirrors/zed/zed

以下是使用ZED相机进行物体识别的示例代码(使用OpenCV和ZED SDK): ```python import cv2 import numpy as np import pyzed.sl as sl # 初始化ZED相机 zed = sl.Camera() init_params = sl.InitParameters() init_params.camera_resolution = sl.RESOLUTION.HD720 # 设置相机分辨率 init_params.camera_fps = 30 # 设置相机帧率 err = zed.open(init_params) if err != sl.ERROR_CODE.SUCCESS: print("相机打失败") zed.close() exit() # 设置对象检测器 net = cv2.dnn.readNetFromDarknet("yolov4.cfg", "yolov4.weights") # 加载YOLOv4模型 net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA) # 设置CUDA后端 net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA) # 设置CUDA目标 # 获取相机参数 camera_params = zed.get_camera_information().calibration_parameters.left_cam # 创建Mat对象以存储图像 image_size = (camera_params.width, camera_params.height) image_zed = sl.Mat(image_size[1], image_size[0], sl.MAT_TYPE.U8_C4) # 创建窗口 cv2.namedWindow("ZED", cv2.WINDOW_NORMAL) # 循环读取图像并进行物体检测 while True: if zed.grab() == sl.ERROR_CODE.SUCCESS: # 从相机中获取图像 zed.retrieve_image(image_zed, sl.VIEW.LEFT) # 将图像转换为OpenCV格式 image_ocv = image_zed.get_data() # 运行物体检测器 blob = cv2.dnn.blobFromImage(image_ocv, 1 / 255.0, (416, 416), swapRB=True, crop=False) net.setInput(blob) layer_names = net.getLayerNames() output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()] outputs = net.forward(output_layers) # 解析输出并绘制边界框 class_ids = [] confidences = [] boxes = [] for output in outputs: for detection in output: scores = detection[5:] class_id = np.argmax(scores) confidence = scores[class_id] if confidence > 0.5: center_x = int(detection[0] * image_size[0]) center_y = int(detection[1] * image_size[1]) width = int(detection[2] * image_size[0]) height = int(detection[3] * image_size[1]) left = int(center_x - width / 2) top = int(center_y - height / 2) class_ids.append(class_id) confidences.append(float(confidence)) boxes.append([left, top, width, height]) indices = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4) for i in indices: i = i[0] box = boxes[i] left = box[0] top = box[1] width = box[2] height = box[3] label = str(class_ids[i]) cv2.rectangle(image_ocv, (left, top), (left + width, top + height), (0, 255, 0), 2) cv2.putText(image_ocv, label, (left, top), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2) # 显示图像 cv2.imshow("ZED", image_ocv) # 检查是否退出 key = cv2.waitKey(1) if key & 0xFF == ord('q'): break # 关闭窗口和相机 cv2.destroyAllWindows() zed.close() ``` 这个示例代码使用YOLOv4模型进行物体检测,并且使用ZED SDK将图像从相机中读取到OpenCV中进行处理。请注意,这只是一个示例,你需要根据你的需求对代码进行适当的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屈皎童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值