关于 Vsocde 的配置文件问题

VScode

vscode 是我从 windows 到 MacOS 上都很喜欢的一款编辑器(辣鸡如我没用过其他的,例如:sublime、atom),它很强大,真的很强大,用武科大一个写 Python 的同学的说法就是:一流程序员用 vscode,二流程序员用 pycharm

VScode 强大在哪里呢?

摘录自网络

由于VS被评为最好用的IDE,所以出了VSC也是蛮让人期待的,看了官方使用介绍初步体验了一下,果然充满惊喜,比sublime开源,比atom更快,比webstorm更轻。

初步印象:

  • 文件目录管理很强大
  • 自定义配置,主题,自动保存,可以设置延迟毫秒后保存,也可以设置文件失去焦点时自动保存
  • 集成Git,快速diff,而且修改文件后会左边会显示指示器,比如删除会显示红色,增加显示绿色,修改则显示蓝色,很方便啊!
  • 智能提示很强大,作为一款编辑器这是sublime和atom没法比的啊,正如知友所言,秒sublime和atom几条街,简直就是浓缩版的VS!
  • Go to Definition很方便,按F12自动跳转到方法定义处,如果不想跳转,直接shift+F12实现Peek功能!(泪流满面)
  • 自带emmet支持html/jade/css/less/sass/xml,前端福音啊
  • 自带强大的调试功能,官方说这是大亮点,不过我node写的少,还没体验到,看这界面刁刁的

作者:动感小前端
链接:https://www.zhihu.com/question/29984607/answer/93300215
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

优点:

1,好看,分分钟逼死notepad++。
2,加载大文件几乎秒开。
3,C#支持高亮,已经编译过的还支持引用。
4,JS、HTML等支持高亮和补全。
5,全平台,我再也不纠结买RMBP还是XPS了。
6,免费,这是必须的好评7,占用内存低,下图是我打开我正在写的开源(20M左右代码)文件夹后的内存占用,堪称神奇。

缺点:

对C#支持还不够好。
不支持工程加载,只支持文件夹加载,引用比较复杂的大工程支持力度低。
支持git但是对github没提供接口。
debug需要手动输入参数,虽不复杂,但和VS一贯定位不符。

总结:

删除了notepad++,并将所有文本文件关联在了code上。
第一版本就这么给力,后续版本私钥sublime和atom去死么。
以后别收费才好。
建议捆绑在VS上,(逃

作者:Caspar Cui
链接:https://www.zhihu.com/question/29984607/answer/46321538
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

太多了,不一一赘述了,总之就是太强大了,用一次就知道是我想要的。

为什么要配置 VScode

在 VScode 上写 C/C++ 需要安装支持插件,插件需要配置文件来配合它的工作。下面是 MacOS 和 Windows 上的配置文件。


我个人在 MacOS 上的 C/C++配置文件

需要文件

  • launch.json
  • tasks.json

有一点要提一下,就是在最新的 MacOS 上已经全面禁用了 gdb 了,虽然有办法可以让 gdb 可用,但是就有与系统作对的嫌疑了。总之使用 clang 也是不错滴。

launch.json for MacOS

launch.json, 是控制调试程序的配置文件,确定了程序运行的路径、参数、环境配置等等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb",
"preLaunchTask": "clang++"
}
]
}

tasks.json for MacOS

tasks.json, 通过通读文件,可以看出这个配置文件指定了用于编译的指令,指令结果输出方式和控制指令的参数等,其重要性可见一斑。

1
2
3
4
5
6
7
8
9
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "clang++",
"isShellCommand": true,
"args": ["-std=c++11", "-g", "${file}", "-o", "${fileBasenameNoExtension}.out"],
"showOutput": "always"
}

我个人在 Windows 上的 C/C++配置文件

在 Windows 上使用 VScode 开发我个人喜好是使用 gcc/g++ & gdb,命令用起来更顺手,更加的清晰明了。MSVC 也不是说不好,其实就是用 VS 的时候 MSVC 会更强。

当然若是在 Windows 上写大项目的话使用 VS+MSVC 也是十分推荐的。

launch.json for Win

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"launchOptionType": "Local", // 调试器启动类型,这里只能为Local
"targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
"program": "${file}.exe", // 将要进行调试的程序的路径
"miDebuggerPath":"c:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"preLaunchTask": "gcc"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
}
]
}

tasks.json for Win

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"version": "0.1.0",
"command": "gcc",
"args": ["-g","${file}","-o","${file}.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
}
}
}
Author: SmallXeon
Link: https://hexo.chensmallx.top/2018/06/07/config-of-vscode-for-c-cpp-on-macos/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
一些推广链接
几个便宜量大的小✈场: FASTLINK, YToo, 论坛邀请注册: ,
便宜量大但是稳定性不足的VPS: , 价格略贵但好用的VPN: , ,