sublime能创建c语言项目吗,Sublime深度定制:编译和运行 C/C++/Java 项目

不想当将军的士兵不是好士兵,不能管理项目的编辑器不是好编辑器!Sublime 作为一款优秀的编辑器,其项目管理功能自然也不能弱,管理和编译项目自然不在话下。

然而令我感到奇怪的是,我在网上浏览了 N 多 Sublime 技术帖,发现几乎全是在谈论编辑技巧、插件、皮肤等等,对于至关重要的项目管理功能却鲜有人提及,今天在下就尽绵薄之力科普一下这部分内容。

如果你符合以下情况之一,那么建议你阅读这篇文章:

只用 Sublime 编辑过单文件,并没有体验过项目管理功能;

用过 Sublime 的项目管理功能,但也仅限于把文件夹拖到左边栏中;

经常使用 Sublime 编写代码,但一遇到编译、运行等问题就头疼,只能切回到 IDE 上去。

本文以 编译和运行一个简单的 C++ helloworld 项目 为例来介绍 Sublime 的项目管理功能。

1. 准备:创建项目目录

在桌面上新建一个空目录hello,然后进入目录并新建 3 个文件:hello.h,hello.cpp,main.cpp,内容分别如下:

/* ---------- hello.h ---------- */

void hello();

/* ---------- hello.cpp ---------- */

#include

#include "hello.h"

void hello(){

std::cout<

}

/* ---------- main.cpp ---------- */

#include "hello.h"

int main()

{

hello();

return 0;

}

这是一个头文件与Cpp文件分离的最简单的 C++ 项目,也就是我们的项目目录了。

打开 Sublime Text,选择菜单Project->New Workspace for Project,创建一个全新的 Sublime 窗口(也可以使用快捷键Ctrl+Shift+N)

将hello目录拖进 Sublime 窗口,这时hello目录将立即显示在 Sublime 的左侧边栏中。如果不显示,请选择菜单View->Side Bar->Show Side Bar调出 Side Bar(也可以快捷键 ctrl+k,ctrl+b)。效果如图所示:

f4fcad7b9566

拖入文件夹后

2. 创建 Sublime 项目

按Ctrl+Shift+P打开命令面板,输入projsave,回车保存项目,命名为hello,保存在项目目录即可

OK,创建项目就是这么简单

f4fcad7b9566

保存项目

3. 项目管理--小试牛刀

按Ctrl+Shift+P打开命令面板,输入projedit并回车,进入项目管理文件(其实就是刚才创建的hello.sublime-project文件)。会看到如下内容:

{

"folders":

[

{

"path": "."

}

]

}

其中的"path": "."是当前项目目录的相对本文件的路径。

我们在"path": "."之后追加一行内容:"name": "我的第一个C++项目",,保存,会发现左侧栏的目录名变了,如下图:

f4fcad7b9566

目录名称变了

如果保存弹出错误,请确保你在"path":"."的末尾写了英文逗号。

目录名称变成中文只是为了方便观看,实际目录名称仍然是hello,你可以去桌面检查一下。

现在你看到目录里面有个hello.sublime-project,这跟我们的代码文件无关,我们不希望看到它,但又不能删除,否则项目就没了,怎么办呢?请接着刚才的行后面再追加一行:"file_exclude_patterns": ["*.sublime-project"],,保存后hello.sublime-project立即消失,世界清净了。

但不用担心,它只是隐藏了而已,打开hello目录还能找到它。到现在为止,我们的项目管理文件是这样的:

{

"folders":

[

{

"path": ".",

"name": "我的第一个C++项目",

"file_exclude_patterns": ["*.sublime-project"],

}

]

}

"file_exclude_patterns"用于排除不想看到的文件,可想而知还会有"file_include_patterns"用于指定想看到的文件,更多详细信息可点击查看文末链接。

4. 编译和运行项目

编译和运行项目算是项目管理的重头戏了,这里需要用到 Sublime 的

项目可以像单文件一样创建 build system 吗?理论上可以,但我们一般不这样做,因为每个项目都有自己的上下文环境,所以很难写出一个对每个项目都适用的 build system。我们倾向于在项目管理文件中为每个项目分别创建 build system。

编译项目之前,我们首先在hello目录下新建一个build目录,存放编译后的二进制文件。这一步并非必要,但是为了规范化建议采用。

我们在项目的"folders":[]字段后加上一个"build_systems"字段,创建一个 build system C++ Project。当前项目管理文件完整内容如下:

{

"folders":

[

{

"path": ".",

"name": "我的第一个C++项目",

"file_exclude_patterns": ["*.sublime-project"],

}

],

"build_systems":

[

{

"name": "C++ Project",

"shell_cmd": "g++ hello.h hello.cpp main.cpp -o .\\build\\main.exe && .\\build\\main.exe",

"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

"working_dir": "$folder"

}

]

}

这里需要注意的是:想要编译 C++ 代码,你需要先安装一款编译器。推荐使用免费的 gcc ,搜索安装 MinGW-win 即可。

想要了解上述每个字段的具体含义,可以参考文末链接。

现在,你在项目的任意一个文件中按下快捷键Ctrl+B,都会看到我们刚刚创建的C++ Project这个 build system,如下图:

f4fcad7b9566

选择我们创建的 C++ Project

选择我们创建的C++ Project并回车,会看到程序编译并正确执行,运行结果自动在下方弹出:

f4fcad7b9566

运行结果

5. 项目的进一步定制

到此为止,关于项目的基本功能已经全部介绍了,还有以下几点需要提示:

当你需要新建另一个项目的时候,一定要先Ctrl+Shift+N创建一个全新窗口,否则所有拖进来的目录都会更改当前项目。

每个项目可以包含多个目录,但最好只有一个代码目录,否则你在不同目录下运行 build 命令可能会产生混淆。

好了,最后一步优化:我们不需要看到build目录,因为它里面都是二进制文件。我们将build目录加入排除目录中:"folder_exclude_patterns": ["build"],。时刻保持代码目录干净整洁有利于提高我们的工作效率。

f4fcad7b9566

时刻保持代码目录干净整洁

最后,完整的项目配置文件hello.sublime-project如下:

{

"folders":

[

{

"path": ".",

"name": "我的第一个C++项目",

"file_exclude_patterns": ["*.sublime-project"],

"folder_exclude_patterns": ["build"],

}

],

"build_systems":

[

{

"name": "C++ Project",

"shell_cmd": "g++ hello.h hello.cpp main.cpp -o .\\build\\main.exe && .\\build\\main.exe",

"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

"working_dir": "$folder"

}

]

}

6. 阅读官方帮助文档

7. 相关话题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Sublime Text编辑器,下载地址:https://www.sublimetext.com/3 2. 安装Package Control插件,下载地址:https://packagecontrol.io/installation 打开Sublime Text编辑器,按下Ctrl + `键(菜单栏 -> View -> Show Console),输入以下代码,按下回车键即可安装Package Control插件: ``` import urllib.request,os,hashlib; h = '5f4cc3b6bdb69a5f8b25b3cd6ca3d761' + 'e3d0afc7d436eba6bea834f03e7fa115'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) ``` 3. 安装C语言插件,打开Sublime Text编辑器,按下Ctrl + Shift + P键(菜单栏 -> Tools -> Command Palette),输入install package,选择Package Control: Install Package,输入C++,选择C++11,安装即可。 4. 配置编译环境,打开Sublime Text编辑器,按下Ctrl + Shift + B键(菜单栏 -> Tools -> Build System -> New Build System),输入以下代码: ``` { "cmd": ["gcc", "$file_name", "-o", "${file_base_name}.exe", "&&", "start", "cmd", "/k", "${file_base_name}.exe"], "selector": "source.c", "shell": true, "working_dir": "${file_path}" } ``` 保存为C++.sublime-build。 5. 新建C语言文件,按下Ctrl + N键,输入以下代码: ``` #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } ``` 6. 编译运行,按下Ctrl + B键即可编译运行C语言程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值