Sublime Text3 C/C++一键调试运行代码

2024-03-20 14:12

本文主要是介绍Sublime Text3 C/C++一键调试运行代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

minGW的系统环境配置:

使用的C/C++编译器是minGW,点此进入官网链接,下载后需要在线安装,安装后需要将安装目录下的bin目录所在路径加入path环境变量。本菜鸡的电脑里安装了CodeBlocks,在CodeBlocks的安装目录下有MinGW,所以可以直接将其bin目录所在路径D:\CodeBlocks\MinGW\bin复制。

用鼠标右键点击此电脑,选中属性,然后选择高级系统设置,再选择环境变量。

 

在环境变量中找到Path系统变量,选中后点击编辑。

 

选择新建,然后Ctrl+v把复制的MinGW的bin路径粘贴,再一直点确定就行了。

 

用Win+R来运行cmd,输入g++或g++ -v,出现以下界面说明MinGW配置成功。

 

在Sublime Text3内部编译运行代码: 

编辑一段代码输出经典语句"Hello,world."和“你好,世界。”  Ctrl+Shift+b选中C++ Single File -Run即可在ST3内部对这段代码进行编译运行。程序运行结束后显示[Finished in 时间]。

如果代码有bug的话,Sublime Text3也可以进行报错。

 

这一切看上去都非常让人激动。然而!问题来了,用以上方法并不能读取cin和scanf。要是在"请输入一个数:"后输入一个数字,Sublime Text3不会有任何反应,并且在你重新Ctrl+b编译运行的时候会报错,因为该代码已经在编译运行了。

 

Sublime Text3调用cmd编译运行:

如何解决Sublime Text3无法cin、scanf的问题呢? 

在菜单栏选中Tools,然后选择Build System,再选择New Build System...,在新打开的文件中添加以下内容:

{"cmd": ["g++", "${file}", "-fexec-charset=gbk", "-o", "${file_path}/${file_base_name}"],"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$","working_dir": "${file_path}","selector": "source.c, source.c++","variants":[{"name": "Run","cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]}]
}

Linux环境下要这样配置

{"cmd" : ["g++", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"],"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$","selector" : "source.c, source.c++","shell":false,"working_dir" : "$file_path","variants":[{"name": "Run","cmd": ["gnome-terminal", "-e", "bash -c \"g++ '${file}' -o '${file_path}/${file_base_name}' -lm -Wall && '${file_path}/${file_base_name}' ; read -p '\nPress any key to continue...'\""]}]
}

Ctrl+s保存在这个默认路径下,重命名为C.sublime-build。

 

然后返回刚刚那段代码,Ctrl+Shift+b选择C -Run,编译后可以调用cmd运行,界面如下:

 

如果出现乱码,设置文件编码为GBK格式后再输入文字,程序运行时中文就不再是乱码了。Ctrl+Shift+p打开命令框,输入"install",选中第一个敲回车。 

你会发现命令框消失了,过一会儿会出现一个新的命令框,在新的命令框中输入"ConvertToUTF8"敲下回车即可进行安装。

 

安装ConvertToUTF8成功后在菜单栏选中File,然后选中Reload encoding with,选择Chinese Simplified(GBK)。然后重新Ctrl+b调试运行。

如果没有在Sublime Text中安装Package Control的话,这里有个安装方法:

通过https://sublime.wbond.net/Package%20Control.sublime-package下载packageControl文件。下载完成后,打开sublime text3,选择菜单Preferences->Browse Packages, 打开安装目录,此时会进入到一个叫做Packages的目录下,点击进入上一层目录Sublime Text3,在此目录下有一个文件夹叫做Installed Packages,把刚才下载的文件放到这里就可以了。然后重启sublime text3,观察Preferences菜单最下边是否有Package Settings 和Package Control两个选项,如果有,则代表安装成功了。此时使用快捷键Ctrl+Shift+P,输入install,选择install package,接下来从里面搜索插件的名字即可。

Sublime Text3添加快捷键: 

如何像Codeblocks一样按下F8后即可对代码进行编译运行呢?在菜单栏选中Preferences,然后再选中Key Bindings。

在新出现的界面中输入一行内容(我是把F8设置为快捷键的):

{ "keys": ["f8"], "command": "build", "args": {"variant": "Run"} } 

输入完成后按下Ctrl+s保存即可。 

 

对了,还没有破解呢(原谅我的贫穷,希望有能力的兄弟还是购买正版),破解请戳链接sublime text3 破解方法,亲测有效

打开sublime text ,选择help-->enter license,将下面的内容复制到输入框中:

----- BEGIN LICENSE -----
sgbteam
Single User License
EA7E-1153259
8891CBB9 F1513E4F 1A3405C1 A865D53F
115F202E 7B91AB2D 0D2A40ED 352B269B
76E84F0B CD69BFC7 59F2DFEF E267328F
215652A3 E88F9D8F 4C38E3BA 5B2DAAE4
969624E7 DC9CD4D5 717FB40C 1B9738CF
20B3C4F1 E917B5B3 87C38D9C ACCE7DD8
5F7EF854 86B9743C FADC04AA FB0DA5C0
F913BE58 42FEA319 F954EFDD AE881E0B
------ END LICENSE ------

 

 

 

 

 

这篇关于Sublime Text3 C/C++一键调试运行代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829717

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二