从Windows引用商店搜搜Linux,下载Ubuntu(可选18.04或者20.04都可),下载完成后开始菜单点击安装,会要求初始化用户名和密码。
后续操作需要root权限,Ubuntu默认是没有root用户的,需要先手动创建
sudo passwd root 输入密码
这一步非常重要,可以极大提升用户体验,从阿里开源镜像站复制对应下载源,然后按这个步骤操作:https://blog.csdn.net/Mingzhul/article/details/105302399
注意先备份再修改,养成良好操作习惯。
随着时代的进步,这一步的操作貌似有几种方式,应该都可以吧
- 可以参考这个,编译安装VSCode:https://blog.csdn.net/reeeeein/article/details/104628415
- 或者直接通过 Remote-WSL 直接启动:https://blog.csdn.net/weixin_43876113/article/details/105261577 ,不知道是不是我已经用第一步安装了的原因,这样的确是可行的
- 从官网下载VSCode Linux安装包安装,我觉得这种比较通用,步骤如下:
这一步需要首先在Windows上安装好VSCode及 Remote-WSL插件,现在有 C/C++ Extension Pack 插件,可以装一大堆C++开发的插件,其中就有这个。 然后从VSCode官网下载Ubuntu的.deb安装包,比如放到D盘,然后拷贝到home目录下(以root用户操作):
cp /mnt/d/code_1.62.0-1635954068_amd64.deb ./
注意:WSL和Windows通过 /mnt/win磁盘路径
共享磁盘,然后安装:
dpkg -i code_1.62.0-1635954068_amd64.deb
这样就再wsl上安装好了VScode,在其他Linux上都可以这么操作,万能的VSCode,然后切换到代码目录,例如在 /home/testcode
目录下,VScode可以运行命令启动(也可直接在Windows中用Remote-WSL连接启动,区别在于启动后工作空间名字不一样...):
cd /home/testcode code .
这样就会在Windows上的VScode中远程打开当前 testcode 目录。
最后就是一些构建配置,在工程目录下的 .vscode 目录下,一般来说这个目录和需要的文件会由VSCode自动生成,需要了解其含义,适当手动修改:
C++工程配置 c_cpp_properties.json,会在直接运行项目时用到:
{ "configurations": [ { "name": "Linux", "includePath": [ // 头文件查找路径 "${workspaceFolder}/**", "../include" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "c11", "cppStandard": "c++14", "intelliSenseMode": "clang-x64", "configurationProvider": "ms-vscode.cmake-tools" } ], "version": 4 }
gdb调试配置 launch.json ,会在F5执行调试时用到:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", //启动配置的下拉菜单中显示的名称 "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/bin/testServer", // 将要进行调试的程序的路径 "args": [], "stopAtEntry": false, // 设为true时程序将暂停在程序入口处 "cwd": "${workspaceFolder}/bin", // 调试程序时的工作目录 "environment": [], "externalConsole": false, // 调试时是否显示控制台窗口 "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build-debug" // 调试会话开始前执行的任务,一般为编译程序 } ] }
settings.json,这个不知道有什么用,貌似与用到的库有关:
{ "files.associations": { "functional": "cpp", "initializer_list": "cpp", "array": "cpp", "atomic": "cpp", "*.tcc": "cpp", "cctype": "cpp", "clocale": "cpp", "cmath": "cpp", "cstdarg": "cpp", "cstdint": "cpp", "cstdio": "cpp", "cstdlib": "cpp", "cstring": "cpp", "ctime": "cpp", "cwchar": "cpp", "cwctype": "cpp", "deque": "cpp", "list": "cpp", "unordered_map": "cpp", "vector": "cpp", "exception": "cpp", "fstream": "cpp", "iosfwd": "cpp", "iostream": "cpp", "istream": "cpp", "limits": "cpp", "new": "cpp", "ostream": "cpp", "numeric": "cpp", "sstream": "cpp", "stdexcept": "cpp", "streambuf": "cpp", "cfenv": "cpp", "tuple": "cpp", "type_traits": "cpp", "utility": "cpp", "typeinfo": "cpp", "memory": "cpp", "forward_list": "cpp", "string": "cpp" }, "cmake.configureOnOpen": true }
tasks.json ,构建任务配置,配置了一些 make 参数
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build-release", "command": "make", "args": [ "-j4", "-C", "${workspaceFolder}/build/" ], "type": "shell", "problemMatcher": [ "$gcc" ] }, { "label": "build-debug", "command": "make", "args": [ "-j4", "-C", "${workspaceFolder}/build/" ], "type": "shell", "problemMatcher": [ "$gcc" ] }, { "label": "clean", "command": "make", "args": [ "-C", "${workspaceFolder}/build/", "clean" ], "type": "shell", "problemMatcher": [ "$gcc" ] } ] }