atom 配置 把编译运行终端(自带)改为 platformio-ide-terminal
最近换掉了xcode...因为实在是..太卡了...555...以前好喜欢的超级漂亮的xcode啊...
于是换了 atom,改了一下配置。一些网上能找到的教程就不写了...懒...主要挑一些找不到的分享一下~
我下了中文的插件...所以部分有中文,没有中文的可以对照着找一下...下载的插件是simplified-chinese-menu
我是可爱的分割线
配置内置运行界面
用的是 mac,对于 windows 用户来说这个没必要,可以直接看后面的。
mac 嘛...每个进程全屏了,切换进程就会切换整个界面,每次一运行,就会打开 mac 自带的终端,换来换去很晃眼的啊...所以调一下...
1.下载插件
插件名:
platformio-ide-terminal
扩展 > Settings View > Install Packages/Themes
安装 > 输入 platformio-ide-terminal
但是!!!炒鸡重要的一点是,这个需要每次运行前保存文件!!因为终端是不会帮你保存的!!不保存的话!!编译的就不是你写完的文件了!!!
2.设置插件
扩展 > Settings View > Manage Packages
扩展 > 找到 platformio-ide-terminal > 设置
找到 Core > 若未展开,点击下图箭头所指处
得到以下界面:
若是 windows,则在 Default 那里 输入 g++ -o a.exe *.cpp ; ./a.exe
若是 mac,则输入 g++ -o a.out *.cpp && ./a.out
如图:
解释以下...:
g++ -o
是 制定可执行文件文件生成的名字(这里其实可以省略为g++ *.cpp
,因为 默认生成的文件就是a.exe
和a.out
),\*.cpp
是通配符
,指所有以 .cpp 结尾的文件,g++ 就是 编译器啦。
./a.out
和./a.exe
分为别 mac 和 windows 下的 执行可执行文件。
然后要说一下,mac 的 组合命令符号 是&&
,意思是 执行完第一条命令,就执行第二条。但是 windows 的不一定,若是在cmd
下 ,那么 组合命令一般是&&
(也有&
/|
), 但是 atom 好像默认使用powershell
,他的组合命令符号为;
(似乎也有用 -and 的,但我试了一下,似乎没有运行)。
结果如图:
另外,Map Terminals To
可以选择 File 或者 Folder
如图
这样才可以直接编译当前目录下文件。
所以打开文件时,我们要让页面变成这样:
因为我们选择的是编译当前目录下所有文件,所以目录下只能有一个 .cpp
文件~~不然你可能最后得到的 a.out
不是你想要的可执行文件~
3.设置运行的快捷键
Atom > 用户键盘映射
加两行
'atom-text-editor':
'cmd-r': 'platformio-ide-terminal:new'
意思也很好理解,就是指 将 我的 mac 的 command键 + r
(以前用xcode就是这个运行键,比较习惯),映射为 platformio-ide-terminal
这个插件的 new 动作(新创建一个文件)
。
当然,你也可以写更多上去,如图:
具体的后面写什么,可以看 platformio-ide-terminal
插件的 Settings
的最后面。
左边的是内容,后面的是原本的快捷键,这个应该很容易理解,不说了。
自定义代码块
这个其实网上能找到一些,但是写的不详细。我当时找的时候一脸懵逼。
Atom > 用户代码片段
接着就会打开一个文件:
网上关于 c/c++ 的代码块配置很少,放一下我的(部分)~
'.source.cpp':
'for':
'prefix': 'for'
'body': '''
for (int ${1:i} = 0; ${1:i} < ${2:n}; ++${1:i}) {
$3
}
'''
'printf':
'prefix': 'printf'
'body': '''
printf("%${1:d}\\\\n", $2);
'''
'if':
'prefix': 'if'
'body': '''
if ($1) {
}
'''
'scanf':
'prefix': 'scanf'
'body': '''
scanf("%d", &$1);
'''
'~scanf':
'prefix': '~scanf'
'body': '''
~scanf("%d", &n) && n$1
'''
'while':
'prefix': 'while'
'body': '''
while ($1) {
}
'''
'memset':
'prefix': 'memset'
'body': '''
memset(${1:arr}, ${2:0}, sizeof ${1:arr});$3
'''
'sort':
'prefix': 'sort'
'body': '''
sort(${1:arr}, ${1:arr} + ${2:n});$3
'''
'return':
'prefix': 'return'
'body': '''
return 0;
'''
'using':
'prefix': 'using'
'body': '''
using namespace std;
'''
'include':
'prefix': "include"
'body': '''
include <${1:cstdio}>
'''
'vector':
'prefix': "vector"
'body': '''
vector<${1:int}> ${2:v};$3
'''
简单说明一下:
'.source.coffee': 这个是需要找一下的。
在已安装扩展里面搜索 language
,找到你需要的语言,点开设置,例如我要修改 C/C++
找到这样的模块:
然后在前面加一个点,例如我写的是c++,格式就是 .source.cpp
。
'Console log': 是随意的,可以自己设置
'prefix': 需要写上你的代码提示码
'body': 'console.log $1'这个就是代码主体了
我已开始写完,觉得写得没有原本的好,因为这里其实需要用到一些技巧。
例如,拿 for 循环来说,
'for':
'prefix': 'for'
'body': '''
for (int ${1:i} = 0; ${1:i} < ${2:n}; ++${1:i}) {
$3
}
'''
$1 代表第一次光标所在位置,$2 代表按了tab键后第二次光标所在位置,$3 代表第三次,以此类推...
${num:k}
这个的意思是,第 num 次光标处,写得是 k,但选中了,可以直接进行修改。
上面一段代码的效果如下:
可以看到,由于有3个 ${1:i} ,所以光标第一次所在位置就是这三个地方,可以同时选中,同时修改。
这时候按一下 tab 键,如下:
选中了 ${2:n} 处,
再按一下 tab :
到了 $3 处,但并未选中。
关于 mac 上的 linter-gcc 问题
点进 linter-gcc 的设置里面,可以看到这么一段话:
如果 mac 上曾使用 xcode(例如我...),使用时 gcc 会有一些问题。
我的问题就是...他不报错...可以看到有错误,但是不提示你错误在哪的那种...
点进这段话里的链接:
这里有一些说明。
大致意思就是,xcode 的 有自带的 gcc,但是呢他有一些问题...
(我当时就是因为有了 xcode 的 gcc,所以没有自己下载gcc)
然后他给了解决方案~
所以呢,需要自己再下载一个 gcc。
1.下载 新版本的 gcc
在终端里下载...这里不说了...因为我没下,我电脑里直接就有..也不知道啥时候下的...百度下有很多关系下载 gcc 的教程~
2.修改atom链接的gcc目录
下载完成后,终端会提示你安装的 gcc 目录在哪
如我的是:
/usr/local/Cellar/gcc/8.2.0
在后面加上 /bin/gcc-x
x 是你下载的 gcc 的版本号
例如得到我的就是:
/usr/local/Cellar/gcc/8.2.0/bin/gcc-8
然后将这句话写在 linter-gcc 的Settings 里面的目录里
然后就会发现,有正常的代码错误提示啦~
恢复上次关闭前的文件夹
如果你每次重启 atom 后,都需要手动打开项目文件,并且尝试了很多办法都米有用,那么不妨试一下以下两个方法:
1. cmd + q
atom 如果没有完全关闭(mac 用户经常会这样),也就是下面有个小点点的情况:
这样就相当于你没有关闭,那么再打开 atom,他会默认你要打开第二个文件/文件夹,所以出来的界面是不会恢复你本来打开着的文件的。
每次要关闭的话,用 cmd + q
,这样可以完全关闭,就不会有这样的问题~
2.下载插件
其实网上有很多推荐的插件,例如 open-last-project
,project-manager
(需要保存项目才可以)等等。
但是我都下了试过,不行...不知道是不是因为 mac 没有完全关闭 atom 的原因...但是有一个插件可以:restore-windows
,可以尝试一下~
暂时就是这些啦,想到别的我再补充~
哈哈哈哈哈哈