NotePad++的Run扩展成C的编译运行环境
NotePad++中的环境变量
The 5 environment variables contain:
FULL_CURRENT_PATH | : E:\\my Webmain\\welcome.html |
CURRENT_DIRECTORY | : E:\\my Webmain |
FILE_NAME | : welcome.html |
NAME_PART | : welcome |
EXT_PART | : html |
There are 2 more variables (available from v3.7):
NPP_DIRECTORY | : the full path of directory which locates your notepad++.exe |
CURRENT_WORD | : it gives the word(s) you selected in Notepad++. |
调用的形式如:$(NAME_PART) *注意:这里是'('不是'{'
注:
原文可能有误,省去了\\。
在参考文章1中给出了示例和注意事项,现摘抄如下
运行notpad++,点击"运行-》运行"菜单,出现一个弹出框。
- 编译源代码:
cmd /k gcc -o $(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT - 运行上一步生成的可执行文件:
cmd /k "$(NAME_PART)" & PAUSE & EXIT - 注意事项:
- 引号的使用是为了适用于文件名或者路径中带有空格的情况,一定不能省略。
- & PAUSE 含义是命令运行后暂停等待键盘操作
- & EXIT 含义是完成后退出运行窗口,回到notepad++
- gcc的bin目录已经之前在系统环境变量中进行过设定,否则需要补全gcc命令的绝对路径。
经过体验
1.GCC编译后的代码,无论路径如何,其执行exe文件都在NotePad++的目录之下。
2.对于portable的NotePad++,其shortcuts.xml文件在NotePad++的目录下。其的修改要在NotePad++关闭的情况下,NotePad++.exe关闭的时候,会重写shortcuts.xlm文件。
针对自己的情况,做了如下改动
1.GCC不在path路径下。
写一个devcpp的脚本,将所有这样的脚本加入到path下,在命令中引用该脚本,shortcuts.xlm文件在ie中显示如下代码
<Command name="Compile"Ctrl="no"Alt="no"Shift="no"Key="118">cmd /k devcpp & gcc -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" & pause &exit</Command>
命令用& 隔开。
2.生成exe在NotePad++的目录下
显示的给出gcc -o的路径,"$(CURRENT_DIRECTORY)\$(NAME_PART).exe"注意请用""将exe文件括住。这带来了又一个问题,在run的时候无法找到.exe文件,解决的思路还是给出绝对路径。代码如下所示
<Command name="Run"Ctrl="no"Alt="yes"Shift="no"Key="116">cmd /k "$(CURRENT_DIRECTORY)\$(NAME_PART)" & PAUSE & EXIT</Command>
参考文章