常用工具——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的主要内容,如果未能解决你的问题,请参考以下文章

C#常用代码片段备忘

PHP代码-psysh调试代码片段工具

swift常用代码片段

IOS开发-OC学习-常用功能代码片段整理

# Java 常用代码片段

# Java 常用代码片段