常用工具——1.Editor
Posted sylvan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用工具——1.Editor相关的知识,希望对你有一定的参考价值。
编辑器
最近在写c++,项目不是特别大,不打算使用VS来完成,但是涉及多文件的编译,要使用到Makefile。开始时选择Atom,之后换成了VS Code,记录下这两款编辑器编译和调试C++时的注意事项,避免以后忘记了。
操作环境Win:
- 默认已经安装配置好MinGW/cygwin,可正常使用gcc/g++/gdb/make等命令;
- 默认已经安装好Atom/VS Code并添加至系统环境变量以方便使用;
Atom
切换至工作目录(这里使用一个简单的测试目录),使用atom打开工作目录:
gpp-compiler插件
想要使用Atom来编译运行C++,若文件相对较少,则可以只安装gpp-compiler的Atom插件即可完成编译运行
主要功能:
This Atom package allows you to compile and run C++ and C within the editor.
快捷按键:
To compile C or C++, press F5 or right click the file in tree view and click Compile and Run./按F5来编译并运行c/c++,或者在文件目录上右键选择编译并运行
To compile C or C++ and attach the GNU Debugger, press F6 or right click the file in tree view and click Compile and Debug./按F6来编译、调试c/c++,或者在文件目录上右键选择编译并调试
linter & linter-gcc 以及其他依赖插件
安装linter & linter-gcc 以及其他依赖插件,之后便可以在Atom中得到语法提示、错误标注等帮助
Linter plugin for Linter, provides an interface to gcc/g++.
Used with files with grammar "C", "C++" and "C++14".
Now with linting on-the-fly! This is a new feature so please open an issue if you encounter any problems.
GCC Make Run插件
安装完GCC Make Run插件,就可以使用make命令来执行工作目录下的Makefile文件,是在Atom中实现多文件编译的主要插件
主要功能:
- Compile the current actively opened C/C++ file
- Execute the current actively opened Makefile
- Execute Makefile from Tree View
- Customize compilers used
- Customize compiler flags
- Customize run options
设置选项:
可以使用默认的编译器路径:
或者填写自己安装的路径:
快捷按键:
- Shortcut to compile-run [ default: f6 ]/按F6来编译并运行
- Shortcut to access run options panel [ default: ctrl-f6/cmd-f6 ]/按ctrl+F6调出运行选项面板
运行示例:
build & build-make插件
主要功能:
- Builds your project - configure it your way.
- Automatically extract targets - here with build-make.(依赖build-make插件)
- Match errors and go directly to offending code - with Atom Linter.(依赖linter及其他相关依赖插件)
快捷按键:
- build:select-active-target [ default: f7] call the selector atom-workspace, atom-text-editor/按F7来通过build-make插件,选择select-active-target选项
运行示例:
总结
如果要使用Atom来完成对C++的多文件编译运行可以安装:
- linter & linter-gcc 以及其他依赖插件,来进行语法、错误提示
- GCC Make Run插件,使用make命令来执行工作目录下的Makefile文件
- build & build-make插件,更方便的配置自己build的过程
VS Code
使用Makefile方法来编译项目的好处是可以使用不同的编辑器来编译和运行,即有着可以跨平台好处。
使用VS Code打开相同工作目录:
在VS Code中编译c++需要用到的插件:C/C++ for Visual Studio Code就足够了
另外,需要编写几条json:
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/include" //Notice1:添加include文件夹
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\MinGW\bin\gcc.exe", //Notice2:gcc路径
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
c_cpp_properties.json配置完成之后,直接的表现即是代码中引入的标准头文件下的绿色波浪线不再显示。
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "cppdbg",
"request": "launch",
"name": "Launch GDB",
"program": "${workspaceFolder}/build/hello.exe", //程序路径
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"preLaunchTask": "build", //需要在模板中额外加入预启动任务的label
"MIMode": "gdb",
"miDebuggerPath": "C:\MinGW\bin\gdb.exe", //gdb路径
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"type": "cppdbg",
"request": "launch",
"name": "Launch Program Example",
"program": "${workspaceFolder}/build/hello.exe", //程序路径
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"preLaunchTask": "build", //需要在模板中额外加入预启动任务的label
"MIMode": "gdb",
"miDebuggerPath": "C:\MinGW\bin\gdb.exe", //gdb路径
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
]
}
添加launch配置之后的效果:
tasks.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": "make", //表示执行make命令
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
运行示例:
REF
https://go.microsoft.com/fwlink/?linkid=830387
https://atom.io/packages/build
小白摸索了一个周末,大佬们有好的方法可以告诉我
以上是关于常用工具——1.Editor的主要内容,如果未能解决你的问题,请参考以下文章