首先通过编辑-首选项-插件-外部命令
来打开外部命令,然后在工具-Manage External Tools
来添加新工具,工具代码使用bash
语言。
代码使用方式:+添加新插件,在编辑框中粘贴代码,快捷键:自定义,保存为:当前文档,输入为:当前文档,输出为:在下方面板中显示,适用范围为:所有文档 C++。
下面提供两种代码:
代码一:
#!/bin/sh
dir=$GEDIT_CURRENT_DOCUMENT_DIR
name=$GEDIT_CURRENT_DOCUMENT_NAME
pre=${name%.*}
g++ $dir/$name -o $pre -g -Wall
if test $? -eq 0; then
gnome-terminal -x bash -c "$dir/$pre;echo;read;"
fi
这种代码会打开一个终端,然后需要手动输入。调试代码时,比较繁琐。
那么我们就搞了一个更简单的方式。代码如下:
代码二
#!/bin/sh
fullname=$GEDIT_CURRENT_DOCUMENT_NAME
dir=$GEDIT_CURRENT_DOCUMENT_DIR
name=${fullname%.*}
inname=${name}.input
outname=${name}.output
ansout=${name}.ansout
cd $dir
cat $fullname | awk 'BEGIN{a=0} /*//{a=1} a==0{print $0}' | grep -v "/*" | cat > $inname
cat $fullname | awk 'BEGIN{a=0} /*//{a++} a==1{print $0}' | grep -v ["*/""/*"]| cat >$outname
g++ $fullname -o $name && ./$name <$inname >$ansout
diff -a -b -B -c -q $ansout $outname && echo Accept || echo Wrong Answer
cat $ansout
rm $ansout $outname $inname $names -rf
这个版本无需文件输入输出,只需要在文件头加入两个注释,第一个为样例输入,第二个为样例输出。
举个例子:
/*
6
1 30 3 2 3 4
2 16 2 5 6
3 5 0
4 4 0
5 11 0
6 5 0
*/
/*
25
*/
#include <iostream>
using namespace std;
....<code>
这样在编译时会在下方面板输出
Running tool: 运行命令
25
Done.