gunhawk

gunhawk

Frontend Developer

Coding is part of my life, 加藤恵は大好き=。=

Windows下配置vscode开发C

作者: gunhawk时间: 2017-10-05C

配置vscode

安装灵魂扩展插件C/C++

在vscode扩展里搜索C++即可.

安装MinGw

跟宇宙级选手VS或者一些IDE不一样, vscode没有内置相关的编译器, 所以需要额外安装. 这里我根据官方的推荐, 使用的是MinGW

MinGW估计只是个包管理工具, 安装完成后打开MinGW, 选择Basic Setup, 勾选所有的包, 然后在菜单栏选择Installation -> Apply Changes, 等待下载安装完成.

install package

编译C文件

MinGW貌似不会将自身写入到系统环境变量, 因此需要手动添加, 如C:\MinGW\bin

配置好环境变量后, 就可以通过CLI编译C文件了

gcc file.c -o file.exe -g

值得注意带上-g参数, 这个为我们下一步debug奠定了基础(我这边不带无法通过gdb进行debug, 参见ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_16.html

debug C文件

首先要在.vscode下新建lanuch.json(如果没有, 在第一次debug的时候vscode会提示你创建的

我的配置如下:

{
  "version": "0.2.0",
  "configurations": [
      {
          "name": "(gdb) Launch",
          "type": "cppdbg",
          "request": "launch",
          "program": "${workspaceRoot}/clang/main.exe", // 你要debug的程序, 是编译后的文件而非源文件
          "args": [],
          "stopAtEntry": false,
          "cwd": "${workspaceRoot}",
          "environment": [],
          "externalConsole": true,
          "MIMode": "gdb",
          "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // MinGW里的gdb.exe路径
          "setupCommands": [
              {
                  "description": "Enable pretty-printing for gdb",
                  "text": "-enable-pretty-printing",
                  "ignoreFailures": true
              }
          ]
      }
  ]
}

配置好后, 跟debug node操作相同.

关于C标准包的路径

仔细的你可能会注意到, vscode会提示代码里的#include <**>没有找到包的路径, 我们可以在.vscode下创建c_cpp_properties.json, 在browse属性里设置, 标准库都在MinGW里. 我的配置如下:

{
    "name": "Win32",
    "includePath": [
        "${workspaceRoot}"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE"
    ],
    "intelliSenseMode": "msvc-x64",
    "browse": {
        "path": [
            "C:/MinGW/lib/gcc/mingw32/6.3.0/include", // 这里添加路径, 一般都在lib/里面
            "${workspaceRoot}"
        ],
        "limitSymbolsToIncludedHeaders": true,
        "databaseFilename": ""
    }
}

基本上这样就可以进行简单的开发了=. =

这里放出一些我在折腾里查看的教程

C/C++ for VS Code

How to install MinGW in windows

开始WebAssembly之旅

教程参见tutorialzine, 我这里只简单说下折腾遇到的坑

安装emscripten

前往官网下载emscripten, 解压后使用命令行进入到解压后的目录, 按照文档说明操作

emsdk install latest过程中, 由于下载的源是亚马逊的, 墙内下载可能很慢, 我们可以借助下载工具下载到根目录下的zips, 重新执行emsdk install latest, 程序会直接解压你下载的包. 如果是使用此方法, 可能要执行多次install了(我就是这样...

emsdk activate latestemsdk_env.bat的过程中, 程序无法自动写入到系统环境变量和用户变量, 只能手动添加了, 需要添加的环境变量路径大概类似D:\Program Files\emsdk-portable-64bit\emscripten\1.37.21, 里面有个emcc的执行文件, 这在教程里会用到的

另外emscripten是基于python2写的, 也就是python3用不了, 所以如果你像我一样用的python3, 你需要重新配置python2的环境变量, 令人欣喜的是, 通过emsdk install latest执行后, 已经帮你准备了一个python2的版本了, 你可以配置这个路径的环境变量, 如D:\Program Files\emsdk-portable-64bit\python\2.7.5.3_64bit

最后有一点不确定的, 貌似通过emscriptenWebAssembly, 需要通过python来启动一个服务器, 我用browser-sync起服务, 执行emcc命令的时候, 貌似不会编译C文件, 所以还是按照教程来吧.

总结

一句话总结: 好累好累好累. 不过我要开始重新玩玩C啦, 嘎哈哈!