Py学习  »  Python

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

糖果的实验室 • 1 年前 • 294 次点击  

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 的例子
brew install helix
如果是Lua语言安装的Lua的LSP使用下面的命令就行了
brew install lua-language-server
Python的LSP本地安装Python Conda环境后带有可不另独立安装
brew install conda
Mac安装HX还是很方便的要实现自动补全提示Python代码调试需要在安装SAP之后进行配置文件的设置
这两个配置文件的位置, 如下
cd ~/.config/helix
文件夹中没有对应的文件就创建一下一共两个文件

config.toml

theme = "onedark"[editor]line-number = "relative"mouse = true
[editor.cursor-shape]insert = "bar"normal = "block"select = "underline"
[editor.file-picker]hidden = false

languages.toml

[[language]]name = "lua"auto-format = falselanguage-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。

hx --health python

执行结果:

Configured language server: pylspBinary for language server: /Users/candylab/opt/anaconda3/bin/pylspConfigured debug adapter: pythonBinary for debug adapter: /Users/candylab/opt/anaconda3/bin/pythonHighlight queries: ✓Textobject queries: ✓Indent queries: ✓
国内用HX的用户数量多寡不清楚但基本没有太多关于DAP设置的文章官方文档的中文也没有太多涉及到DAPGithub官方的Wiki里有介绍国内HX DAP相关信息接近于没有直接复制上面的配置测试即可

图5 Debug调试命令

图6 Debug调试命令

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



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151938
 
294 次点击