Notepad++使编译c,c++,java,python。

A: 将Notepad++改造成自己喜欢的C/C++编译器。

并且提供一些实用的方法让你的IDE更加好用,更加实用。此外还提出在使用过程中容易犯的问题以及相应的解决办法。


在此说明,本文学习参考了博客:http://aofengblog.blog.163.com/blog/static/63170212010111164752194/。感谢该作者的分享。


一、安装MinGW编译器

如果您已经安装过CodeBlocks,就不需要安装了,只需要将绝对路径MinGW\bin添加到您的环境变量path中。

如果您还没有安装任何的MinGW编译器,请先安装,并将bin文件的绝对路径添加到您的环境变量path中。

二、调用cmd形式

在Notepad++中,可以直接打开cmd,并且cmd已经将工作路径更换到当前文件中了

在:菜单运行\Open current dir cmd,会弹出cmd命令行,并且工作路径已经更换到当前文件的路径中


测试如下:新建一个main.cpp文件,输入如下,打开菜单运行\Open current dir cmd,输入g++ -o main.exe main.cpp并回车,这样就生成了与main.cpp同路径的main.exe文件,下一步执行main.exe,就能在cmd窗口中输出Hello world。


      以上只是取巧的办法,方便一次两次的运行,这里写出来只是为了让看客们知道这种另类的方法。如果您希望将NotePad++改成一个真正可执行的IDE,就请继续下面的学习之旅。

三、安装NppExec插件

1、NppExec安装

      以上博主提供了NppExec_041_dll_Unicode.zip的连接,请先行下载。

      下载并解压NppExec_041_dll_Unicode.zip,将 NppExec.dll 和目录NppExec 复制到Notepad++ 的 plugins 目录下

      将doc目录下的fparser.html、NppExec.txt、NppExec_Manual.chm、NppExec_Manual.knt、NppExec_TechInfo.txt 复制到 plugins\doc\NppExec 目录下。NppExec文件如果没有就自己新建一个

      重新启动Notepad++

2、NppExec配置

      a. 打开:菜单Plugins\NppExec\Execute。对于中文的Notepad++为:插件\NppExec\Execute


      b. C语言编译器配置:在Execute中输入cmd /c "gcc -o $(CURRENT_DIRECTORY)\$(NAME_PART) $(FULL_CURRENT_PATH) && CLS && pushd $(CURRENT_DIRECTORY) && $(NAME_PART).exe",点击“Save...”按钮保存,命名为“CompilerC”。


      c. C++编译器配置:在Execute中输入cmd /c "g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART) $(FULL_CURRENT_PATH) && CLS && pushd $(CURRENT_DIRECTORY) && $(NAME_PART).exe",点击“Save...”按钮保存,命名为“CompilerC++”。



      d. 将CompilerC和CompilerC++添加到Macros菜单中

            打开Pluguns\NppExec\Advanved Options,对于中文的Notepad++为:插件\NppExec\Advanved Options


在Associated script中分别选择CompilerC和CompilerC++,点击Add/Modify依次添加到Menu items中,期间注意修改Item name。在Menu items中勾选Place to the Macros submenu。

      e. 加上快捷键

      打开:宏\管理快捷键...。可以看到,已经有了CompilerC和CompilerC++两栏。下一步我们分别为他们设置快捷键F9和F10。


选择Plugin commands,找到我们需要的CompilerC和CompilerC++,Notepad++将大部分快捷键都占用了,但是F9和F10都没有用,这里可以将这两个键用上。



四、使用分析

1. 回到输入cmd /c "gcc -o $(CURRENT_DIRECTORY)\$(NAME_PART) $(FULL_CURRENT_PATH) && CLS && pushd $(CURRENT_DIRECTORY) && $(NAME_PART).exe"这句话(以CompilerC为例,CompilerC++类似)

      这里解释下这句话:用/c的方式打开cmd,调用gcc.exe,输出文件为本文件所在路径下与本文件名同名的exe,输入文件为本文件绝对路径,之后执行CLS命令,之后将工作路径更换到当前路径下,调用与本文件同名的exe文件执行。网上很多有关Notepad++安装配置C/C++编译器的博客都是抄自于一同个人,所以大多都一样,而且不使用。在小布博客中,采用了不一样的命令,带给您不尽的便利。主要修改在于1:$(CURRENT_DIRECTORY)\$(NAME_PART) 将最终生成的可执行文件放在了与main源程序相同的路径下,网上别的方法会将exe生成在Notepad++的安装路径下,这是用户不愿看到的;2:pushd $(CURRENT_DIRECTORY) && $(NAME_PART).exe。将cmd的工作路径更换到当前路径下,并调用生成的可执行文件,如果不更换路径,就会发生在cmd默认路径下远程调用生成的exe,如果程序中需要打开文件、生成文件,路径都需要改为相对于cmd默认路径来,只有将当前cmd路径换到exe本身的路径下,才能更方便的使用。题外话,大家可以尝试用/k的方式打开cmd。

       C/C++中有时需要带参数的main。(void main(int args, char *argv[]))。这个参数通过Notepad++怎么传递呢?在我们以上输入中,最后一句话为$(NAME_PART).exe,代表在cmd中调用了一个可执行文件exe,但是没有给参数,如果我们需要传递参数,就需要给在:菜单Plugins\NppExec\Execute中进行设置,将需要的参数添加在$(NAME_PART).exe后面,例如想要使用CompilerC++并添加两个参数,分别是100和1000,只需要在菜单Plugins\NppExec\Execute中选中CompilerC++,并输入cmd /c "g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART) $(FULL_CURRENT_PATH) && CLS && pushd $(CURRENT_DIRECTORY) && $(NAME_PART).exe 100 1000"。即添加了参数在末尾,以空格隔开。


2. 考虑到源文件中基本上会包含(#include)很多自己写的文件,部分编译器会自动在源文件所在目录下搜索包含的文件,如果您的编译器不会这样做,源文件中包含的自己写的头文件就不能正确的被找到,因为当前工作路径在cmd的默认路径下。为解决这个问题,就需要将pushd动作提前,改为这句话:cmd /c "pushd $(CURRENT_DIRECTORY) && gcc -o $(NAME_PART) $(FULL_CURRENT_PATH) && $(NAME_PART).exe"。这句话先将工作路径更换到源文件所在的路径,再调用gcc.exe编译源文件,这样工作路径更改了,头文件只要相对于源文件给出相对包含路径就能正确找到了。还是那句话,由于大部分编译器会自动在源文件所在目录下搜索包含的文件,所以这点修改是不必要的,只是针对于比较old的编译器可能会出现这样的问题。

3. 代码都对了,可是编译的时候还是出现问题

      由于Notepad++在新建文件的时候默认是采用UTF-8无BOM编码格式,编码这一块小布还是很熟悉的,欢迎讨论,有关编码问题这篇文章写得不错http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html。而大部分C/C++编译器需要ANSI编码,所以需要将源文件都转换成ANSI编码。如果您的源文件中出现汉字,就需要进行UTF-8无BOM编码到ANSI编码的转换操作,如果源文件不包含任何汉字,不用转换也可以,因为UTF-8无BOM编码兼容ANSI编码,就是说,纯英文符号的文件,两种编码编出的码是一样的,所以有些人会疑惑,为什么添加了汉字在文件中就不能正确的运行了。因为编码出错了。



可以修改Notepad++创建文本是默认的编码,打开:菜单设置\首选项。在新建中将编码栏选中ANSI就好了。


B: 将Notepad++改造成自己喜欢的Java编译器。

写java代码的时候,电脑配置不高,用eclipse启动太慢,各种卡顿?用记事本又太平凡?还得用命令行编译运行太麻烦?那就用notepad++吧,启动快,也可以直接编译,下载安装我就不介绍了,主要介绍一下如何用notepad++运行java程序 
  前提是已经配置好了java环境,这个自己去百度 
  用notepad++打开随便一个文件,写好java代码,在Notepad++上面的选项栏中找到 插件—>Plugin Manager—>show Plugin Manager,提示,之后会加载一段时间,不要着急,加载完之后,在弹出的显示插件的窗口中勾上NppExec这个插件,再点install,安装完后会提示重启notepad++,点是就好,然后,如果你安装成功了,按F6,就会出来一个提示框,在里面敲入以下代码

NPP_SAVE  
cd "$(CURRENT_DIRECTORY)"  
javac.exe "$(FILE_NAME)"  
java.exe "$(NAME_PART)" 

C: Notepad++ compiler python。

  • 我们需要先安装Python,例如我的python.exe的路径
    E:\PyCharm\Python34\python.exe
  • 在Notepad++中打开/写好代码,按下F5运行->运行,输入命令
cmd /k E:\PyCharm\Python34\python.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
  • 1
  • 保存,设置快捷键。
  • 之后每一次需要运行python脚本的时候,只需要按下所设置的快捷键即可。

原理:

  • cmd :打开命令提示符程序
  • /k :执行后面的命令,相当于把后面的内容复制到命令提示符里执行
  • ..\python.exe :python.exe的路径
  • $(FULL_CURRENT_PATH) :Notepad++的宏定义,获取当前文件路径,在cmd里需要用双引号将路径括起来。
  • & :连接多条命令,x & y & z 意味着先执行x,然后执行y,然后执行z
  • pause、exit :cmd的指令,暂停、退出

所以整条命令的意思就是,打开cmd,执行python.exe,运行当前文件,运行结束暂停,按任意键退出cmd



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值