一、写在前面

1、为什么选择 \(VS\) \(code\)

  • 一款非常好用的代码编辑器

  • 标准化 \(Language\) \(Service\) \(Protocol\)

  • 内置调试器和标准化 \(Debugger\) \(Adaptor\) \(Protocol\) —— 所以 \(VS\) \(code\) 可以跨界抢 \(IDE\) 的市场……

  • 相较于同市场的 \(Notepad++\) 和 \(Sublime\) \(Text\) ,\(VS\) \(code\) 的颜值和功能足以将它俩按在地上摩擦 (为什么不比较我神仙利器 \(Dev-C++\) ?因为它太神仙了)

  • 摸鱼插件千千万,划水开船不易翻,它太香了鸭

2、 \(VS\) \(code\) 是个啥,有啥用

  • 正如以上所说, \(VS\) \(code\) 是一款功能丰富且强大代码编辑器 (当然你也可用他悄悄做一些别的事情) 。为什么说它是编辑器而不是编译器,因为在用户完成环境配置之前,它的作用仅仅相当于一个会变色的 \(text\) 文本文档 (其实变色也还要用户手动设置) 。

  • \(VS\) \(code\) 特点:

    • 开源,免费;

    • 自定义配置

    • 集成 \(git\)

    • 智能提示强大

    • 支持各种文件格式( \(html\) / \(jade\) / \(css\) / \(less\) / \(sass\) / \(xml\) )

    • 调试功能强大

    • 各种方便的快捷键

    • 强大的插件扩展

      • 支持的语言拓展常见的包含如下:

      • 截至 \(2019\) 年 \(9\) 月, \(VS\) \(code\) 已经支持如下 \(37\) 种语言和文件:

        \(F\)#、\(HandleBars\) 、 \(Markdown\) 、 \(Python\) 、 \(Jade\) 、 \(PHP\) 、 \(Haxe\) 、 \(Ruby\) 、 \(Sass\) 、 \(Rust\) 、 \(PowerShell\) 、 \(Groovy\) 、 \(R\) 、 \(Makefile\) 、 \(HTML\) 、 \(JSON\) 、 \(TypeScript\) 、 \(Batch\) 、 \(Visual Basic\) 、 \(Swift\) 、 \(Less\) 、 \(SQL\) 、 \(XML\) 、 \(Lua\) 、 \(Go\) 、 \(C++\) 、 \(Ini\) 、 \(Razor\) 、 \(Clojure\) 、 \(C\)# 、 \(Objective-C\) 、 \(CSS\) 、 \(JavaScript\) 、 \(Perl\) 、 \(Coffee Script\) 、 \(Java\) 、 \(Dockerfile\)
  • 学(hun)习(shui)写(mo)码(yu)这么方便,没理由不用

二、配置安装(这里以 C++ 为例)

1、下载安装

  • 安装包直接从官网下载即可



    注:由于作者设备为 \(Win10\) \(64\) 位,所以官网默认下载为 \(64\) 位,其他版本可点击 Other downloads 进行下载。



  • 安装







2、配置基础插件

  • 汉化(英语大神可以直接忽略)

    • 毕竟 \(VS\) \(code\) 不是国产的,毕竟是微软开源的,毕竟微软的母语不是汉语,所以在安装完毕后它的界面是全英文界面

    • 但是它支持插件啊!

    • 点击最右侧一栏四个方格样图标,这就是 \(VS\) \(code\) 的插件拓展功能

    • 打开后在最上方搜索框搜索 Chinese 就会出现 Chinese (Simplified) Language Pack for Visual Studio Code 汉化标识

    • 点击安装(由于作者已经安装完成,所以并没有显示 安装 按钮)

    • 重新启动 \(VS\) \(code\)

  • 配置语言包

    • 在拓展商店搜索 C/C++ 语言包并安装

3、配置系统环境(这步很重要!!!)

  • 众所周知, C++ 是要用 g++.exe 编译的,是要用 gdb.exe \(Debug\) 的,这也是为什么讲 \(VS\) \(code\) 是编辑器而不是编译器的原因。

  • 下载编译环境—— \(MinGW\) \(64\) 或 \(MinGW\) \(32\)

    • 良心 作者已经把 \(64\) 位的常用环境变量整合好了,可以到网盘提取

    • 网盘地址: https://pan.baidu.com/s/1fBZr_NbIHuupodVbZ5-rhg

    • 提取码: y8c9

    • 直接下载解压到一个不容易被删除的地方就好啦~

    • 注:解压时一定要记清文件路径!!!过会儿会用到

  • 将编译器文件路径加入到系统的环境变量当中

    • 找到刚才解压的编译器文件夹,找到目录下的 bin 文件夹,例如我的就是 F:\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin ,将路径复制下来(如果你足够细心,你会注意到在 x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64 目录下其实还有一个 x86_64-w64-mingw32 文件夹,这是为了防止某些牛人的老爷机可能对 \(64\) 位不兼容,准备的 \(32\) 位。如果可以,最好也将它子目录下的 bin 文件夹路径复制下来,又例如我的是 F:\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\bin

    • 右键单击 此电脑 \(\to\) 属性 \(\to\) 高级系统设置 \(\to\) 高级 \(\to\) 环境变量 \(\to\) 单击选中系统环境里的 PATH \(\to\) 编辑 \(\to\) 新建 \(\to\) 将刚才复制的路径粘贴进去(一定要精确到 bin 文件夹!)



    • 然后一路 确定应用 点回来

    • 然后关机重启这样就完成了环境变量的配置

    • 最后来检验一下: Win+R 打开运行,输入 cmd 回车,在命令提示符里输入 g++,若出现下面结果而不是 'g++'不是内部或外部命令,也不是可运行的程序或批处理文件则表示配置成功

4、配置 \(VS\) \(code\) 内部环境

  • 打开 \(VS\) \(code\) ,点击编辑器右上角 资源管理器 \(\to\) 打开文件夹 \(\to\) 在你准备保存代码的地方新建一个文件夹,命名为 .vscode (注意名字一定是 .vscode ,这是必须的。一般来说,每个保存代码的文件夹中都应有这么一个 .vscode 配置文件)

  • 注:将此文件夹放在常用文件夹顶层,就不需要重复配置了。

  • .vscode 文件夹中,新建两个(只需两个)配置文件,即 tasks.jsonlaunch.json 。将下列内容复制进去即可:

    • \(tasks.json\) :
    {
    "version": "2.0.0",
    "tasks":
    [
    {
    "label": "g++",
    "command": "g++",
    "args":
    [
    "-g",
    "${file}",
    "-o",
    "${fileDirname}/${fileBasenameNoExtension}.exe"
    ],
    "problemMatcher":
    {
    "owner": "cpp",
    "fileLocation":
    [
    "relative",
    "${workspaceRoot}"
    ],
    "pattern":
    {
    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
    "file": 1,
    "line": 2,
    "column": 3,
    "severity": 4,
    "message": 5
    }
    },
    "group":
    {
    "kind": "build",
    "isDefault": true
    }
    }
    ]
    }
    • \(launch.json\) :

      • 注意: miDebuggerPath 这一条,要与你环境包安装路径一致,注意在路径中 ''要替换为'\',就像下面一样。
    {
    "version": "0.2.0",
    "configurations":
    [ {
    "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
    "type": "cppdbg", // 配置类型,这里只能为cppdbg
    "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
    "program": "${fileDirname}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
    "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
    "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
    "cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
    "environment": [],
    "externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
    "MIMode": "gdb",
    "miDebuggerPath": "F:\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",// miDebugger的路径,注意这里要与MinGw的路径对应
    "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
    "setupCommands":
    [
    {
    "description": "Enable pretty-printing for gdb",
    "text": "-enable-pretty-printing",
    "ignoreFailures": true
    }
    ]
    }
    ]
    }
  • 最后尝试写个小程序,按 F5 编译运行。

    • 注:因为 \(VS\) \(code\) 的终端在执行完程序后默认退出,所以可以选择在 return 0; 处增加一个断点或者加一句 system(pause); ;

三、个性化 \(VS\) \(code\)

(作者快累死了。。。未完待续,持续更新)

VS Code 使用教程详解的更多相关文章

  1. Pycharm新手使用教程(详解)

    Pycharm新手使用教程(详解) [注]: 如果想要下载Pycharm工具,直接去<开发工具>中进行下载. 简介 Jetbrains家族和Pycharm版本划分: pycharm是Jet ...

  2. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  3. SAE上传web应用(包括使用数据库)教程详解及问题解惑

    转自:http://blog.csdn.net/baiyuliang2013/article/details/24725995 SAE上传web应用(包括使用数据库)教程详解及问题解惑: 最近由于工作 ...

  4. webpack安装配置使用教程详解

    webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...

  5. 重置出错?微软Win10平板Surface Pro 4重装系统教程详解

    重置出错?微软Win10平板Surface Pro 4重装系统教程详解 2015-12-11 15:27:30来源:IT之家作者:凌空责编:凌空 评论:65 Surface Pro 4系统重置出错该怎 ...

  6. QuartusII13.0使用教程详解(一个完整的工程建立)

    好久都没有发布自己的博客了,因为最近学校有比赛,从参加到现在都是一脸懵逼,幸亏有bingo大神的教程,让我慢慢走上了VIP之旅,bingo大神的无私奉献精神值得我们每一个业界人士学习,向bingo致敬 ...

  7. Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法

    Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法: https://blog.csdn.net/mingjie1212/article/details/485250 ...

  8. Webstorm使用教程详解

    Webstorm使用教程详解 Webstorm垂直分栏.左右分栏 Webstorm 主题.背景.颜色等设置的导入导出   使用WebStorm开发web前端 网页中文乱码问题的解决方案 Webstor ...

  9. 经典Spring入门基础教程详解

    经典Spring入门基础教程详解 https://pan.baidu.com/s/1c016cI#list/path=%2Fsharelink2319398594-201713320584085%2F ...

随机推荐

  1. [leetcode33Search in Rotated Sorted Array]在排序旋转后序列中找目标值

    直接上代码 /** * Created by lvhao on 2017/6/30. * Suppose an array sorted in ascending order is rotated a ...

  2. Unity Package Manager

    (注:Unity 2018.1及以后的版本才可以使用Package Manager.) 一个package是一个容器,里面放的是Assets, Shaders, Textures, plug-ins, ...

  3. Linux 如何选择要kill掉的进程

    从网上的找了一个比较全面的如下: OOM Killer在内存耗尽时,会查看所有进程,并分别为每个进程计算分数.将信号发送给分数最高的进程.  计算分数的方法  在OOM Killer计算分数时要考虑很 ...

  4. Linux 时间同步 04 ntp时间同步

    Linux 时间同步 04 ntp时间同步 目录 Linux 时间同步 04 ntp时间同步 安装ntp 配置与外部时间服务器进行时间同步的客户端主机 配置其他客户端与以上客户端主机时间同步 验证查看 ...

  5. Java通过jni调用动态链接库

    (1)JNI简介 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).从Java1.1开始,JNI标准成为java ...

  6. CountDownLatch/CyclicBarrier/Semaphore 使用过吗

    CountDownLatch 让一些线程堵塞直到另一个线程完成一系列操作后才被唤醒.CountDownLatch 主要有两个方法,当一个或多个线程调用 await 方法时,调用线程会被堵塞,其他线程调 ...

  7. netty启动流程

    本文通过对netty服务端.客户端的启动流程分析, 让大家对netty是如何启动运行的. 废话不多说,上源码!!! 建议读者学习netty下的jar类型为 netty-example,里面有很多exa ...

  8. postgresql-从表中随机获取一条记录

    目录 postgresql如何从表中高效的随机获取一条记录 随机获取一条记录random() 改写1 改写2 改写3 对比 注意 结语 postgresql如何从表中高效的随机获取一条记录 selec ...

  9. 剑指offer 面试题7:重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  10. Java基础概念性问题整理,面试题型整理,附带答案详解供参考,首次整理!

    题目目录 Java基础 1.JDK1.8新特性? 2.面向对象和面向过程的区别? 3.什么是值传递和引用传递? 4.什么是不可变对象? 5.讲讲类的实例化顺序? 6.java 创建对象的几种方式 7. ...