sublime text3配置c++环境和一些插件

本文详细介绍 Sublime Text 3 在 Windows 系统下的配置过程,包括 MinGW 的安装与环境变量配置,以及如何通过构建系统进行 C/C++ 文件的编译与运行。此外,还分享了一些实用的快捷键与插件配置,帮助读者提高编程效率。
摘要由CSDN通过智能技术生成


在这里插入图片描述
在这里插入图片描述

Sublime Text 3 轻量级文本编辑器

(这是win系统下的配置说明,有哪些地方还需要配图解释,请留言或私聊问我也行!

闲话:
 提一句,很多人初学看着英文软件头皮发麻,喜欢用汉化版。
 但是我十分不建议这样。都是21世纪程序员了,现在这点基础英文软件你就受不了了还是转行转专业吧。以后一定会经常和英文打交道,查一些API文档看论文啥的。所以一定要习惯用英文软件!
还有就是下软件去官网下正版最新版的,不要再baidu上下一些别人包好的软件。版本不一定最新,而且还不知道有什么杂七杂八的东西。

 还有就是不要太执着与使用的什么IDE,用着舒服就行,不需要看别人用啥你就用啥。
 对于C/C++新手我还是觉得用Codeblocks和Dev C++就挺好的,方便~
 emm,不过sublime text可以安装许多强大功能的插件呢!
 当初用ST3时不会操作,找了很多很多博客才勉强会用一点,太菜了,难受.jpg。现在当写个备忘录吧。。。
 学计算机的,碰到自己解决不了的,先去互联网找帮助了。有问题就多问问,可能不是所有人都会回答你,但是你够真心并且你的问题真的是个问题,是会有人帮你哒~

配置sublime text 3

官网:Sublime Text 3
直接download就行了~

安装MinGW

推荐下载Codeblocks,记得去官网下载:http://www.codeblocks.org。别说你不会下软件,不会的请看文章末尾。
因为codeblocks自带MinGW嘛,方便~

配置环境变量

教小白配置Java,Python,C++环境变量请看这里:传送门

在此电脑界面右键属性,左侧选择高级系统设置,再点击环境变量。
你需要下面这么几个东西,你点击编辑,新建啥的加就行了,建议新手按下图设置:
这里写图片描述
这里写图片描述
下面是我的Path里的内容:
这里写图片描述
文件路径怎么写下面也有讲,你也可以仿照着我的写。

查看是否配置成功
CMD下输入gcc -v
gcc可以编译.c文件,而g++既可以编译.c文件也可以编译.cpp文件。
这里写图片描述

win下命令行编译运行C/C++文件

  1. 首先Win+R呼出运行命令,在框内输入cmd并按下Enter
  2. 我的代码保存在E盘,所以在命令行界面(就是一个黑框框)我先输出E:,进入E盘。
  3. 如果你不会输入地址,就复制地址:
    这里写图片描述
    在红色地方右键选择复制地址。
  4. 输入命令:cd ****,打星号的是你待编译文件的所处路径。
  5. 比如我有一个文件叫hhh.cpp
  6. 编译方法:gcc hhh.cpp -o hhh.cpp,这样就编译完成了
  7. 运行方法:./a.out, hhh.cpp, hhh.exe, a.exe, ./a.exe(中的某一个肯定可以
  8. 还有一种编译方法:直接g++ hhh.cpp。然后输入./a.out, hhh.exea.exe。(中的某一个肯定可以
  9. 如果代码是多组输入,记得Ctrl+Z ,作用是退出控制台输出。

gcc -D选项动态控制宏定义

gcc -D DEBUG
-D 后面直接跟宏命,相当于定义这个宏,默认这个宏的内容是1
gcc -D NAME=Peter
-D 后面跟 key=value 表示定义key这个宏,它的内容是value
-D private=public -D protected=public 通常用于测试环境,把private 与 protected全替换为public 的。这个还是很常用的,比如我们使用gtest去单元测试,直接测试目标类的成员函数,但是可能目标类的成员函数为了封装性,它可能是protected,所以我们使用这个宏把它全变成public。

参数3

Build你的C++System~

想要让sublime text 3能编译运行c/c++文件,需要build你的system。
下面是我的配置~
点击Tools -> Build System -> New Build System...
myC++.sublime-build

任选一种
{
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "g++ -Wall -std=c++14 \"$file_name\" -o \"$file_base_name\" -D LH_LOCAL",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.c++",
 
    "variants":
    [
    	{
        "name": "CMD Run",
            "shell_cmd": "g++ -std=c++14 \"$file\" -o \"$file_base_name\" -D LH_LOCAL && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
        },
        {
        "name": "Run in sublime (no input)",
            "shell_cmd": "g++ -Wall -std=c++14 \"$file_name\" -o \"$file_base_name\" && cmd /c \"${file_path}/${file_base_name}\""
        },
        
    ]
}
---
{
	"cmd": ["g++","-std=c++14","${file}", "-o","${file_path}/${file_base_name}"],
	"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$",
	"working_dir": "${file_path}",
	"encoding":"cp936",
	"selector": "source.c",
	"variants":
	[
		{
			"name": "Run",
			"cmd": ["cmd","/C","start","cmd","/c", "${file_path}/${file_base_name}.exe &pause"]
		}
	]
}

注意:第一行path哪里,你自己的codeblocks安装在哪里,效仿着写就行。

我的setting-user

{
	"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
	"ignored_packages":
	[
		"Markdown",
		"Vintage",
	],
	"word_wrap": true,
	"save_on_focus_lost": true,
	"tab_size": 4,
	"translate_tabs_to_spaces":true,
	"font_size": 11,
	"preview_on_click": "only_left",
}

快捷键

Ctrl+Shift+B : 选择编译或运行
Ctrl+B : 运行(前提是编译过)
Ctrl+C : 复制
Ctrl+V : 粘贴
Ctrl+X : 剪切
Ctrl+A : 全选
Ctrl+Z : 撤回上一次操作
Ctrl+Y : 上个操作的反动作
Ctrl+N : 新建窗口
Ctrl+L : 选中一行
Ctrl+Enter : 光标指向下一行
Ctrl+Shift+Enter : 光标指向上一行
Shift+Enter : 光标指向下一行且当前光标后的内容一起下去
Ctrl+P : 选择文件
Ctrl+Shift+P : 打开命令面板
Ctrl+Shift+K : 删除一行
Ctrl+W : 关闭当前打开的文件
Ctrl+Shift+W : 关闭所有打开的文件
Ctrl+F : 查找
Ctrl+Z : 退出控制台输出
Ctrl+/ : 注释当前行
Ctrl+Shift+/ : 当前位置插入注释
F11 : 全屏
Shift+F11 : 全屏
Alt+Shift+数字 : 分屏显示
Alt+数字 : 切换打开第N个文件
Ctrl+Shift+D : 将这一行复制一行
Ctrl+D : 多选同一块
Alt+F3 : 全选同一块
Ctrl+鼠标滚轮 : 字体大小

插件

 干货 S u b l i m e T e x t 3 − s n i p p e t s SublimeText3-snippets SublimeText3snippets插件使用教程:传送门
 snippets插件可以直接编写你自己的一键补全快捷键。

 Sublime Text的许多强大功能基本上都是依赖与其强大的插件,启用插件功能也就是启用Package Control,这个很简单,菜单栏 – View – Show Console 便会显示如下图所示的控制输入区域。
这里写图片描述
在输入框种输入如下命令:
py2:

import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('https://sublime.wbond.net/'+pf.replace(' ','%20')).read())

py3:

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

窗体左下角即会显示当前状态,有网络的情况下,即可启用Sublime Text的插件自动搜索安装功能了,然后快捷键Ctrl+Shift+P(或者 菜单 – Tools – Command Paletter)调出Command Paletter,如下图所示:
这里写图片描述
在输入框中输入install 选择 install Package下拉菜单显示的即为可以安装的插件的列表。

这个时候在输入需要查找的插件名称即可找到合心的插件,新建文件自动插入初始化代码的功能就是通过Sublime Text的一个插件实现,名字叫Sublime Tmpl,不过安装完成该插件后需要自己更改该插件的一些配置,比方说初始化版权信息的姓名、邮箱、网址,以及初始化各种格式的文件的初始化文字内容。。。

打开插件目录找到Sublime Tmpl目录],该插件默认支持php、html、js、css等文件新建,对我而言已经够用,就没再处理,而初始化快捷键则更好记忆,Ctrl+Alt+p则是新建php文件、Ctrl+Alt+h则是html文件、Ctrl+Alt+c则是css文件、一次类推js文件就是Ctrl+Alt+j了。

具体的实用插件就不再一一介绍了,推荐几个插件,这也是我在用的,只列出名称
ZenCoding[现在已改名叫Emmet]
PHPTidy
Prefixr
YUI Compressor

插件这方面的文章比较多,不再介绍。参考博客:here here

emm,插件操作还是很骚的。。。

markdown如何配置?

markdown如何配置?看了几篇博客,还是没有解决如何实时同步预览的问题,可能sublime还是不适合markdown??
安装几个插件:Markdown Editing,Markdown Preview,LiveReload(这个可选)

Mk Editing的key binding:

[
    { "keys": ["ctrl+shift+g"], "command": "markdown_preview", "args":   {"target": "browser", "parser":"markdown"} }
]

Mk Preview的setting:

{
    "enable_mathjax": true,
    "js": [
    "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js",
            "res://MarkdownPreview/js/math_config.js",
    ],
    "markdown_extensions": [
        {
            "pymdownx.arithmatex": { 
                "generic": true 
            }
        },
        // Python Markdown Extra with SuperFences.
        // You can't include "extra" and "superfences"
        // as "fenced_code" can not be included with "superfences",
        // so we include the pieces separately.
        "markdown.extensions.footnotes",
        "markdown.extensions.attr_list",
        "markdown.extensions.def_list",
        "markdown.extensions.tables",
        "markdown.extensions.abbr",
        "pymdownx.betterem",
        {
            "markdown.extensions.codehilite": {
                "guess_lang": false
            }
        },
        // Extra's Markdown parsing in raw HTML cannot be
        // included by itself, but "pymdownx" exposes it so we can.
        "pymdownx.extrarawhtml",

        // More default Python Markdown extensions
        {
            "markdown.extensions.toc":
            {
                "permalink": "\ue157"
            }
        },
        "markdown.extensions.meta",
        "markdown.extensions.sane_lists",
        "markdown.extensions.smarty",
        "markdown.extensions.wikilinks",
        "markdown.extensions.admonition",

        // PyMdown extensions that help give a GitHub-ish feel
        {
            "pymdownx.superfences": { // Nested fences and UML support
                "custom_fences": [
                    {
                        "name": "flow",
                        "class": "uml-flowchart",
                        "format": {"!!python/name": "pymdownx.superfences.fence_code_format"}
                    },
                    {
                        "name": "sequence",
                        "class": "uml-sequence-diagram",
                        "format": {"!!python/name": "pymdownx.superfences.fence_code_format"}
                    }
                ]
            }
        },
        {
            "pymdownx.magiclink": {   // Auto linkify URLs and email addresses
                "repo_url_shortener": true,
                "repo_url_shorthand": true
            }
        },
        "pymdownx.tasklist",     // Task lists
        {
            "pymdownx.tilde": {  // Provide ~~delete~~
                "subscript": false
            }
        },
        {
            "pymdownx.emoji": {  // Provide GitHub's emojis
                "emoji_index": {"!!python/name": "pymdownx.emoji.gemoji"},
                "emoji_generator": {"!!python/name": "pymdownx.emoji.to_png"},
                "alt": "short",
                "options": {
                    "attributes": {
                        "align": "absmiddle",
                        "height": "20px",
                        "width": "20px"
                    },
                    "image_path": "https://assets-cdn.github.com/images/icons/emoji/unicode/",
                    "non_standard_image_path": "https://assets-cdn.github.com/images/icons/emoji/"
                }
            }
        },
    ],
}

LiveReload的Settings-User:

{
    "enabled_plugins":
    [
        "SimpleReloadPlugin",
        "SimpleRefresh"
    ]
}

一些报错

无法安装插件,提示说:无可用的packages

点击:Perferences->Package Setttings->Package Control->Settings user
然后添加一个channels,如下图。
"channels":
	[
		"E:/AAA/channel_v3.json"
	],

在这里插入图片描述

中文编码乱码的问题

Sublime Text 3中文件默认编码格式是UTF-8
windows中的命令行默认编码格式是GBK
所以代码中出现中文时运行会乱码

点击File:Save with Encoding
选择UTF-8


安装插件ConvertToUTF8


有人可能不会软件,贴几张下软件的图:

推荐下载Codeblocks,记得去官网下载:http://www.codeblocks.org/
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值