vscode看Android代码,vscode看代码

发现vscode看代码真是舒服,但是用起来并不好用,在c、c++、java混合的代码环境下,导入代码目录,c和c++,代码跳转都没问题,java折腾多次都不行。

一个原因可能是和java环节变量有关,另一个原因可能是和android的build.gradle文件有关,看官网明确说不支持。

但是就一个c文件的编译,配置launch.json, tasks.json就花了好多时间,这种通过文本配置的太过灵活,一点也不好用。

launch.json

{

"version": "0.2.0",

"configurations": [

{

"name": "C++ Launch",

"type": "cppdbg",

"request": "launch",

"program": "/home/shizh/awork/testcode/sample/c/sort/sort.out",

"args": [],

"stopAtEntry": false,

"cwd": "/home/shizh/awork/testcode/sample/c/sort",

"environment": [],

"externalConsole": true,

"linux": {

"MIMode": "gdb"

},

"osx": {

"MIMode": "lldb"

},

"windows": {

"MIMode": "gdb"

}

},

]

}

tasks.json

// tasks.json

{

// See https://go.microsoft.com/fwlink/?LinkId=733558

// for the documentation about the tasks.json format

"version": "2.0.0",

"tasks": [

{

"label": "Build sample", // 任务的名字叫Build,注意是大小写区分的,等会在launch中调用这个名字

"type": "shell", // 任务执行的是shell命令,也可以是

"command": "/usr/bin/gcc", // 命令是gcc/g++

"args": [

"'-Wall'",

"-std=c99",

"'${file}'", // 当前文件名

"-o", // 对象名,不进行编译优化

"'${fileBasenameNoExtension}.out'", //当前文件名(去掉扩展名)

],

// 所以以上部分,就是在shell中执行(假设文件名为filename.cpp)

// g++ filename.cpp -o filename.out

"group": {

"kind": "build",

"isDefault": true

// 任务分组,因为是tasks而不是task,意味着可以连着执行很多任务

// 在build组的任务们,可以通过在Command Palette(F1) 输入run build task来运行

// 当然,如果任务分组是test,你就可以用run test task来运行

},

"problemMatcher": [

"$gcc" // 使用gcc捕获错误

],

}

]

}

发现没有删除编译好的文件时再次编译,会有这个报错:

> Executing task: /usr/bin/gcc '-Wall' -std=c99 '/home/shizh/awork/testcode/sample/c/sort/.vscode/tasks.json' -o 'tasks' <

/usr/bin/ld:/home/shizh/awork/testcode/sample/c/sort/.vscode/tasks.json: file format not recognized; treating as linker script

/usr/bin/ld:/home/shizh/awork/testcode/sample/c/sort/.vscode/tasks.json:1: syntax error

collect2: error: ld returned 1 exit status

The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

删除编译好的main后好了:

> Executing task: /usr/bin/gcc '-Wall' -std=c99 '/home/shizh/awork/testcode/sample/c/sort/main.c' -o 'main' <

Terminal will be reused by tasks, press any key to close it.

原因可能是我切换gcc,g++后需要删除

如果一直都是gcc就不会有问题。

最简单的办法

最简单最好理解的办法是写好makefile, 然后ctrl+f12, 进入terminal,直接make, 省事很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS Code LLDB是一种在Android开发中使用的调试工具。通过使用LLDB调试器,开发人员可以在VS Code中对Android应用进行调试和分析。 使用VS Code LLDB进行Android调试的基本步骤如下: 1. 安装VS Code以及CodeLLDB扩展,你可以在VS Code的扩展市场中找到并安装CodeLLDB扩展。 2. 在目标设备上执行lldb-server命令,可以通过在终端或者命令行中执行以下命令:adb shell "/data/local/tmp/lldb-server platform --listen '*:9090' --server &"。这将在设备上启动lldb-server,等待连接。 3. 配置VS Code的launch.json文件,使得VS Code可以连接到lldb-server。你可以通过运行gdbclient.py或者lldbclient.py脚本生成launch.json文件,并将其配置到VS Code中。这样,VS Code就可以将lldb连接到远程的lldb-server上。 使用VS Code LLDB进行Android调试可以提供更方便和强大的调试功能,同时与VS Code的集成也提供了更好的开发体验。开发人员可以通过断点、变量查看、堆栈跟踪等功能来调试和分析Android应用的代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用LLDB在VS Code中调试Android C_C++代码(无需Android源码)](https://blog.csdn.net/u011057800/article/details/113246752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值