本地随手写一些题目的时候,发现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手册详解主要配置参考两篇文章,aLOX: 利用VSCode进行C/C++开发  b 初学c++ VS code + CMake 编译调试helloWorda 是利用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名字关联起来的。
         {
        // 使用 IntelliSense 了解相关属性。
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [ {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        // "program": "${fileDirname}/${fileBasenameNoExtension}.out",
        "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe", "linux": { // Linux 系统下的配置
        "MIMode": "gdb" },
        "osx": { // OS X系统下的配置
        "MIMode": "lldb" },
        "windows": { // Windows 系统下的配置
        "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe" },
        "preLaunchTask": "build" }, {
        "name": "(gdb) debug multi",
        "type": "cppdbg",
        "request": "launch",
        // "program": "${fileDirname}/${fileBasenameNoExtension}.out",
        "program": "${fileDirname}/build/TEST.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe", "linux": { // Linux 系统下的配置
        "MIMode": "gdb" },
        "osx": { // OS X系统下的配置
        "MIMode": "lldb" },
        "windows": { // Windows 系统下的配置
        "MIMode": "gdb", "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe" },
        // "preLaunchTask": "debug" } ]
        }
      8. Task.json
         {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
        {
        "label": "build",
        "type": "shell",
        "command": "g++", // "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.out","-std=c++11"],
        // "args":[],
        "args": ["-g","${file}","-o","${fileDirname}/build/TEST.exe","-std=c++11"],
        "presentation": {
        "reveal": "always",
        "panel": "shared"
        }, "problemMatcher":{
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
        "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "severity": 4,
        "message": 5
        } }
        } ]
        }
      9. 文件-首选项-设置
        {
        "cmake.debugConfig": {
        "miDebuggerPath": "D:\\Program Files\\mingw-w64\\mingw64\\bin\\gdb.exe", // Windows 下指定gdb路径(已添加到PATH)
        "externalConsole": true, // 使用外部控制台
        "stopAtEntry": false // 在起点处停顿(噢!在这停顿!)
        },
        "git.ignoreLimitWarning": true
        }

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

      10. CMakeLists编写

        根目录下的

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

        子文件夹MyLib下的

         include(CMakeToolsHelpers OPTIONAL)
        
         cmake_minimum_required(VERSION 2.8)
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
        aux_source_directory(. DIR_LIB_SRCS) # 生成链接库
        add_library(PrinterLib ${DIR_LIB_SRCS})
      11. vscode左下角

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

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

vscode+MinGW+cmake设置轻量ide的更多相关文章

  1. 全平台轻量开源verilog仿真工具iverilog+GTKWave使用教程

    前言 如果你只是想检查Verilog文件的语法是否有错误,然后进行一些基本的时序仿真,那么Icarus Verilog 就是一个不错的选择.相比于各大FPGA厂商的IDE几个G的大小,Icarus V ...

  2. VSCode 如何同步设置

    微软新推出的 VSCode 是一款开源.轻量.良心的开发工具,一经问世,迅速受到全球广泛开发者的好评与青睐,威风之下有干掉 Sublime Text 的趋势.然而有不少 VSCode 使用者吐槽其不能 ...

  3. Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器

    最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...

  4. 一种简单,轻量,灵活的C#对象转Json对象的方案(续)

    本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...

  5. 编写轻量ajax组件01-对比webform平台上的各种实现方式

    前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...

  6. CYQ.Data 轻量数据层之路 优雅V1.4 现世 附API帮助文档(九)

    继上一版本V1.3版本发布到现在,时隔N天了:[V1.3版本开源见:CYQ.Data 轻量数据层之路 华丽V1.3版本 框架开源] N天的时间,根据各路网友的反映及自身的想法,继续修改优化着本框架,力 ...

  7. Android轻量缓存框架--ASimpleCache

    [转] 大神真面目 稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! ...

  8. Unslider – 轻量的响应式 jQuery 内容轮播插件

    Unslider 是一款非常轻量的 jQuery 插件(压缩后不到3KB),能够用于任何 HTML 内容的滑动. 可以响应容器的大小变化,自动排布不用大小的滑块.可以通过整合 jQuery.event ...

  9. OWIN轻量型框架介绍

    OWIN轻量型框架介绍 阅读目录 引言 框架的特色 如何启动 各项功能 静态路由的3种写法 伪静态路由的支持 处理Form表单提交的文件 流式处理Post请求的数据 多种请求类型自动识别 响应处理 请 ...

随机推荐

  1. H5使用codovar插件实现支付宝支付(支付宝APP支付模式,前端)

    H5打包的app实现支付及支付宝支付,本章主要详解支付宝支付,微信支付请查看另一篇“H5使用codovar插件实现微信支付(微信APP支付模式,前端)” ps:本文只试用H5开发的,支付宝 APP支付 ...

  2. .Net导出pdf文件,C#实现pdf导出 转载 http://www.cnblogs.com/hmYao/p/5842958.html

    导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本,之前下了个5.4的似乎不好用. 下载之后直接添加引用. <%@ Page Lan ...

  3. 什么是RESTful API?

    要弄清楚什么是RESTful API,首先要弄清楚什么是REST.REST -- REpresentational State Transfer,英语的直译就是"表现层状态转移". ...

  4. win10下安装ubantu

    最近想看一点深度学习的东西,发现还是用linux更加方便一些.虽然,我对linux一窍不通....但是,目前很多教材,框架,都是基于linux.本来打算用虚拟机,后来发现虚拟机对于GPU的支持不好搞. ...

  5. leetcode1035

    class Solution: def maxUncrossedLines(self, A: 'List[int]', B: 'List[int]') -> int: m = len(A) n ...

  6. 性能学习随笔(1)--负载均衡之f5负载均衡

    负载均衡设计涉及软件负载和硬件负载,下文转自CSDN中一篇文章涉及f5硬负载知识 ----转载:https://blog.csdn.net/tvk872/article/details/8063489 ...

  7. 面试常问MySQL性能优化问题

    知识综述: [1] MySQL中锁的种类: 常见的表锁和行锁,也有Metadata Lock等等,表锁是对一整张表加锁,分为读锁和写锁,因为是锁住整张表,所以会导致并发能力下降,一般是做ddl处理时使 ...

  8. Nginx之 try_files 指令

    location / { try_files $uri $uri/ /index.php; } 当用户请求 http://localhost/example 时,这里的 $uri 就是 /exampl ...

  9. Linux上Oracle18C 系统表空间大小调整 adjust the system tablespace for oracle18c on linux

    1. 测试过程中,发现  system tablespace is not enough, need to adjustment 初步解决方案: 查询一下 system tablespace的大小 S ...

  10. computer browser服务无法启动 错误1068 依存服务或组无法启动

    两台电脑电脑之间传送大文件,发现局域网内共享文件,需要设置文件夹共享,需要开启 Computer Browser服务,而Computer Browser服务项的依存服务项是server服务和works ...