本地随手写一些题目的时候,发现visual studio非常庞大emmm

  1. vscode
    vscode是一个轻量编辑器
    (1)vscode插件与设置自动同步
    在两个电脑上,用vscode可以同步插件 ,利用VSCode插件 "Settings Sync"。
    特性:

    1. Use your GitHub account token and Gist.
    2. Easy to Upload and Download on one click.
    3. Show a summary page at the end with details about config and extensions effected.
    4. Auto Download Latest Settings on Startup.
    5. Auto upload Settings on file change.
    6. Share the Gist with other users and let them download your settings.
    7. Supports GitHub Enterprise

    关键命令:

    1. Upload Key : Shift + Alt + U
    2. Download Key : Shift + Alt + D

    按照命令设置即可。
    (2)vscode简单命令
    ctrl+shift+P: 通过关键词 来查找命令

  2. 安装MinGW-W64
    选择如下:

    安装完后记得加 “..../bin/”到环境变量。

  3. cmake
    一直下一步安装即可。勾选环境变量。
  4. 到了重要的一大堆的设置的时候了。
    主要参考了一些资料
    cmake命令大全        cmake介绍    cmake手册详解
    主要配置参考两篇文章,a LOX: 利用VSCode进行C/C++开发    b 初学c++ VS code + CMake 编译调试helloWord
    a 是利用vscode中的cmake tools插件来边界,b是利用cmd命令。
  5. vscode中的各种变量

    介绍一下有关 文件之类的,

    ${workspaceRoot} 当前打开的文件夹的绝对路径+文件夹的名字

    ${workspaceRootFolderName}   当前打开的文件夹的名字

    ${file} 当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名

    ${relativeFile} 从当前打开的文件夹到当前打开的文件的路径

    如 当前打开的是test文件夹,当前的打开的是main.c,并有test / first / second / main.c

    那么此变量代表的是  first / second / main.c

    ${fileBasename}  当前打开的文件名+后缀名,不包括路径

    ${fileBasenameNoExtension} 当前打开的文件的文件名,不包括路径和后缀名

    ${fileDirname} 当前打开的文件所在的绝对路径,不包括文件名

    ${fileExtname} 当前打开的文件的后缀名

    ${cwd} the task runner's current working directory on startup

    不知道怎么描述,这是原文解释,

    跟 cmd 里面的 cwd 是一样的

    ${lineNumber}  当前打开的文件,光标所在的行数

  6. 各种设置
  7. launch.json
    name 的名字随便起, preLaunchTask是和下一个task.json中Label名字关联起来的。

     1 {
     2     // 使用 IntelliSense 了解相关属性。
     3     // 悬停以查看现有属性的描述。
     4     // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
     5     "version": "0.2.0",
     6     "configurations": [
     7
     8         {
     9             "name": "(gdb) Launch",
    10             "type": "cppdbg",
    11             "request": "launch",
    12             // "program": "${fileDirname}/${fileBasenameNoExtension}.out",
    13             "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
    14             "args": [],
    15             "stopAtEntry": false,
    16             "cwd": "${workspaceFolder}",
    17             "environment": [],
    18             "externalConsole": true,
    19
    20             "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe",
    21
    22
    23             "linux": { // Linux 系统下的配置
    24              "MIMode": "gdb" },
    25             "osx": { // OS X系统下的配置
    26             "MIMode": "lldb" },
    27             "windows": { // Windows 系统下的配置
    28             "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe" },
    29             "preLaunchTask": "build"
    30
    31         },
    32
    33         {
    34             "name": "(gdb) debug multi",
    35             "type": "cppdbg",
    36             "request": "launch",
    37             // "program": "${fileDirname}/${fileBasenameNoExtension}.out",
    38             "program": "${fileDirname}/build/TEST.exe",
    39             "args": [],
    40             "stopAtEntry": false,
    41             "cwd": "${workspaceFolder}",
    42             "environment": [],
    43             "externalConsole": true,
    44
    45             "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe",
    46
    47
    48             "linux": { // Linux 系统下的配置
    49              "MIMode": "gdb" },
    50             "osx": { // OS X系统下的配置
    51             "MIMode": "lldb" },
    52             "windows": { // Windows 系统下的配置
    53             "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe" },
    54             // "preLaunchTask": "debug"
    55
    56         }
    57
    58     ]
    59 }

  8. Task.json

     1 {
     2     // See https://go.microsoft.com/fwlink/?LinkId=733558
     3     // for the documentation about the tasks.json format
     4     "version": "2.0.0",
     5     "tasks": [
     6         {
     7             "label": "build",
     8             "type": "shell",
     9             "command": "g++",
    10
    11             // "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.out","-std=c++11"],
    12             // "args":[],
    13             "args": ["-g","${file}","-o","${fileDirname}/build/TEST.exe","-std=c++11"],
    14             "presentation": {
    15                 "reveal": "always",
    16                 "panel": "shared"
    17             },
    18
    19
    20             "problemMatcher":{
    21                 "owner": "cpp",
    22                 "fileLocation": ["relative", "${workspaceRoot}"],
    23                 "pattern": {
    24                     "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
    25                     "file": 1,
    26                     "line": 2,
    27                     "column": 3,
    28                     "severity": 4,
    29                     "message": 5
    30                 }
    31
    32             }
    33         }
    34
    35
    36
    37     ]
    38 }

    View Code

  9. 文件-首选项-设置

    {"cmake.debugConfig": {"miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe",    // Windows 下指定gdb路径(已添加到PATH)"externalConsole": true,    // 使用外部控制台"stopAtEntry": false    // 在起点处停顿(噢!在这停顿!)
        },"git.ignoreLimitWarning": true
    }

    View Code

    这个是和cmake相关的,设置里面找cmake插件相关的命令

  10. CMakeLists编写

    根目录下的

     1 # 使用CMake Tools插件(可选,如果这个项目去到一个没有这个插件的机器也同样可以生成项目)
     2 include(CMakeToolsHelpers OPTIONAL)
     3
     4 # CMake 最低版本号要求
     5 cmake_minimum_required(VERSION 2.8)
     6
     7 # 项目名称
     8 project(TEST)
     9 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    10 # 查找当前目录下的所有源文件
    11 # 并将名称保存到 DIR_ROOT_SRCS变量 a
    12 aux_source_directory(. DIR_ROOT_SRCS)
    13
    14 # 添加 MyLib子目录
    15 add_subdirectory(MyLib)
    16
    17 # 指定生成目标 TEST
    18 add_executable(TEST ${DIR_ROOT_SRCS})
    19
    20 # 添加链接库
    21 target_link_libraries(TEST PrinterLib)

    View Code

    子文件夹MyLib下的

    1 include(CMakeToolsHelpers OPTIONAL)
    2
    3 cmake_minimum_required(VERSION 2.8)
    4 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    5 aux_source_directory(. DIR_LIB_SRCS)
    6
    7 # 生成链接库
    8 add_library(PrinterLib ${DIR_LIB_SRCS})

    View Code

  11. vscode左下角

    F5启动对应launch.json中的设置,debug multi是对应多源文件调试的。
    Build->是cmake的编译,然后cmake-> debug
    对单文件,选择launch.json中的第一个就可以了,不需要用到cmake

  12. 最后在另一台电脑上同样配置的时候,出现了错误至今无法解决_(:з」∠)_ https://intellij-support.jetbrains.com/hc/en-us/community/posts/207460115-The-C-compiler-is-not-able-to-compile-a-simple-test-programm 折腾不动了_(:з」∠)_

转载于:https://www.cnblogs.com/pots/p/9275396.html

vscode+MinGW+cmake设置轻量ide相关推荐

  1. python的ide编辑器_python轻量IDE编辑器 pyscripter 免费开源 更新3.6.3版本

    PyScripter是一个开放源码的Python集成开发环境(IDE),它的目标是在功能上与其他语言的商业IDE竞争.它功能丰富,但也很轻量. 使用PyScripter,您必须确保有一个Python版 ...

  2. 你玩过轻量系统软总线应用吗?

    项目概述 可能有些同学已经接触过了标准系统上的软总线应用开发,但是你玩过轻量系统上的软总线应用吗?现在它来了.我们利用OpenAtom OpenHarmony 3.1 Release(以下简称&quo ...

  3. 腾讯云轻量应用服务器怎么搭建网站?超详细建站流程

    腾讯云轻量应用服务器怎么搭建网站?太简单了,轻量服务器选择宝塔Linux镜像,然后在宝塔面板上添加站点,以WordPress建站为例,腾讯云服务器网来详细说下腾讯云轻量应用服务器搭建网站全流程,包括轻 ...

  4. 关于VSCode中工作区的讲解与使用工作区还你一个轻量 的VSCode

    VSCode的使用率在逐渐提高,但安装太多的插件会使得VSCode变得臃肿,甚至运行变慢,占用太多内存,此文章介绍了工作区,并如何来使用工作区更好地体验VSCode. 初次使用VSCode,肯定有很多 ...

  5. 阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器

    阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器 1.通过阿里云的控制台创建密钥. 选择密钥管理,输入密钥名称,选择自动创建密钥 下载密钥到本地 重启服务器 2.Xshell设置通过密钥连接 输入 ...

  6. 推荐一款轻量且功能强大的集成开发工具(IDE)lightly

    面对初学者推荐的一款轻量且功能强大的集成开发工具(IDE)lightly,可以在线使用,也可以下载客户端,支持windows和macOS. 支持C,C++,Golang,HTML,Java,PHP,P ...

  7. 我们开源了一个轻量的 Web IDE UI 框架 - Molecule

    Molecule , 一个轻量的 Web IDE UI 框架 https://github.com/DTStack/molecule​github.com/DTStack/molecule 简介 Mo ...

  8. 腾讯云轻量应用服务器端口开放教程(在防火墙设置)

    腾讯云轻量应用服务器如何开放端口?在防火墙中添加规则来实现的,云服务器吧以轻量服务器开放80端口为例来详细说下腾讯云轻量应用服务器开放端口方法教程: 腾讯云轻量服务器开放端口教程 腾讯云服务器CVM开 ...

  9. 2 模版_轻量html模版渲染库 cJinja

    介绍 cJinja 是一个使用cpp编写的轻量html模版解析库,依赖 ejson 来实现模版的数据替换(在jinja中称为context,上下文).模版的语法基本与django jinja一致,功能 ...

最新文章

  1. html 一条线两种颜色,HTML5/CSS3超酷进度条 不同进度多种颜色
  2. 微服务架构Spring Cloud和Dubbo 还有EDAS
  3. boost::nth_element相关的测试程序
  4. 前端学习(3002):vue+element今日头条管理--模块介绍
  5. c语言将数据写不入文件,求大神看看为什么不能将数据写入文件
  6. bash 抓捕异常_SHELL异常处理(转载)
  7. 【无人机】无人机产业链全景图
  8. js中substr,substring,indexOf,lastIndexOf,split 的用法
  9. [JOYOI1326] 剑人合一
  10. [Luogu 1197] JSOI2008 星球大战
  11. Python2.7.3 学习——准备开发环境
  12. 老版TP-Link路由器设置固定时间上网
  13. Django安全认证机制CSRF
  14. 干货实操!人人都能学会的Excel数据分析方法
  15. 杨世忠:“周转”知识终圆航天梦
  16. java hadhoop如门pdf_《Hadoop实战》PDF 下载
  17. 使用tableau做甘特图
  18. winds搭建bugfree环境
  19. 卫星电视转 IPTV流媒体监测方案
  20. python淘宝抢单_Python使用Selenium实现淘宝抢单的流程分析

热门文章

  1. Ubuntu 16.04系统下CUDA8.0配置Caffe教程
  2. iView:一套基于Vue的高质量UI组件库
  3. 第二十四周项目4-猴子选大王(约瑟夫问题)
  4. ExFat文件系统DBR受损恢复案例
  5. 大厂Android面试,居然还问这些问题!
  6. Android 系统启动(一)---fork机制
  7. 配置LANMP环境(2)-- 安装ifconfig命令与安装SecureCRT
  8. 每个设计师需知的40个设计素材站
  9. JSP自定义标签之简单标签入门
  10. Centos下Yum安装PHP5.5,5.6