在wsl下运行c语言,在Windows10下在WSL中使用visual studio code

介绍

VS code 很好用。

WSL很好。

所以两者结合起开使用爽歪歪。

在Windows上模拟Linux进行编译的方式有几种

1、安装MinGW,使用gcc或者g++进行编译

2、使用Windows连接WSL进行编译

本文介绍第二种

注意:Linux下的项目,在Windows上编译操作,1,2两种方案都是很好的.

要是想保持开发环境与生产环境一致,可以使用第二种.第一种可能使用的g++版本不一致.

目标

在Windows下使用vs code编辑Ubuntu下的代码,让其在Ubuntu下编译执行。

准备

window上开启Linux子系统

使用Ubuntu,配置清华大学的源--->这一步是为了加速安装软件.不懂的百度或者留言.

过程略

Windows上安装vs code

过程略,

插件的安装方式自行百度.

通过插件可以更改软件为中文.

操作

根据官网的方式

1、在Linux子系统上找个目录,然后执行code .

这个命令是可以通过WSL打开Windows下的vs code编辑器

安装插件

Ctrl+shift+p打开安装插件的搜索条

c/c++

remote-wsl

c++Intellisence

安装插件的时候注意:

需要在WSL中再次安装,双击插件名字旁边的在wsl中安装即可安装.

需要在WSL中安装g++ gcc---->自行百度解决

2、新建一个hello.cpp文件

里面写上C++输出hello world的代码

#include

#include

#include

using namespace std;

int main()

{

vector msg{"hello world", "你好"};

for (const string &word : msg)

{

/* code */

cout << word << " ";

}

cout << endl;

}

配置

这三个文件是通过设置自动生成的.

在你当前的目录下会生成一个.vscode的目录,这个目录里存放着三个文件.

这三个文件是控制着这个工程如何运作的.

配置完这三个文件就可以运行代码了.

c_cpp_properties.json (编译器路径和IntelliSense设置)

tasks.json (任务执行)

launch.json (调试器设置)

tasks.json

tasks.json文件来告诉VS Code如何构建(编译)程序

从主菜单中,选择Terminal > Configure Default Build Task。在下拉列表中,将显示任务下拉列表,其中列出了C ++编译器的各种预定义构建任务。选择g ++ build active file,它将构建当前在编辑器中显示(活动)的文件。

生成一个模板文件如下:

这里没啥要修改的.

参数说明:

command设置指定要运行的程序;在这种情况下是g ++。

args数组指定将传递给g ++的命令行参数。必须按照编译器期望的顺序指定这些参数。

此任务告诉g ++获取活动文件(${file}),对其进行编译,然后在当前目录(${fileDirname})中创建一个与活动文件同名但没有扩展名(${fileBasenameNoExtension})的可执行文件.

label值就是您将在任务列表中看到的值;您可以随意命名。这个label就是在构建的时候出现在vscode编辑器输出内容的窗口的名字.你可以用中文

要运行中定义的构建任务tasks.json,请按Ctrl + Shift + B或从终端主菜单中选择“ 任务:运行构建任务”。就可以执行了.

要是想运行多个CPP文件:您可以tasks.json使用"*.cpp"代替的参数来修改以构建多个C ++文件${file}。您也可以通过替换"${fileDirname}/${fileBasenameNoExtension}"

{

"version": "2.0.0",

"tasks": [

{

"type": "shell",

"label": "g++ build active file",

"command": "/usr/bin/g++",

"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],

"options": {

"cwd": "/usr/bin"

},

"problemMatcher": ["$gcc"],

"group": {

"kind": "build",

"isDefault": true

}

}

]

}

launch.json

接下来,您将创建一个launch.json文件来配置VS Code,以在您按F5调试程序时启动GDB调试器。

从主菜单中,选择“ 调试” >“ 添加配置...”,然后选择“ C ++(GDB / LLDB)”。

VS Code创建一个launch.json文件,在编辑器中将其打开,然后生成并运行“ helloworld”。

参数说明

program设置指定要调试的程序。在这里,它被设置为活动文件文件夹\({fileDirname}和活动文件名,不带扩展名\){fileBasenameNoExtension},如果helloworld.cpp是,则为活动文件helloworld。

默认情况下,C ++扩展不会在您的源代码中添加任何断点,并且其stopAtEntry值设置为false。将stopAtEntry值更改true为会导致调试器main在启动调试时在该方法上停止。(一般设置为false,如果是true则会在main的位置产生断点)

{

"version": "0.2.0",

"configurations": [

{

"name": "g++ build and debug active file",

"type": "cppdbg",

"request": "launch",

"program": "${fileDirname}/${fileBasenameNoExtension}",

"args": [],

"stopAtEntry": false,

"cwd": "${workspaceFolder}",

"environment": [],

"externalConsole": false,

"MIMode": "gdb",

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

],

"preLaunchTask": "g++ build active file",

"miDebuggerPath": "/usr/bin/gdb"

}

]

}

c_cpp_properties.json

如果要对C / C ++扩展进行更多控制,则可以创建一个c_cpp_properties.json文件,该文件将允许您更改设置,例如编译器的路径,包含路径,C ++标准(默认为C ++ 17)等。

您可以通过运行命令C / C ++:从命令面板(Ctrl + Shift + P)编辑配置(UI)来查看C / C ++配置UI 。

这将打开“ C / C ++配置”页面。当您在此处进行更改时,VS Code会将其写入到文件夹中称为c_cpp_properties.json的.vscode文件中。

仅当程序包含不在工作空间或标准库路径中的头文件时,才需要修改“ 包含路径”设置。

配置的json内容如下:

{

"configurations": [

{

"name": "Linux",

"includePath": ["${workspaceFolder}/**"],

"defines": [],

"compilerPath": "/usr/bin/gcc",

"cStandard": "c11",

"cppStandard": "c++17",

"intelliSenseMode": "clang-x64"

}

],

"version": 4

}

通过以上的设置,你就可以在Windows上使用vscode操作WSL里面的工程了.

总结

这么做好像有点脱裤子放屁.

但是可以在vscode安装vim插件,在vscode中使用vim了啊

哈哈哈哈

注意:下面的参考链接就是官网的.看图的话参考官网.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值