Linux C/C++ 配置编程环境

注: linux系统是 CentOS 9 Stream

安装VS Code

下载VS Code

  1. 进入VS Code官网,点击“Other platforms” 在这里插入图片描述

  2. 我们需要在Windows的平台下使用VS Code,因此需要下载Window的.zip x64版本
    在这里插入图片描述

  3. 将下载的VS Code包解压到合适位置

VS Code配置

  1. 进入到VS Code包解压目录,找到Code.exe,双击启动 VS Code

  2. 安装插件

    • C/C++(本地机器不需要可以不安装, 远程机需要安装)
      在搜索框中输入C/C++,选择微软提供的 C/C++ 插件
    • Remote ssh(本地机器需要安装)
      在搜索框中输入ssh,选择微软提供的 Remote ssh 插件
    • xmake(本地机器不需要可以不安装,远程机需要安装)
      在搜索框中输入xmake
  3. 安装完成后如下图示
    在这里插入图片描述
    安装完成后请 重启VS Code

VS Code 远程linux

  1. 安装完Remote ssh,在VS Code上看到两个图标(如下图标记1和标记2)
    在这里插入图片描述

  2. 点击上图的标记2,在弹出的命令面板中点击“Connect to Host…” 在这里插入图片描述

    添加一个新SSH主机,选择“+ Add New SSH Host…”
    在这里插入图片描述
    参考E.g ssh hello@ip(或域名) -A,输入要远程的主机用户名和主机ip(或域名)
    不要忘记 -A 参数
    在这里插入图片描述

    设置举例,如下图所示
    在这里插入图片描述
    然后点击“回车”,选择SSH配置的存储位置(一般放在~/.ssh)
    在这里插入图片描述

  3. 刚配置完成后会在右下角弹出“打开配置和链接的对话框”,不查看配置点击“Connect”。在这里插入图片描述
    打开配置,如下图所示
    在这里插入图片描述
    点击配置后就没有链接,要链接远端主机可以点击前面的标记2,再次选择“Connect to Host…”
    在这里插入图片描述
    在这里插入图片描述

  4. 链接远端主机,需要在下图的标记1处输入选择用户的密码在这里插入图片描述
    链接成功后会启动一个新的VS Code,如果远端主机没有安装过VS Code,会为远端主机安装VS Code服务,如下图所示,这需要等一会 在这里插入图片描述

  5. 链接成功后,会显示链接的远程主机, 如下图所示 在这里插入图片描述

安装编程环境

检查环境

  1. 在VS Code(链接远程主机)中点击新建终端
    在这里插入图片描述

    在终端的标题栏点击最大化,这样可以看到更多内容(方便查看远程主机更多信息),再次点击就还原面板。 在这里插入图片描述

  2. 检查一下git, gcc, g++, gdb, xmake是否安装在这里插入图片描述
    可以看到远端主机都没有安装,那么接下来开始安装编程环境。

安装git

输入下面的命令(普通用户需要输入管理员密码),下一步到底

sudo yum install git 

在这里插入图片描述
查看git的版本

git --version

在这里插入图片描述

安装C/C++

输入下面的命令,下一步到底

sudo yum install gcc-c++

查看gcc和g++的版本

gcc --version

在这里插入图片描述

安装gdb调试器

输入下面的命令,下一步到底

sudo yum install gdb

查看gdb的版本

gdb --version

在这里插入图片描述

安装xmake

  1. 根据个人规划目录,将xmake_install.sh下载到适合的目录(不需要可以直接跳过这一步),在用户目录下创建 dev并进入到dev目录

    mkdir dev
    cd dev
    
  2. 下载xmake安装脚本

    curl -L https://xmake.io/shget.text -o xmake_install.sh
    

    在这里插入图片描述

  3. 给予执行权限

    chmod +x xmake_install.sh
    

    在这里插入图片描述

  4. 运行安装脚本

    ./xmake_install.sh
    

    在这里插入图片描述

    输入xmake命令查看xmake运行环境

    xmake --version
    

    在这里插入图片描述

  5. 执行xmake创建一个hellow工程

    xmake create hellow
    

    在这里插入图片描述

    查看hellow目录树

    cd hellow
    tree
    

    在这里插入图片描述

    构建hellow项目

    xmake
    

    运行hellow

    xmake run
    

    在这里插入图片描述
    可以看到通过命令的方式成功构建一个C++项目。
    切换调试模式

    xmake f -m debug
    

    构建调试版本

    xmake
    

    在这里插入图片描述

    运行调试

       xmake run -d
    

    如果报告error: debugger not found!说明没有安装调试器,参考安装gdb。
    在这里插入图片描述

    安装完gdb后关闭VS Code重新链接
    先清理一下配置,重新配置调试模式、构建、在执行调试模式
    在这里插入图片描述

    在调试模式下输入 r 会提示

    "This GDB supports auto-downloading debuginfo from the following URLs:"
      "<https://debuginfod.centos.org/>"
    

    输入 y 下载并安装相关的文件。 在这里插入图片描述

    再次按r进行调试,只是这个程序没有打断点。

配置远程VS Code插件环境

在远程的VS Code中安装

  • C/C++
    在搜索框中输入C/C++,选择微软提供的 C/C++ 插件,参考下面的xmake进行远程安装。
  • xmake
    在搜索框中输入xmake
    在这里插入图片描述
    安装完成如下图所示 在这里插入图片描述

编写代码和编译、调试

前面的工作准备完成后,那么在VS Code中进行编写代码、编译和调试。

创建一个VS Code的工作文件夹

  1. 在终端创建 example_vsxmake 文件夹,用于VS Code的工作文件夹

    mkdir example_vsxmake
    

    在这里插入图片描述

    进入到 example_vsxmake 文件夹, 通过 pwd 命令查看文件夹的绝对路径

    cd example_vsxmake
    pwd
    

    在这里插入图片描述

  2. 在VS Code中点击“Open Folder”,命令面板中输入新建 example_vsxmake 文件夹的绝对路径, 然后点击“Ok”
    在这里插入图片描述
    在命令面板中输入远程主机的密码
    在这里插入图片描述

    在弹出对话框勾选“trust the authors of all fiels in the parent folder ‘shiyan’”,点击"Yes, I trust the authors"
    在这里插入图片描述

创建工程、修改代码、打断点、调试

  1. 在命令面板中通过xmake插件创建工程,如下图所示
    在这里插入图片描述

    选择"c++" -> “console”(这里就不在记录,同本地VS Code使用xmake一样)

  2. 打开 src/main.cpp,右下角弹出安装"C/C++ Extension",选择“Install”即可
    在这里插入图片描述

    修改代码如下

    #include <iostream>
    
    int main(int argc, char** argv) {
    
     std::cout << "hello world!" << std::endl;
    
     for (size_t i = 0; i < 10; i++)
     {
         std::cout << "i = " << i << std::endl;
     }
     
    
     return 0;
    }
    
  3. src/main.cpp 文件的第5行按下 F9 打断点
    在这里插入图片描述

  4. 构建调试
    在这里插入图片描述

    确保标记1是 debug, 点击标记2的 build 进行构建

  5. 调试
    点击下图的调试按钮或按下快捷键 F5 启动调试
    在这里插入图片描述
    如下图所示,已经停在断点处,右侧可以看到变量、调用堆栈等信息
    在这里插入图片描述

  6. 执行调试
    按下 F10 执行单步调试(默认同Vistual Studio 2022)
    在这里插入图片描述

    在终端可以看到打印输出。

  7. DEBUG CONSOLE 窗口可以看到调试信息
    在这里插入图片描述

配置版本管理

git

  1. 配置用户

    git config --global user.name "用户"
    
  2. 配置邮箱

    git config --global user.email "邮箱地址"
    

    在这里插入图片描述

    配置信息是记录当前用户的(如果只想为某个特定的仓库设置用户名和邮箱,可以去掉–global标志,并在该仓库的目录下运行上述命令)

    ~.gitconfig
    

    在这里插入图片描述

  3. 安装git插件

    • git graph
      在搜索框中输入git graph
    • git history
      在搜索框中输入git graph
      安装完成后如下图所示
      在这里插入图片描述
  4. 生成ssh密钥

    ssh-keygen -t ed25519 -C 'xx.lux@lux.com' 
    

    在这里插入图片描述

  5. 将~.ssh/文件下的id_ed25519.pub的内容部署到gitcodegitee、github、gitlab、gitea等版本服务器上。
    参考gitee的添加部署公钥部分。
    本文以gitlab为例

    • 登录gitlab

    • 点击头像,选择“偏好设置”
      在这里插入图片描述

    • 然后点击“SSH”->“添加密钥”,粘入拷贝的公钥
      在这里插入图片描述

      在这里插入图片描述

  6. 下载代码

    • 在VS Code中选择“Clone Repository”,弹出的命令面板中粘贴git的ssh路径(可先规划好下载的路径)
      在这里插入图片描述

    • 选择下载的路径,点击“OK”
      在这里插入图片描述

    • 弹出的对话框,点击“Open”打开下载的代码文件夹
      在这里插入图片描述

    • 输入远程主机用户的密码
      在这里插入图片描述

    • 然后“回车”确认,可以看到打开代码文件夹,在终端中输入 pwd 查看代码的绝对路径
      在这里插入图片描述

  7. 查看git日志。这里只是简单演示一下,通过界面操作(不需要git命令行的方式)就可以完成git相关的操作。
    在这里插入图片描述

  8. 通过 Xmake 命令面板或 工具栏 编译代码
    在这里插入图片描述

配置clang相关

注: 本操作是windows上的. linux就不写了,应该差不多,后面遇到坑在补充。

clangd插件

在这里插入图片描述
clangd插件容易安装,依赖clangd.exe在github上,自动下载不稳定,会经常失败,多尝试几次或找找其他博客说明。

安装完clangd,会自动提示是否禁用 C_Cpp.intelliSenseEngine 和安装(指定)clangd 工具。也可以手动禁用通过修改 C:\Users\xx\AppData\Roaming\Code\User\settings.json 文件

// 配置 clangd.exe 工具
"clangd.path": "c:\\Users\\xx\\AppData\\Roaming\\Code\\User\\globalStorage\\llvm-vs-code-extensions.vscode-clangd\\install\\18.1.3\\clangd_18.1.3\\bin\\clangd.exe",
"C_Cpp.intelliSenseEngine": "disabled", // 主要是这句, 只禁用C_Cpp的这一个功能就好了

下面是重点

在这里插入图片描述
禁用后 foo.hFXXDateTime 显示波浪线和大白色了。

clang的配置文件 compile_commands.json.vscode 文件夹下, (((φ(◎ロ◎;)φ)))
在这里插入图片描述
compile_commands.json 文件放在 build 文件夹就可以了(配置c_cpp_properties.json“compileCommands”: “compile_commands.json” 也没起作用,分析是 因为 C:\Users\xx\AppData\Roaming\Code\User\ settings.json 文件中 C_Cpp.intelliSenseEngine": “disabled” 导致 c_cpp_properties.json 文件都不起作用了, clangd 只需要 compile_commands.json 文件即可 )。

使用 xmake 生成 compile_commands.json 文件到 build 文件夹下

xmake project -k compile_commands --lsp=clangd build

在这里插入图片描述

foo.h 没有波浪线了, FXXDateTime 也不是大白色了。

配置Formating

vscode-clang-format github链接

本文档使用的 vs code 版本号是 1.96.2,没有安装如下图所示 clang-format 插件。

在这里插入图片描述
通过点击 vs code 中 Manage - Settings
在这里插入图片描述
User 界面选择 Extensions - C/C++ : Formating ,就看到 C_CPP:Clang_format_style (是安装 clangd 插件带来的还是 vs code 1.96.2 自带的[后面明白了再更新此处)

在这里插入图片描述
官网资料
Clang-Format Style Options
参考资料
Clang-Format:代码自动格式化(看这一篇就够了)
vs code 技巧:使用clang-format来格式化代码 - 不回本不改名 - 博客园

  1. C_Cpp: Clang_format_fallback Style :当设置clang-format且没有.clang-format文件时,会使用这里选择的默认设置来设置格式。

  2. C_Cpp: Clang_format_path:这个是clang-format.exe的绝对路径。C:/Users/xx/.vscode/extensions/ms-vscode.cpptools-1.22.11-win32-x64/LLVM/bin/clang-format.exe

  3. C_Cpp: Clang_format_style:这个是.clang-format文件的路径。file:C:/Users/xx.vscode/extensions/ms-vscode.cpptools-1.22.11-win32-x64/LLVM/bin/clang-format。若这里只设置为file,则从当前目录或父目录中的 .clang-format 文件加载样式,若当前目录或父目录中也没有.clang-format则使用C_Cpp: Clang_format_fallback Style中的设置。

    C_Cpp: Clang_format_style 设置特定路径的 .clang_format 文件一直没生效(没有使用明白) 。一般来说所有项目的代码风格是一致(设置一次就可以了),也有情况当维护多个来自不同组织的项目代码风格可能存在差异情况,就需要用项目中的代码风格样式,采取保留默认值 file ,在每个项目中有一个 .clang_format 文件(该方式生效)。

    src(只要是源码的根目录)新建 .clang_format 文件

    在这里插入图片描述

    内容如下

    Language: Cpp
    Standard: Auto
    ColumnLimit:     120
    
    IndentWidth: 4
    
    #花括号包裹方式
    BreakBeforeBraces: Custom
    BraceWrapping:
      AfterEnum: true
      AfterStruct: true
      AfterFunction : true
    
    #对齐方式
    AlignConsecutiveAssignments: AcrossEmptyLinesAndComments
    
    AlignConsecutiveMacros:
      Enabled: true
      AcrossEmptyLines: true
      AcrossComments: true
    

    在打开的 main.cpp 文件的编辑界面鼠标右键选择 Format Document

    在这里插入图片描述

    效果如下

    在这里插入图片描述

命令行操作方式

  • 查看版本

    clang-format --version
    
  • main.cpp 文件格式为 microsoft 代码风格样式

    clang-format -style=microsoft -i src/main.cpp
    
  • src 文件夹下所有的 .cpp 文件格式为 google 代码风格样式

    clang-format -style=google -i src/*.cpp
    
  • google 代码风格样式输出到 .clang-format 文件中

    clang-format -style=google -i -dump-config > /src.clang-format  
    

    在这里插入图片描述

  • 使用 .clang-format 代码风格样式格式 src 文件夹下所有的 .cpp 文件

    clang-format --assume-filename=src/.clang-format -i src/*.cpp 
    

    在这里插入图片描述

配置Vim

两种配置方式

  1. 在/etc/vimrc 进行设置,这种设置方法会作用与所有登录到Linux环境下的用户。不建议使用。
  2. 在用户登录的 ~ 目录下创建一个 .vimrc文件,在其中进行自己习惯的编程环境的设置,这样当别的用户使用实并不互相影响。

vimrc文件

  1. 创建或打开用户目录下的 .vimrc 文件

    cd
    vim .vimrc
    
  2. 按下键盘上的 i 键,修改 .vimrc 文件

    " set mouse=a      " 可以使用鼠标
    set nu             " 显示行号
    set showmode       " 设置在命令行界面最下面显示当前模式等
    set ruler          " 在右下角显示光标所在的行数等信息
    set autoindent     " 设置每次单击Enter键后,光标移动到下一行时与上一行的起始字符对齐
    syntax on          " 即设置语法检测,当编辑C或者Shell脚本时,关键字会用特殊颜色显示
    set ts=4           " 设置 tab 的空格
    set softtabstop=4  " 表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用
    set expandtab      " 表示缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进
    set shiftwidth=4   " 表示每一级缩进的长度,一般设置成跟 softtabstop 一样
    set autoindent     " 自动缩进
    
  3. 按下键盘上的 esc 键,输入下面命令

    :wq
    

    然后回车

配置hosts文件解析域名

如果内网配置了域名又没有DNS服务,通过修改本机的hosts配置域名的ip。
hosts文件的格式如下:
IP地址 主机名/域名
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;

编辑host
在终端中输入

sudo vim /etc/hosts

修改域名解析

127.0.0.1     localhost.localdomain localhost
192.168.1.100 test.lux.com test_lux

保存完成即可, CentOS 9 Stream 不需要重启。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值