vscode 头文件包含问题_WSL+VSCode = Linux ?

d046f6c77c404f5de7af34f630af9db4.png
官方文档​code.visualstudio.com
使用VSCode新推出的Remote功能来连接WSL或服务器进行开发. 可以在Windows上享受优秀的界面体验的同时使用Linux环境进行开发(还是要感谢无数的VSCode插件贡献者).

环境基础配置

  1. Visual Studio Code最新版本

注意点:

  • 安装时需要勾选环境变量添加到path
  • 在插件中心安装Remote-WSLRemote-SSHRemote Development基础插件;
  1. WSL环境

注意点:

  • 推荐使用Ubuntu 18, 其他没试过;
  • 安装成功之后进行初始化相关工作, 配置密码之类的;

使用WSL打开VSCode

  1. 打开WSL terminal(打开Power shell输入wsl/bash, 或者直接搜索Ubuntu打开);
  2. 找个想要打开的项目, 注意WSL和Win的目录结构不同, Windows的C盘在/mnt/c下面, 可以先切到工作目录;
  3. 在命令行里敲code ., 第一次使用时, 会看到VS Code的组件被提示需要安装, 稍等一会儿, 这种情况只有首次使用会出现, 之后就可以直接使用code 文件夹的方式使用VS Code打开, 并且是以Linux环境的模式Note: 如果code这个命令无效的话, 需要在VS Code安装时把path添加到环境变量里去, 或者后期手动自己加.
  4. 之后就可以看到VSCode的窗口出现了, 可以在下方看到VSCode正在以WSL方式打开文件夹的通知;
  5. 一旦完成之后, 下次可以直接在历史文件夹里打开项目, 或者从命令行里打开新项目, 以及VS Code里打开;

最近项目:

00a8f71423bf7a69fd701ef3e43fca96.png

VSCode Ctrl + O打开:

9a2631f1898b3057a54948e87327b1b5.png

命令行打开:

bfda7239b22e75f8d1985d5733db6af9.png

开发配置实例一 C语言

使用WSL开发调试C语言的配置, 可以实现开发调试, 代码检查, 智能提示等功能, 并且调试的变量参数可以自定义, 能够更好的理解开发调试的过程.

基础环境要求

前提要求是WSL中安装了gcc(使用 sudo apt update和 sudo apt install gcc命令来安装, 以及在VSCode中安装C/C++开发插件.

6a9d65ce997761247ced85c1f61f5c9a.png

dad07309d866c30aa4353c1c78a2733a.png

建立基础文件

main.c:

 #include <stdlib.h>#include <stdio.h>// 头文件, 其中add函数和sub函数的定义在其中#include "func1.h"#include "func2.h"​int main(int argc, char const *argv[]){int a = 10, b = 20;// 调用其他文件内定义的函数printf("a add b = %dn", add(a, b));printf("a sub b = %dn", sub(a, b));printf("hello worldn");return 0;}

依赖的头文件func1和func2函数文件:

 // func1.h: 函数定义extern int sub(int a, int b);​// func1.c: 函数实现#include "func1.h"​int sub(int a, int b){return a - b;}​// func2.h: extern int add(int a, int b);​// func2.c:#include "func2.h"​int add(int a, int b){return a + b;}

920abab701dc3dcfe21eceef1c6e03b2.png

添加调试配置

记得先打开main.c文件, 看下底边栏的信息, 确认是否被自动识别为C文件, 这一步很重要, 否则后面创建的配置会出问题(毕竟是编辑器, 不是IDE, 配置略微繁琐了些)

eeed18cc8a53556502807a3c643530c6.png

在Debug栏下创建launch.json文件:

e7b5ccb18c8c2d1aa1ba744f11a6f2be.png

接下来选择配置

c4e536e170dbcb288665bef3deae4479.png

选择第二个gcc(因为我们只装了gcc )

57c3c3d87af21217063f365f1c7af4b3.png

可以看到目录中多了个.vscode文件夹, 文件夹下有launch.json文件, 这是VSCode的项目配置信息文件夹, 包含项目的配置和命令信息.

30041660fb29db348830c1e6fcf61595.png

开始调试

打开main文件, 添加断点

375b0e9254b028ff6079cac7021d0073.png

按下微软的经典调试按钮F5

bc4f8d6d5ad5d8c9be7525dd40269035.png

报错了, 提示有未定义的引用add和sub, 原因是这俩函数的实现不在main.c中, 默认的编辑命令在task.json中只编译了main.c

21cf03d49dad738c5ac8d91dffde14bd.png

修改为所有的.c文件, 正则匹配

18c2768cf6c4ddd681ff1938065f3600.png

接下来F5, 单步调试, 变量等等

a310f9b22d38eccdbc269cfc1ac14199.png

命令行执行结果

72ff95894f2c032191933150d2dc432f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PerfView专题 (第十篇):洞察 C# 终结队列引发的内存泄漏

一&#xff1a;背景 C# 程序内存泄漏的诱发因素有很多&#xff0c;但从顶层原理上来说&#xff0c;就是该销毁的 用户根 对象没有被销毁&#xff0c;从而导致内存中意料之外的对象无限堆积&#xff0c;导致内存暴涨&#xff0c;最终崩溃&#xff0c;这其中的一个用户根就是 终结…

手机的小窗口怎么弄_荣耀9X如何设置桌面小工具?划重点,这个要考

为了方便手机操作&#xff0c;一些小伙伴会在手机桌面上添加天气、一键锁屏、日历等窗口小工具&#xff0c;那么问题来了&#xff01;荣耀9X这款新手机是如何添加窗口小工具呢&#xff1f;官维君今天就来给大家讲解一下方法。标准姿势看这里——第一步&#xff1a;在桌面双指头…

ASP.NET Core 同时支持多种认证方式 | Swagger 支持

前言上次&#xff0c;我们实现了《ASP.NET Core 同时支持多种认证方式》&#xff1a;services.AddAuthentication().AddDemoAuthentication(options > { }).AddJwtBearer(options >{...});我们还希望为 Swagger 也添加多种认证支持。原来为支持 JWT 认证&#xff0c;Swag…

Redis指南

一、简介 redis 和 memcached 都是高性能的键值缓存数据库服务&#xff0c;其中 memcached 支持多线程&#xff0c;而 redis 支持丰富的数据结构且能内置持久化机制。 redis 数据都是以键值形式存储的&#xff0c;键是字符串类型&#xff0c;值有 7 种类型&#xff08;本质上是…

SpringIOC之AbstractMessageSource

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

【实战】手把手教你从 0 到 1 搭建一套 RocketMQ 集群

大家好&#xff0c;我是君哥。今天来分享怎样搭建 RocketMQ 集群。本文搭建集群使用的环境是 2 个云主机&#xff0c;架构如下&#xff1a;在 47.xx.xx.xx 和 39.xx.xx.xx 上分别部署一个 Name Server 和 Broker 主节点&#xff0c;这里不搭建从节点。也就是官网介绍的 2m-nosl…

敏捷制造:并不是你想像的矛盾体

\关键点\敏捷制造使企业能够比传统制造方式更快更有效地取悦客户 \敏捷方法实际上是为制造而不是软件而开发的 \敏捷制造需要从上到下的数字视角和承诺 \敏捷制造需要新的技能&#xff0c;还需要授权、扁平化合作和贯穿整个组织的沟通 \迈向敏捷制造的第一步可以是通过升级传统…

上海一趟,我陷入了沉思

hi&#xff0c;这里是桑小榆。2022年8月20日&#xff0c;我去了一趟上海&#xff0c;交了很多新朋友&#xff0c;和各行业且具备独立思考的伙伴交流了很多&#xff0c;也吸收了很多的新东西。此篇我将分享我的感悟&#xff0c;并以自己的角度剖析存在的问题。痛苦与症状在此之前…

Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件

为什么80%的码农都做不了架构师&#xff1f;>>> Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件 http://www.swiper.com.cn/ 转载于:https://my.oschina.net/huqiji/blog/800482

vue实现todo功能(一):搭建vue-webpack环境

前言 我最开始因为项目原因接触的是react&#xff0c;对于我这种美观狂而言&#xff0c;react中难以调解的css让我十分抓狂&#xff0c;说是在写页面&#xff0c;因为不能写自己的样式&#xff0c;像是在拼凑页面&#xff0c;没意思。于是我开始了解vue这种将css html javacrip…

单模光电转换器怎么接_以太网光纤收发器怎么用?

以太网光纤收发器有单模、多模&#xff0c;单纤、双纤&#xff0c;百兆、千兆&#xff0c;电信级和工业级品质&#xff0c;稳定可靠&#xff0c;是网络高清监控优选设备。那么&#xff0c;以太网光纤收发器怎么用呢&#xff1f;接下来就由飞畅科技的小编来为大家详细介绍下以太…

WPF效果第一百九十六篇之彩色马蹄形图

上一篇又是基于ListBox改了改模板实现了点不一样的效果;今天来分享一点这些天一直摸索的好玩的效果;闲话不多扯直接看效果:1、对于各种定义就直接看下面:https://www.wigglepixel.nl/en/blog/what-are-color-spaces-color-profiles-and-gamma-correction2、关于马蹄图我找到了S…

grub4dos中的不容易理解的问题

2019独角兽企业重金招聘Python工程师标准>>> menu.lst中写有菜单&#xff0c;但又发现很多人使用BCD,是否是这样&#xff0c;通过menu.lst中的菜单引导的系统&#xff0c;是不通过BCD文件引导的&#xff0c;还是说它们是必须同时有的&#xff0c;并且要关联呢&#…

卸载wps后桌面上的office文件图标变成了白色

文章目录卸载wps后桌面上的office文件图标变成了白色第一步&#xff1a;第二步卸载wps后桌面上的office文件图标变成了白色 作者&#xff1a;wyf 第一步&#xff1a; **win(图标&#xff09;R&#xff0c;输入regedit&#xff0c;点击确定**第二步 2、找到HKEY_CLASSES_ROOT…

springboot单例模式注入对象_Spring 中经典的 9 种设计模式,打死也要记住啊!

本文转载自公众号“Java专栏1.简单工厂(非23种设计模式中的一种)2.工厂方法3.单例模式4.适配器模式5.装饰器模式6.代理模式7.观察者模式8.策略模式9.模版方法模式Spring中涉及的设计模式总结1.简单工厂(非23种设计模式中的一种)实现方式&#xff1a;BeanFactory。Spring中的Bea…

通过项目逐步深入了解Mybatis(四)

相关阅读&#xff1a; 1、通过项目逐步深入了解Mybatis<一> 2、通过项目逐步深入了解Mybatis<二> 3、通过项目逐步深入了解Mybatis<三> 本项目所有代码及文档都托管在 Github地址&#xff1a;https://github.com/zhisheng17/mybatis 延迟加载 什么是延迟加载…

读两本敦煌书杂记-敦煌的历史(一)

前两天看了樊锦诗院长的讲座&#xff0c;八十几岁的高龄还讲的兴致盎然&#xff0c;虽然全长两个多小时但感觉一点不嫌长&#xff0c;听完深受感动。意犹未尽&#xff0c;又迫不及待的买了几本书来读。一本是《灿烂佛宫》&#xff0c;一本是《报恩父母经典故事》。因为我自己从…

在anaconda中安装tensorflow-GPU版本

在anaconda中安装tensorflow-GPU版本 第一步&#xff1a;去anaconda官网下载&#xff0c;我下载的是anaconda (python3.7版本&#xff09; anaconda下载链接&#xff1a;点击link 进去之后网页最下面有要下载的版本 安装的具体步骤&#xff1a;点击 link 第二步&#xff1a;…

云服务远程登录---设置安全组

对于小白来说购买了云服务不知道怎么开放端口和用xsell远程连接下面是步骤&#xff1a; 下面就可以玩耍了转载于:https://www.cnblogs.com/zhaojingyu/p/9021068.html

高程数据处理_珠峰长高了吗?新高程怎么算出来的?揭秘

珠穆朗玛峰是世界上海拔最高的山峰&#xff0c;被称为世界第三极&#xff0c;是亚洲的水塔。12月8日&#xff0c;珠穆朗玛峰最新高程公布&#xff0c;为8848.86米。珠峰长高了吗&#xff1f;怎么测算出来的&#xff1f;和以往的测量相比&#xff0c;“新”在哪里&#xff1f;就…