1.c++环境配置及第一个环境运行

开发IDE与环境

最好是使用ubuntu系统进行开发,如果没有的话,基于windows使用vs code 进行ssh连接到远程的ubuntu主机进行开发也可以。开发的过程跟本地差不多。

vs code IDE 插件的安装

1.变成中文菜单与提示,安装MS-CEINTL.vscode-language-pack-zh-hans插件。
在这里插入图片描述
安装完之后,更改语言重新启动,右下角会有提示。
在这里插入图片描述
2.安装ssh的插件,搜索remote
在这里插入图片描述
只要装第一个后面两个红框里的会自动安装。

3.安装c++的插件
在这里插入图片描述

4.python插件安装

在这里插入图片描述
5.代码补全,可供选择。

  • TabNine.tabnine-vscode (有免费的)
  • GitHub.copilot (一个月10美元)

上面不包括5,一套装完之后是13个插件。

在这里插入图片描述

远程ssh到ubuntu主机

重启vs之后,点击左下角。
在这里插入图片描述
选择连接到主机。然后添加新的主机。
在这里插入图片描述
在这里插入图片描述
需要输入一个远程的地址登陆字符串。
比如:ssh [email protected]
然后会让你选择存储的位置。一般选择第一个默认的就行了。
在这里插入图片描述
选择之后左下角会给提示,添加成功。
在这里插入图片描述
进入的方式,点击左下角。
在这里插入图片描述
在这里插入图片描述
然后会弹出一个新的vs窗口,需要你选择平台,输入密码,进行相关的第一次进入的配置。配置完之后如下图。在这里插入图片描述
可以点击左下角,选择编辑,修改显示的名字。

在这里插入图片描述
此时这个窗口,打开终端,显示的就是远程ubuntu主机的终端了。相当于在ubuntu上调试代码。
在远程的vs界面上,插件部分,显示三个部分。
在这里插入图片描述
会有很多扩展,在工作区被禁用。
在这里插入图片描述
可以把你想要的插件,在远程也装一下。按照这个方式,把已安装的插件都在远程安装一下。
到此,在本地开发就跟在远程完全一致了。如果将云主机替换远程ubuntu,也是可以运行的。替换云主机之后,需要重新安装插件。

x86 的 ubuntu主机装conda环境

安装步骤,很简单就是下载sh文件安装即可。具体参考:http://www.jnnr.cn/a/210674.html。
安装完之后,换成清华源,pip装东西会快很多。具体参考:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

测试python环境的搭建

基于远程ubuntu主机,搭建用于开发的python环境。利用终端建立好文件夹之后,运行code . 。就在vs中打开了这个工作区。
在这里插入图片描述
需要注意的是,需要先激活python虚拟环境,用python指令跑起来对应的代码。在写python代码的时候,建立不要依赖ide的右键运行,而是使用控制台输指令运行。

在这里插入图片描述
python指令的位置。
在这里插入图片描述

python程序的调试

在这里插入图片描述
创建launch.json文件,然后把下面这个复制过去。

{
    
    
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
    
    
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            // "program": "${file}", // 当前文件
            "program": "demo.py", // 指定文件
            "console": "integratedTerminal",
            "justMyCode": true // false表示可以进入第三方库(如Pytorch)里进行调试
        }
    ]
}

注意:debug功能不支持python3.7以下的python版本。debug调试使用的python版本可以在vs的右下角选择。

c++环境配置

注意:当前配置的环境主要为了演示C++基础知识教学,后面做项目时会有调整。
注意,c++编译需要g++,which指令查看。
在这里插入图片描述
演示代码:

#include <iostream>
using namespace std;

int main(){
    
    
    
    // 计算 1+2+3+4+5
    int sum {
    
    0};
    for (int i {
    
    0}; i < 5; i++){
    
    
        sum += i;
    }
    // 输出结果
    cout << sum << endl;
    return 0;
    
}
  • 先用g++ main.cpp -o main生成可执行文件。
    在这里插入图片描述

  • 再用VS Code 菜单:终端-运行生成任务生成可执行文件,需要在.vscode先添加tasks.json。

在这里插入图片描述
运行这个指令,不需要输入控制台指令,就可以生成可执行文件。可以点击后面的齿轮对任务进行完整的配置。这里会用到一些常量,附上一个常量表。

以:/home/Coding/Test/.vscode/tasks.json 为例

${workspaceFolder} :表示当前workspace文件夹路径,也即/home/Coding/Test

${workspaceRootFolderName}:表示workspace的文件夹名,也即Test

${file}:文件自身的绝对路径,也即/home/Coding/Test/.vscode/tasks.json

${relativeFile}:文件在workspace中的路径,也即.vscode/tasks.json

${fileBasenameNoExtension}:当前文件的文件名,不带后缀,也即tasks

${fileBasename}:当前文件的文件名,tasks.json

${fileDirname}:文件所在的文件夹路径,也即/home/Coding/Test/.vscode

${fileExtname}:当前文件的后缀,也即.json

${lineNumber}:当前文件光标所在的行号

${env:PATH}:系统中的环境变量

tasks.json将控制台这套操作(编译,执行)进行了参数化,如下(需要先确定g++的路径):

{
    
    
  "version": "2.0.0",
  "tasks": [
    {
    
    
      "type": "cppbuild",
      "label": "C/C++: g++ 生成活动文件",
      "command": "/usr/bin/g++", // g++的路径
      "args": [
        "-fdiagnostics-color=always", // 颜色
        "-g",  // 调试信息
        "-Wall", // 开启所有警告
        "-std=c++14", // c++14标准
        "${file}", // 文件本身,仅适用于C++基础知识教学,无法同时编译所有文件
        // "${fileDirname}/*.cpp", // 文件所在的文件夹路径下所有cpp文件
        "-o", // 输出
        "${workspaceFolder}/release/${fileBasenameNoExtension}" // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀
      ],
      "options": {
    
    
        "cwd": "${fileDirname}" // 文件所在的文件夹路径
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": {
    
    
        "kind": "build",
        "isDefault": true
      },
      "detail": "编译器: /usr/bin/g++"
    }
  ]
}

如果要调试的话,launch.json需要做如下的改动,就是跟python的那个在一个文件里面。

 {
    
    
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
    
    
            "name": "(gdb) 启动",
            "type": "cppdbg", // C++调试
            "request": "launch",
            "program": "${workspaceFolder}/release/${fileBasenameNoExtension}",  // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}", // 文件所在的文件夹路径
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
    
    
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
    
    
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ 生成活动文件" // tasks.json的label
        },
        {
    
    
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}", // 当前文件
            // "program": "demo.py", // 指定文件
            "console": "integratedTerminal",
            "justMyCode": true // false表示可以进入第三方库(如Pytorch)里进行调试
        }
    ]
}

配置之后,正常就可以通过终端-生成活动任务,生成编译后的可执行文件。
然后测试的话,进入debug页面,也可以测试了。

猜你喜欢

转载自blog.csdn.net/qq_25310669/article/details/128545101