问题描述
对于 Vala 和 VSCode 的新手来说,对于 Vala 和 Visual Studio Code 如何协同工作,确实没有很好的文档。
尝试在命令行(Ubuntu 20.04)上使用 vala 项目时,进行构建就像运行 meson 和 ninja 一样简单。我正在寻找的是它如何映射到 VSCode。基本上,我如何将我的 vala 代码文件夹及其介子脚本集成到 vscode 的构建/调试系统中。
我尝试了市场上可用于 Vala 的扩展,并获得了语法高亮显示。除此之外,我正在寻找如何让 VSCode 运行介子和忍者脚本和调试。谢谢!
(尝试调试一些 GNOME 桌面应用)
解决方法
这不是一个确定的答案,但与 Meson 构建和调试器的集成可能仍在进行中。
GNOME wiki 上有一个页面:Coding in Vala with Visual Studio Code。因此,如果有人有任何经验可以分享,那将是一个好地方。
您应该尝试Vala language server。这将提供的不仅仅是语法突出显示。
Meson Tools VS Code 扩展看起来很有趣。 Meson 还提供了 metadata in the build,如果有人想增强这些工具,可以使用它。
Vala 使用 C 作为它的中间语言,任何调试都是使用 GDB 或 LLDB 等 C 调试器完成的。 Vala 编译器会在为开发而编译时在 C 中插入源代码行引用,因此调试器也会显示 Vala 源代码引用。这在上面引用的 GNOME Wiki 页面上有更详细的描述,但这确实需要在 Vala 编译器中进行一些整理。从 C 到 Vala 的符号解析比较麻烦,我相信目前还没有人想出可行的解决方案。
,根据我的经验,您可以尝试 VS Code + CodeLLDB 插件,它通常对我来说效果很好。 步骤如下:
- 向 valac 添加 --debug 选项。这可以通过 meson.build 中的“add_project_arguments”来完成
- 为 LLDB 生成一个 launch.json。这可以通过 VS Code 的“运行和调试”中的“创建 launch.json 文件”来完成。 Create launch.json
- 它将在其中创建一个 .vscode 目录和一个 launch.json 文件。确保您已安装 CodeLLDB 插件。修改launch.json中的“配置”,使文件中的“配置”变成(
<my program>
需要改成你的可执行文件名)
"configurations": [
{
"name": "Launch","type": "lldb","request": "launch","program": "${workspaceFolder}/<my program>","args": ["-arg1","-arg2"],}
]
- 然后您可以在 VS Code 中设置断点并开始调试。 Debugging in VS Code