Zed : 一款不容错过的编码神器

news2024/9/24 7:14:20

简介

    “Code at the speed of thought“ — 用过之后都说好,名副其实~
不过,请记住它的定位是“编辑器、编辑器、编辑器”(重要的事情说三遍)

图片

图片

一切皆可配置

步入正题,开始配置~!

配置一瞥:可以看到所有按键皆可随意定制~

图片

配置菜单入口

图片

Settings

图片

要特别注意的是“Local Settings"可配置的内容“有限”,即便你(force)配置并不支持的项,也不会生效的(小心踩坑),它所支持的配置项我会放在文末列出。

Bindings

图片

接下来,以Python的开发配置环境为例。

    两个必备的“插件”

    • pyright
      微软出品,配置功能非常强大,详见:https://microsoft.github.io/pyright/

    • ruff
      把书写格式不规范的地方自动帮你纠正,详见:https://github.com/astral-sh/ruff

~/.config/zed/settings.json

{
  "proxy": "http://127.0.0.1:7897",   //科学xx
  "lsp": {                        // Configuration for language servers
    "pyright": {
      "settings": {
        "python.analysis": {
          "diagnosticMode": "workspace",
          "typeCheckingMode": "strict"
        },
        "python": {
          "pythonPath":     "/Users/song/Documents/Pys/LangChain/.venv/bin/python"   // Python环境
        }
      }
    }
  }
}

{项目所在目录}/.zed/settings.json

{
  "autosave": "on_focus_change",
  "languages": {
    "Python": {
      "format_on_save": { "language_server": { "name": "ruff" } },
      "formatter": { "language_server": { "name": "ruff" } },
      "language_servers": ["pyright", "ruff"]
    }
  }
}

图片

”Run“起来...

请按cmd - j,会出现terminal窗口,但需要手动敲(运行命令)... 太费劲~

PS:这里有个小技巧,可以让窗口“浮动”,请大家自行尝试哈~

图片

在这里可用KeyMap设置快捷键,

这里我设置的是cmd - r,先来看看效果

图片

还可以选指定行来运行:

图片

最后我提供这里的配置文件如下,请君取用~

~/.config/zed/tasks.json

[
  {
    "label": "run file",
    "env": {
      "python": "/Users/song/Documents/Pys/LangChain/.venv/bin/python"
    },
    "command": "sh ~/.config/zed/runfile.sh",
    "description": "run python file"
  },
  {
    "label": "run selection",
    "env": {
      "python": "/Users/song/Documents/Pys/LangChain/.venv/bin/python"
    },
    "command": "sh ~/.config/zed/runselect.sh",
    "description": "run selected lines"
  }
]

~/.config/zed/keymap.json

    "bindings": {
      // "shift shift": "file_finder::Toggle"
      "cmd-r": ["task::Spawn", { "task_name": "run file" }],
      "cmd-shift-r": ["task::Spawn", { "task_name": "run selection" }]
    }

两个shell文件,依次是:

#!/bin/zsh

file_path="$ZED_FILE"

filename_ext=$(basename "$file_path")

filename="${filename_ext%.*}"
extension="${filename_ext##*.}"

if [[ "$extension" == "py" ]]; then
    "$python" "$file_path";
fi
#!/bin/zsh

file_path="$ZED_FILE"

filename_ext=$(basename "$file_path")

filename="${filename_ext%.*}"
extension="${filename_ext##*.}"

if [[ "$extension" == "py" ]]; then
    "$python" -c "$ZED_SELECTED_TEXT";
fi

遗憾的是,它当前并没有集成debug功能...姑且认为它仅是个编辑器吧~

One more thing...

让它与AI联动~起来:) 这里演示用Ollama当然,也可以用收费的AI

效果如下

图片

图片

图片

图片

配置起来超easy...

图片

附:

.zed/settings (即:Local Settings)

(仅)支持的配置项如下
- `inline_completions`
    - 配置内联完成
- `enable_language_server`
    - 是否启用language_server
- `ensure_final_newline_on_save`
    - 是否在最后一行添加换行符
- `format_on_save`
    - 保存时是否格式化
- `formatter`
    - 格式化程序设置
- `hard_tabs`
    - 是否使用制表符缩进
- `languages`
    - 每种language的设置
- `preferred_line_length`
    - 要换行的字符数
- `remove_trailing_whitespace_on_save`
    - 保存时是否去除尾随空格
- `soft_wrap`
    - 是否换行,如果换行,在什么位置
- `tab_size`
    - Tab长度
- `show_inline_completions`
    - 是否显示自动补全
- `show_whitespaces`
    - 是否显示空白字符,如果是,何时显示它们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式学习之文件IO和标准IO

IO概述 I/O是Input/Output的缩写,指的是输入/输出。在计算机科学和工程领域,I/O是指计算机系统与外部环境或内部组件之间进行数据交换的过程和机制。 用户I/O 用户通过输入设备与计算机交互。例如,通过键盘输入文字、通过鼠标点击界面等。…

2007-2023年上市公司金融化程度测算数据(含原始数据+计算代码+计算结果)

2007-2023年上市公司金融化程度测算数据(含原始数据计算代码计算结果) 1、时间:2007-2023年 2、指标:行业代码、行业名称、stkcd、year、证券简称、是否发生ST或ST或PT、是否发生暂停上市、股票简称、成立日期、交易性金融资产、…

西门子s7通信协议

目录 西门子s7通信协议 S7协议帧结构 s7协议的使用 连接 COTP连接(第一次握手)报文 S7连接(第二次握手)报文 使用tcp五次握手进行连接 读取和写入报文格式 数据的读取 接收数据的响应 数据的写入 完整代码 西门子s7通信协议 S7C…

精通C++ STL(四):vector的模拟实现

目录 vector各函数接口总览 vector当中的成员变量介绍 默认成员函数 构造函数1 构造函数2 构造函数3 拷贝构造函数 赋值运算符重载函数 析构函数 迭代器相关函数 begin和end 容量和大小相关函数 size和capacity reserve resize empty 修改容器内容相关函数 push_back po…

pyttsx3自动化脚本经典案例

pyttsx 是一个 Python 库,可以将文本转换为语音。它支持多个语音引擎,并且可以在 Windows、Linux 和 macOS 等不同平台上运行。 pyttsx 可以用来做什么? 将文本转换成语音输出,例如将电子书朗读出来。 在语音助手或者聊天机器人中…

Linux 快速构建LAMP环境

目录 部署方式: 基础环境准备: 1.安装Apache服务 (1)安装Apache (2)安装一些Apache的扩展包 2.安装PHP语言 (1)下载php软件仓库 (2)指定php安装版本…

Linux-vim编辑器以及权限-04

我们为什么要把这两个单独拎出来讲呢?大家应该需要知道权限是什么,我们的linux是多用户多任务的,所以可能有许多用户可以操作,万一他们把重要的文件删了呢,所以要给他设置权限,而我们的vim编辑器也是非常重要的,用来编辑我们的文本信息,第二章我们讲到了vi,他们两个…

并行训练技术概述

继续开一个新专栏,这里主要收集一些并行训练的相关内容。 文章目录 并行/分布式训练概述为什么需要?如何实施? 并行/分布式训练概述 首先想要说明的是,并行训练和分布式训练的概念其实都能讲,但前者可能更侧重于技术实…

李晨晨的嵌入式学习 DAY21

今天主要也是对昨天学习的进行了补充 一,时间函数 1.time函数 函数原型:time_t time(time_t *tloc); 功能:获取当前时间(自1970年1月1日(称为Unix纪元或Epoch)以来的秒数,即Unix时间戳&#x…

群晖NAS安装Video Station结合内网穿透实现远程访问本地存储的影音文件

文章目录 前言1.使用环境要求:2.下载群晖video station:3.公网访问本地群晖video station:4.公网条件下访问本地群晖video station5.公网条件下使用移动端(安卓,ios等系统)访问本地群晖video station 前言 …

使用 Arduino 串行绘图仪可视化实时数据

使用 Arduino 串行绘图仪可视化实时数据 Using The Arduino Serial Plotter To Visualize Real Time Data 参考: Arduino Docs: Using the Serial Plotter Tool (IDE v2) Arduino Docs:使用串行绘图仪工具 (IDE v2) The ADC-10-…

8.1 迭代器的概念与使用:走进 Python 的迭代世界

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

jwt伪造身份组组组合拳艰难通关

前言 现在的攻防演练不再像以往那样一个漏洞直捣黄龙,而是需要各种组合拳才能信手沾来,但是有时候使尽浑身解数也不能诚心如意。 前期信息收集 首先是拿到靶标的清单 访问系统的界面,没有什么能利用的功能点 首先进行目录扫描,…

IO/作业/2024/8/8

1第一题 #include <sys/stat.h> #include <fcntl.h> #include <pthread.h> #include <semaphore.h> #include <wait.h> #include <signal.h> #include <sys/socket.h> #include <arpa/inet.h> #include <sys/socket.h>…

如何禁用外来U盘,保护企业电脑不被“插”一刀?

在数字时代&#xff0c;U盘就像是随身携带的小型保险箱&#xff0c;但它也可能变成一个潜伏的危险品。想象一下&#xff0c;有一天你的同事无意间把一个带有病毒的U盘插进了你的电脑&#xff0c;结果你辛辛苦苦做出来的项目文件就那么瞬间被格式化了…… 为了避免这种情况的发…

CUTLASS 2.x CUTLASS 3.x Intro 学习笔记

CUTLASS GEMM模板中有大量可以调节和设置的模板参数&#xff0c;这些参数的设置会高度影响Kernel性能。这个分享将为大家介绍从2.x到3.x&#xff0c;CUTLASS kernel实现的变化&#xff0c;这些参数的原理和选择的最佳实践。Slides来自BiliBili NVIDIA英伟达频道 上传的《Tensor…

python-热杆上的蚂蚁(赛氪OJ)

[题目描述] 有一个不断升温的杆子&#xff0c;上面有若干个蚂蚁&#xff0c;蚂蚁们需要尽快爬出这个杆子&#xff0c;否则就会因为高温而被烧死。 这里假设每只蚂蚁行走的最大速度是 1cm/s 。 当一只蚂蚁走到杆的尽头时&#xff0c;就会立即从秆上掉落&#xff0c;从而逃离热杆…

两种企业总体业务流程架构模式的比较分析

在之前的关于企业业务流程规划的系列文章中&#xff0c;我们分别对企业业务流程规划的价值、原则&#xff0c;以及如何应用企业的业务流程架构等做了充分的阐述&#xff0c;今天我们将对两种常见的企业总体业务流程架构模式进行比较分析。 我们在辅导企业做业务流程规划和总体…

Python打开JSON/CSV文件的正确方式

前言 我们在使用python的过程中&#xff0c;经常需要它完成一些数据处理的工作&#xff0c;其中尤以json/csv文件为常见。今天&#xff0c;博主针对UnicodeDecodeError异常进行试验&#xff0c;因为这个是新手最容易犯错的地方。 Q&#xff1a;如何应对 UnicodeDecodeError 读…

(el-Time-Picker)操作(不使用 ts):Element-plus 中 TimePicker 组件的使用及输出想要时间格式需求的解决过程

Ⅰ、Element-plus 提供的 TimePicker 时间选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供 TimePicker 组件情况&#xff1a; 其一、Element-ui 自提供的 TimePicker 代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template>…