VSCode配置Swift debug环境

  • `swift`初始化 项目
  • LSP
  • 插件
  • Debugger
  • 引用

用Swift写小功能,或者仅仅测试一下语法,然后每次打开 xcode 时间太久,我就想能不能在 vscode 中进行 swift debug 或者学习

从网上查找了一些资料,却同质化严重,这里做个小结。

swift初始化 项目

mkdir firstDemo
cd firstDemo
swift package init --type executable

此时你可以通过 命令行 对运行项目
swift build -> 编译程序

swift run -> 运行程序

这个纯手写,没有提示,且无法断点调试,无法满足debug需求

LSP

由于是用vscode 集成新语言不能没有 LSP。swfit LSP 我找到了两个可用的,但 目前swfit 有一个官方维护的 LSP SourceKit LSP ,而且它是 MAC 电脑自带的 LSP

在电脑运行sourcekit-lsp 命令 查看 电脑是否存在sourcekit-lsp,如果发生错误请先安装 XCode。

运行 which sourcekit-lsp 记录地址,下面需要配置

插件

在 vscode 插件市场搜索 swift ,安装作者为 Swift Server Work Group 的插件。

为 swift 插件配置属性

"sourcekit-lsp.serverPath": "/usr/bin/sourcekit-lsp",
"sourcekit-lsp.trace.server": "messages"

或者是可视化配置

此时可以发现 vscode 有提示了

Debugger

这个是比较模糊的点
由于 swift 使用了 llvm 当做语言后段,可以使用 lldb 命令调试,但如果直接使用 lldb 调试 会发现 本地变量没有名称,多试使用 p 、 po 、frame v 指令会说 本 lldb 没有 swift 插件。但 XCode 却能使用 lldb 进行调试,最后通过forums.swift.org技术贴找到了 XCode 使用的 lldb 位置/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/LLDB

为了避免跟其他冲突 不建议把一下代码 放到 vscode 全局配置文件
推荐配置到工作区 ,防止 污染 CodeLLDB 插件
也就是再工作目录下,.vscode/setting.json 添加

"lldb.library":"/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/LLDB"

此外附一份 launch.json

{"configurations": [{"command": "swift run","name": "run swift","request": "launch","type": "node-terminal"},{"type": "lldb","request": "launch","name": "Debug firstDemo","program": "${workspaceFolder:firstDemo}/.build/debug/firstDemo","args": [],"cwd": "${workspaceFolder:firstDemo}","preLaunchTask": "swift: Build Debug firstDemo"},{"type": "lldb","request": "launch","name": "Release firstDemo","program": "${workspaceFolder:firstDemo}/.build/release/firstDemo","args": [],"cwd": "${workspaceFolder:firstDemo}","preLaunchTask": "swift: Build Release firstDemo"},{"type": "lldb","request": "launch","name": "Test firstDemo","program": "/Applications/Xcode.app/Contents/Developer/usr/bin/xctest","args": [".build/debug/firstDemoPackageTests.xctest"],"cwd": "${workspaceFolder:firstDemo}","preLaunchTask": "swift: Build All"}]
}

引用

SourceKit LSP

vscode plugin

Need help with lldb-vscode plugin

VSCode配置Swift 开发环境相关推荐

  1. vscode中装js解释器_h5学习记录(1)--vscode配置js开发环境

    文笔不是很好,第一次写东西,主要为了记录h5的学习过程.今天记录的是vscode配置js开发环境. 什么是VSCode Visual Studio Code (简称VS Code/VSC) 是一款于2 ...

  2. 用VScode配置Python开发环境引用

    引用:用VScode配置Python开发环境 - 简书 前言 VScode是一个相当优秀的IDE,具备开源.跨平台.模块化.插件丰富.启动时间快.颜值高.可高度定制等等优秀的特质,不愧是微软爸爸的私生 ...

  3. VSCode配置JAVA开发环境,java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  4. VSCode配置Python开发环境!

    VsCode系列:VSCode配置Python开发环境! 今天博主跟大家聊一聊如何使用VsCode系列:VSCode配置Python开发环境!不喜勿喷,如有建议欢迎补充.讨论! 关于安装和汉化可以观看 ...

  5. vscode配置OpenGL开发环境【详细】

    vscode配置OpenGL开发环境[详细] 0. 前言 本配置过程是参考b站的一位up主文档大嫖客的视频,将其总结为文本文档,以便记忆. up主视频地址为:https://www.bilibili. ...

  6. VSCode配置python开发环境无法找到自己设置的python编译器

    VSCode配置python开发环境无法找到自己设置的python编译器 前言 一. 分别安装VScode和python 二.vscode配置python环境 1.在vscode里安装官方python ...

  7. vscode 配置javaweb开发环境,超级简单,纯新手带图,学会后真香.宇宙无敌第一编辑器vscode

    vscode配置javaweb开发环境 1.vscode配置java环境 2.下载tomcat 在官网中下载https://tomcat.apache.org/download-10.cgi 3.下载 ...

  8. VSCode配置JAVA开发环境windows 2020

    VSCode配置JAVA开发环境windows 2020(傻瓜式) 下载 安装 下载 今天想用vscode配置Java,结果网上的教程把我看傻了,一个比一个复杂,又是setting.json,又是添加 ...

  9. vs code python_用VScode配置Python开发环境

    前言 VScode是一个相当优秀的IDE,具备开源.跨平台.模块化.插件丰富.启动时间快.颜值高.可高度定制等等优秀的特质,不愧是微软爸爸的私生子. 所以用VScode来编写Python,也是相当的好 ...

最新文章

  1. PyTorch的torch.cat
  2. 吐槽一下现在的代码编辑器
  3. 程序员如何快速准备面试中的算法 - 结构之法
  4. 基于Kubernetes的ESaaS架构及实现细节(二)
  5. 卧槽!微信可以改彩色昵称了!又get一个撩妹小技巧 ~~
  6. ghelper怎么在手机上用_当长时间不用手机玩《崩坏3》、《战双》
  7. 【python教程】-- 入门 | 小甲鱼《零基础入门学Python》教程笔记(知识点详细、源码可复制)全
  8. VmPlayer上设置主机和windows虚拟机文件夹共享
  9. google earth 专业版下载方法
  10. python能做什么有趣的东西-Python 里itchat 模块能实现什么有趣的东西?
  11. java speex_JAVA版-微信语音.speex转.wav(示例代码)
  12. 罗技无线键盘Windows和Ubuntu下锁定Fn键方法
  13. 腾讯云主机安装mysql
  14. 用Redis中的zset实现一个限流器
  15. git pull常见操作
  16. 面向对象编程及其三大特征(JAVA)
  17. MySQL 不四舍五入取整、取小数、四舍五入取整、取小数、向下、向上取整
  18. Android 线程池的使用
  19. mysql DAYOFWEEK 和 WEEKDAY函数
  20. 爬虫工具之Beautiful Soup学习

热门文章

  1. 视区单位vw, vh简介以及可实际应用场景
  2. SkeyeVSS森林防火远程监控解决方案
  3. 笔记:centos7 换内核安装锐速(该方法不好用,不建议)
  4. LumaQQ源码,注解.下载的用户看一下.
  5. Android监听应用切换到后台和前台
  6. python二级练习和考试复习(分别格式化输出0.002178对应的科学表示法形式)
  7. 深入理解pytorch分布式并行处理工具DDP——从工程实战中的bug说起
  8. Acpi 和 apm
  9. Nessus介绍与安装
  10. 一文详解 URLEncode