前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Helix Editor通过配置DAP实现Python代码调试

Helix Editor通过配置DAP实现Python代码调试

作者头像
糖果
发布2023-03-05 10:57:41
1K0
发布2023-03-05 10:57:41
举报
文章被收录于专栏:糖果的实验室糖果的实验室

Helix-Editor编辑器,是一款用Rust语言编写的编辑器,操作体验继承了Vim的传统操作方式,又有SpaceVim一样Space按键触发的的提示框,用SpaceVim后,再用Helix-Editor会很习惯。

Helix-Editor在某些场合,可以代替SpaceVim使用,同Vim类似,配置了LSP和DAP之后,一样可以做到像VSCode那样的,有代码补全,定义跳转,还有实时运行调试等功能,DAP的调度功能,目前是实验性质的,如果在调试中过程中,出现崩溃的情况,也有可能。

图1 类似SpaceVim一样的空格操作方式

图2 安装LSP之间直接会提示代码编辑过程中的格式错误

图 3 呼出文件选择对话框

图4 类似SpaceVim的命令行提示框

LSP和DAP是完整使用Helix功能过程中,要接触的基础的概念,简短了解一下:

LSP

语言服务器协议(Language Server Protocol,LSP)是一个开放的、基于JSON-RPC的网络传输协议,源代码编辑器或集成开发环境(IDE)与提供特定编程语言特性的服务器之间交互时会用到这个协议。该协议的目标是让编辑器或集成开发环境能支持更多的编程语言。

DAP

DAP 即调试适配协议( Debug Adapter Protocol ),顾名思义,它是用来对多种调试器进行抽象统一的适配层,将原有 IDE 和调试工具直接交互的模式更改为和 DAP 进行交互。该模式可以让 IDE 集成多种调试器变得更简单,且灵活性更好。

为了说明方便,只举Mac系统如何安装部署HX的例子。

代码语言:javascript
复制
brew install helix

如果是Lua语言,安装的Lua的LSP,使用下面的命令就行了。

代码语言:javascript
复制
brew install lua-language-server

Python的LSP,本地安装Python Conda环境后带有,可不另独立安装。

代码语言:javascript
复制
brew install conda

在Mac安装HX还是很方便的,要实现自动补全提示,Python代码调试,需要在安装SAP之后,进行配置文件的设置。

这两个配置文件的位置, 如下:

代码语言:javascript
复制
cd ~/.config/helix

文件夹中,没有对应的文件就创建一下,一共两个文件。

config.toml

代码语言:javascript
复制
theme = "onedark"
[editor]
line-number = "relative"
mouse = true

[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"

[editor.file-picker]
hidden = false

languages.toml

代码语言:javascript
复制
[[language]]
name = "lua"
auto-format = false
language-server = { command = "lua-language-server", args = ["--stdio"] }

[[language]]
name = "python"

[language.debugger]
name = "debugpy"
transport = "stdio"
command = "python"
args = ["-m",  "debugpy.adapter"]

[[language.debugger.templates]]
name = "source"
request = "launch"
completion = [ { name = "entrypoint", completion = "filename", default = "." } ]
args = { mode = "debug", program = "{0}" }

配置完后,需要检查一下,HX现在是否支持了LSP和DAP。

代码语言:javascript
复制
hx --health python

执行结果:

代码语言:javascript
复制
Configured language server: pylsp
Binary for language server: /Users/candylab/opt/anaconda3/bin/pylsp
Configured debug adapter: python
Binary for debug adapter: /Users/candylab/opt/anaconda3/bin/python
Highlight queries: ✓
Textobject queries: ✓
Indent queries: ✓

国内用HX的用户数量多寡,不清楚,但基本没有太多关于DAP设置的文章,官方文档的中文,也没有太多涉及到DAP,在Github官方的Wiki里有介绍。国内HX DAP相关信息,接近于没有,直接复制上面的配置,测试即可。

图5 Debug调试命令

图6 Debug调试命令

配置完成LSP和DAP之后,就可以在HX里调试Python代码程序。因为DAP还在实验阶段,可以简单尝试使用。HX的LSP和DAP的配置过程,比SpaceVim要步骤少一些相对。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 糖果的实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档