社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

糖果的实验室 • 2 年前 • 705 次点击  

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
 
705 次点击