Notepad++
Notepad++是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并
且支持宏以及扩充基本功能的外挂模组。
Notepad++是免费软件,可以免费使用,自带中文,支持众多计算机程序语言: C,C++,Java,pascal,C#,XML,SQL,Ada,HTML,PHP,ASP, AutoIt, 汇编, DOS批处理, Caml, COBOL, Cmake, CSS,D, Diff,
ActionScript, Fortran, Gui4Cli, HTML, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make处理(Makefile), Matlab, INI文件, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal,Python,
Javascript,Verilog,Haskell,InnoSetup,CMake,VHDL,AutoIt,Matlab
软件名称 Notepad++ 开发商 Don HO 软件平台 PC 软件版本 7 更新时间 2016.09.22 软件大小 12.6Mb 软件授权 免费
目录
1 功能
2 特性
3 吉祥物
4 最新版本
5 更新日志
6 软件特色
7 最新动态
1
功能
内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持 .info 文件查看),还支持自定义语言;
可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,还可显示缩进引导线,代码显示得很有层次感;
可打开双窗口,在分窗口中又可打开多个子窗口,显示比例;
提供了一些有用工具,如 邻行互换位置、宏功能,等……
可显示选中的文本的字节数 (而不是一般编辑器所显示的字数,这在某些情况下,比如软件本地化很方便);
正则匹配字符串及批量替换;
强大的插件机制,扩展了编辑能力,如Zen Coding。
特性
1、所见即所得功能、语法高亮、字词自动完成功能,支持同时编辑多重文档;支持自定义语言;
2、对于HTML网页编程代码,可直接选择在不同的浏览器中打开查看,以方便进行调试;
3、自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,可显示缩进引导线,使代码富有层次感;
4、可打开双窗口,在分窗口中又可打开多个子窗口;
5、可显示选中文本的字节数,并非普通编辑器所显示的字数;提供了一些实用工具,如邻行互换位置、宏功能等;
吉祥物
Notepad++的吉祥物是一只蜥蜴。
最新版本
Notepad++ 6.7.4
Notepad++ 6.7.4
软件版本:7.0
软件大小:2.72MB
软件作者:Notepad++ team
软件类别:应用软件
软件授权:自由开源免费(GPL协议)
软件语言:多国语言
运行环境:Win9x/Me/NT/2000/XP/2003/Vista/Win7/Win8/Win8.1/Win10
支持的文件类型:
C、C++、Java、C#、XML、HTML、PHP、CSS、makefile、ASCII艺术(.nfo)、doxygen、ini文件、批处理文件、Javascript、ASP、VB、VBS、SQL、Objective-C 、Pascal、Perl、Python、
LuaTeX、TCL汇编言、Ruby、Lisp、Scheme、Properties、DiffSmalltalk
更新日志
Notepad++ 6.8.3更新日志[1]
记事本+ + v6.8.3错误修复:
1.使用通配符(*),打开命令行上的文件修复崩溃的问题。
2.修正显示刷新退出缺失的问题,通过使用选项-Plugin。
3.修正插件快捷方式配置丢失的问题。
4.修正了挪威本地化坏显示器和错误的编码。
5.在高DPI从功能修复显示问题。
Notepad++ 6.7.5更新日志
1.增加“幽灵”输入功能:启动Notepad++时从命令行自动输入文本(通过命令行的-qn, -qt 或 -qf)
2. 修复自动插入错误行为
3.修复崩溃问题:用户按住Ctrl后双击空文档时引发
4.修复加载DropBox设置时的崩溃Bug
5.在FindInFiles和ReplaceInFiles过程中展现处理过程窗口,取代状态窗口
6. 修复文件名包含“&”字符时显示不正确的问题
7. 高亮显示增量搜索的跟随类,增加一些增强的增量搜索
8.在快捷键映射中加入ENTER键的编辑回话
9. 允许把文件放入doc转换器和其他面板
10. 安装程序会记录用户选择和最近的安装
11. 修复在码组中自动缩进不响应的EOL问题
12.在面板关闭后,恢复编辑器
Notepad++ 6.7.4 Je suis Charlie edition
安装包新增插件:
DSpellCheck v1.2.12
NppFTP 0.24.1
NppExport v0.2.8
Plugin Manager 1.0.8
Converter 3.0
Mime Tool 1.9
Notepad++ 6.7.3 更新日志
1.修旧处理器的崩溃问题由于SSE2指令。
2.确定翻译的回归:映射为添加的命令”标记……子菜单项”。
Notepad++ 6.7.2 更新日志
1.修复当不加载 config.xml 和 stylers.xml 时的崩溃问题。
2.修复 NPPM_LAUNCHFINDINFILESDLG API 退格崩溃问题。
3.防止在列模式中自动插入 {} [] () “”。
4.修正了在首选项对话框中的”提示输入函数参数”复选框未正确初始化。
5.修复保存主题样式无效的问题 (为避免UAC权限问题,从 %APPDATA% 拷贝文件) 。
6.改进用户定义语言对话框的高度。
Notepad++ 6.7.1 更新日志[2]
1、修正了GotoLine的崩溃问题;
2、修正了输入随机字符时出现崩溃的问题;
3、修正了自动插入功能的错误(在自动插入括号“()”功能关闭时遇到“]”、“}”不跳过);
4、新增功能:自动填充引号(英文双引号和英文单引号);
5、修复了其他一些问题
Notepad++ 6.7.0 更新日志[3]
1.cloud设置:新增OneDrive支持
2.修复启动时崩溃问题
Notepad++ 6.6.9 更新日志[4]
1.cloud设置:新增OneDrive支持
2.修复启动时崩溃问题
Notepad++ 6.6.8更新日志:
1.云设置支持谷歌网盘了。
2.更好的主题支持:所有的内部对接的对话框中可以选择应用主题的前景色/背景色。
Notepad++ 6.6.7 更新日志:
修复一个历史文件的恢复问题。
Notepad++ 6.6.6更新日志:
1.修复当本地Dropbox路径更改后,Notepad++程序的“Settings on cloud - Dropbox”功能出现异常工作问题。
2. 修复当保存文件被删除或只读时,会话快照可能出现保存出错等问题。
Notepad++ 6.6 更新日志:
1.新增会话快照、定期备份功能;
2.修正RTL/LTR命令制作文本错误;
3.自动检测字符编码设置为可选;
4.在查找和替换对话框选项卡和用户自定义语言对话框选项卡中加入DPI识别功能;
5.在功能列表中加入Shell脚本解析器;
6.在SQL中可选使用反斜线,充当为转义字符。
Notepad++ 6.6.2更新日志:
1. 修复了会话快照的 bug,当选择记住当前会话时无法启用会话快照的问题。.
包括的插件:
1. DSpellCheck v1.2.12
2. NppFTP 0.24.1
3. NppExport v0.2.8
4. Plugin Manager 1.0.8
5. Converter 3.0
6. Mime Tool 1.9
Notepad++ 6.6.0更新日志:
修复一个历史文件的恢复问题。
Notepad++ 6.4.5更新日志:
1.中文环境下填词特性在ANSI文档中重新启用。
2.编码自动识别功能可以检测识别unicode编码。
3.通配符(*和?)和递归(- r)支持命令行参数。
Notepad++ 6.4.4更新日志:
添加标签功能(按Ctrl+小键盘)的直接访问。
添加匹配括号之间的选择功能。
增强功能列表的C/ C + +解析器。
修复行号空间的问题。
修复一个崩溃的问题。
Notepad++ 6.4.3更新日志:
修复了使用“功能”的一个崩溃问题;
增强了分隔符选择(Ctrl+鼠标双击):在参数设置对话框中新增了GUI设置;
在新的实例功能中添加了打开会话;
添加新的命令行参数“-openSession”用于打开会话文件;
添加了多实例选项;
修复了regression -systemtray命令行选项无法正常使用的问题;
修复了开始和结束位置之间的文本修改后出现的开始/结束选择Bug;
添加了定位命令行选项。
Notepad++ 6.4.2更新日志:
增强分隔符选择功能。
修复几个已知问题。
Notepad++ 6.4.1更新日志:
新增功能列表面板(可自定义,当前支持C++和Javascript)。
在新增的状态栏显示“查找/替换”对话框的错误信息,以此取代弹出窗口。
按ctrl +双击功能,添加分隔符选择。
添加设置开始位置选择功能。
Notepad++ 6.3.3更新日志:
记住折叠状态的最后一次会议。
关闭选择/非选定的文件。
新的拼写检查器。
Notepad++ 6.3.2更新日志:
修正了一个回归(性能发行)。
承认WScript的Rake文件分别为python和ruby文件。
Notepad++ 6.3.1更新日志:
修复更换'\ñ'错误在扩展和正则表达式模式。
记住折叠状态的会话中的每个文件。
取消注释,修复崩溃的bug。
添加“更新代理设置...” 命令设置代理升级。
修复问题未妥善保存/恢复窗口位置。
添加新API NPPM_GETCURRENTVIEW。
Notepad++ 6.3更新日志:
重要的错误修复和增强的正则表达式搜索替换关键的问题。
UDL的新特性和bug修复。
Notepad++ 6.2.3更新日志:
修复了RegExpr模式下查找“”漏洞;
将“删除文件”(Delete file)命令更改为“移动到回收站”(Move to Recycle Bin);
添加了删除空行功能;
将文档默认值由ANSI更改为UTF8 w/o BOM;
开启了CJK环境下unicode文档的单词自动补全。
Notepad++ 6.0更新日志:
新增对PCRE(Perl Compatible Regular Expressions)的支持;
添加了文档结构图功能(通过“视图”下的“Document Map”)。
增强了大文件加载性能。
软件特色
打印所见即所得
如果有彩色打印机,你可以把你的源代码以多种颜色打印出来。
用户自定义编程语言
用户可自定义编程语言:自定的编程语言不仅有语法高亮度显示功能,而且有语法折叠功能功能。注释、关键字和运算符号也可以自定义。
字词自动完成功能
用户能做自己的API列表(或从下载专区下载需要的api文件) 。一旦api文件建立完成且在正确的路径系统,键入Ctrl+Space(你可以修改这个快捷键)启动字词自动完成功能。欲知更多信息,请参考
字词自动完成功能在线帮助。
支持同时编辑多文件
可以同时开启多页面来编辑。
支持多重视窗同步编辑
用户可同时有两个视窗对比排列。不但能开启两个不同文件在分别两个不同的窗口,并且能开启一个单独文件在两个不同的视窗内(clone mode)进行同步编辑。同步编辑的成果将在两个的窗口内同时
更新。请参考同步编辑画面。
搜索和替换正则表达式
用户可用正则表达式来搜索和替换一个字符串。
完全支持拖曳功能
用户可用拖曳功能来开启文件,也可以用拖曳功能来变换开启文件的位置,甚至可拖曳开启文件从一个窗口到另一个窗口。
自动检测开启文件状态
如果外部修改(或删除)Notepad++已开启文件,用户将会被通知更新文件内容(或删除档案)。
支持多国语言
支持中日韩Windows环境,及阿拉伯语与希伯来文的Windows环境。
高亮括号及缩排辅助
当光标移至下列字符{ } [ ] ( )旁时,此字符与远方相对应的字符以及缩排辅助(如果存在的话)将会以高亮来显示。
书签
用户可以单击书签边行(书签边行位于列数边行右方)或使用键盘捷径Ctrl+F2来标明或移除书签。使用键盘捷径F2到下一个书签或Shift+F2到上一个书签。如欲清除所有书签,使用菜单“寻找”->“
清除所有书签”。
巨集(宏)
用户可储存数百个巨集(宏)指令,并分配快捷键。
其它
放大与缩小功能内部窗口位置可任意移动
最新动态
Notepad++团队于2015年1月10日发布最新版本v6.7.4,并使用“Je suis Charlie edition”这一颇具争议的标签作为发布版本名称。最新版本中官方团队宣称:
言论自由就像我们呼吸的空气,直到失去它,我们才感觉到它的存在。出于这个原因,“我是查理“并不代表我完全支持他们所发表的一切,而是因为我珍惜没有危险的言论自由的权利,即使这样做冒
犯了别人。而且,不管他/她表达了自己的什么观点,你也没有权力去剥夺他们的生活。因此,这就是“我是查理”版所想表达的意愿。
两天后,2015年1月12日,Notepad++官方网站遭受黑客攻击,起因是两天前发布的“我是查理”版,经过 Notepad++ 团队的努力,当天,网站访问恢复正常。
========
Notepad++ 使用心得
作为一个菜鸟程序员,一直很喜欢windows平台下的notepad++,轻巧,可定制性强,感觉很好用。下面讲一下我使用notepad++时的一些心得。
快捷键
这个是比较基础的,我们可以在设置->管理快捷键中修改。比较常见的比方说:
上下移动当前行ctrl+shift+up/down;复制当前行 ctrl + D;函数参数提示 ctrl+shift+space行注释、区块注释 ….
因为有很多默认的快捷键已经被我修改掉了,所以这里我就不一一例举了。
需要注意的是,很多时候我们发现快捷键设置了没有用,比方说ctrl+alt,这是因为和其他软件比方说输入法、QQ之类的快捷键产生了冲突,这时候我们需要将快捷键修改成未被其他软件占用的热键。
自动完成和字符编码
曾经有朋友因为notepad++没有自动完成功能而转投其他IDE,但其实小巧的notepad++也是有这个功能的,在设置->首选项里,如下图所示:
在web编程时,字符编码是很需要注意的一点,一般现在流行的都是utf-8编码,我们可以在设置->新建里面,选择默认的编码。如果不做改变的话,默认为ANSI编码
环境变量
Notepad++有自己的环境变量
变量名称
含义
FULL_CURRENT_PATH
文件路径名称
CURRENT_DIRECTORY
文件目录
FILE_NAME
文件全名称
NAME_PART
文件名称
EXT_PART
文件扩展名
通过这些变量,我们可以自定义很多东西
C语言编译器
详细做法大家可以网上搜索,我简略的讲一下我的做法,对于其他语言只要把编译器替换成相应的即可:
首先你得安装一个编译器,对于C语言来说,我推荐使用gcc,然后将gcc加入系统path即可
在运行中输入下述命令
cmd /c gcc -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe $(FULL_CURRENT_PATH) & EXIT 并保存取名为编译(最好为之分配一个快捷键,这样也方便使用)。
再在运行中输入下述命令
cmd /c $(CURRENT_DIRECTORY)\$(NAME_PART).exe & PAUSE & EXIT ,保存取名为运行(分配快捷键)。
说明:cmd gcc的命令大家都可以看懂,而诸如这种$(FULL_CURRENT_PATH)就是notepad++环境变量的用法的,大家可以自行对照上表进行理解
打开文件
通过上面介绍的环境变量,我们可以自定义文件的打开方式,比如我就是这样定义快捷来调试本地服务器上的网页的。
Chrome.exe http://localhost/$(NAME_PART)$(EXT_PART)
这样,当我按下快捷键时,该网页就是指向localhost的了。
插件
下面为大家推荐几个有用的插件
Nppexport
这是notepad++默认安装的插件,通过这款插件,我们可以方便的导出着色以后的代码,这样即使在word里,我们也可以方便的粘贴上着色后的代码
Explorer
这款插件需要用户自己安装,通过这款插件,我们可以在notepad++中启用资源浏览器功能,如下图所示
TextFX
这款插件可以很方便的定义括号自动补全等功能
其他还有functionlist ,jsonview等等方便我们分析代码的插件,这里不逐一例举。
总之,notepad++是一款非常轻巧,但功能却十分强大的编辑器,在配置好之后,我们完全可以放弃其他任何IDE。
========
About
Notepad++ is a free (as in "free speech" and also as in "free beer") source code editor and Notepad replacement that supports several languages. Running in the MS Windowsenvironment, its use is governed by GPL License.
Based on the powerful editing component Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size.
By optimizing as many routines as possible without losing user friendliness, Notepad++ is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can
throttle down and reduce power consumption, resulting in a greener environment.
Screenshot
You're encouraged to translate Notepad++ into your native language if there's not already a translation present in the Binary Translations page.
I hope you enjoy Notepad++ as much as I enjoy coding it.
========
3.6. Notepad++的列编辑功能
3.6.1. 什么是列编辑模式
普通编辑器,编辑文本的时候,选中一部分内容,都是在一行或多行的范围内操作,从左到右的,所以,可以看做是行模式。
与此相对应的,就是上下方向的列模式了。
进入列模式后,操作顺序和范围,是在所选范围内,从上到下的,比如全部插入某些字符等等,是在所选的列模式操作区域内,所涉及的每一行,都对应的插入这些字符。
当有些高级的操作,需要对不同的列,同时进行编辑的话,那么列编辑模式,就非常有用了。
3.6.2. Notepad++的列编辑模式的基本操作
在Notepad++中,按住Alt键之后,就处于列(编辑)模式了。
比如,按住Alt键,此处从上到下,选择多列:
例 3.13. 列编辑:多行输入同样内容
然后多行同时输入同样的内容,效果如下:
例 3.14. 列编辑:删除多行内容
然后也可以同时删除多行内容:
先按住Alt键,选后同时选取多列:
然后松掉Alt键,点击右键选择删除,或者直接按键盘上面的Delete键,都可以实现删除所选的多行中对应部分的内容:
例 3.15. 列编辑:多行中插入相同或不同的内容
进入列编辑模式后,除了可以手动输入内容外,也可以通过插入,实现输入多行内容:
按住Alt键进入列编辑模式后:
然后松掉Alt键,点击 编辑(E) ⇒ 列编辑 Alt+C:
然后在“插入文本”处,填写你所要插入的内容:
此处填入想要插入的内容,即可同时插入多行内容:
同样,可以看到,上面还有个“插入数字”的功能,可以插入自己所想要的某种序列的数字:
然后就可以看到插入了想要的数字了:
虽然上面只是一些基本操作,但是对于很多人,如果需要用到此功能,也会觉得很方便了。
3.6.3. Notepad++的列编辑模式的高级用法
其实,列编辑的功能的好处,在于相对更加复杂一点的用法。
下面就介绍一下,我之前所遇到的情况,以及如何利用列编辑模式,来提高工作效率的:
例 3.16. 列编辑:同时复制和粘贴多列
比如,我之前,需要得到这样的xml内容:
即,需要在多个entry中,一点点输入对应的数字和字母。
而数据来源,是来自另外已有的word文档中的表格:
对此,一般传统的办法,那无外乎,一个个数字,和字母的从word中拷贝,然后粘贴到xml文件中对应的两个entry的位置中去。
此种方法,效率及其低下不说,还很容易出错,所以肯定不是好办法。
但是如果不会用列编辑的话,那么好像也只能用此很笨的办法,慢慢的去拷贝粘贴了。
下面就来看看,如果使用Notepad++的列编辑,是如何提高效率和准确度的:
首先当前是在目标xml文件中,已经有了对应的entry了:
然后,是想要通过列编辑的复制与粘贴,实现将word中对应表格中的内容,一列列粘贴过来的。
但是,之前由于对于列模式编辑不是很熟悉,导致直接从word中选中一列:
然后在Notepad++中先进入列编辑模式:
再直接去用Ctrl+V去粘贴,结果却只是粘贴到第一个entry中,而不是整个列分别粘贴到对应的位置:
后来才知道,原来应该这么做:
同样先是去word中拷贝对应的列的内容:
然后在Notepad++中,新建一个页面,将拷贝的内容,粘贴到新建页面中:
然后再用列模式去选取此部分内容:
然后Ctrl+C复制所选内容,再回到要粘贴的地方,同样先是进入列模式:
然后再按Ctrl+V,这样才可以正确的将通过列模式选取的内容通过(Ctrl+V)粘贴到列模式所选取的范围内,即所选取的每一行的内容,粘贴到目标的每一行的位置:
[提示] 列模式粘贴的时候,会自动帮你去掉所选内容中的空白处,即可以调整被粘贴后的内容的宽度
此处,可以注意到,原先列模式去选取内容的时候,0到9的那些行,(至少显示出来的效果中)是包含了多余的空格的:
以及0a到1f的行,是正常选取的全部内容,不包含空白的。
而粘贴出来的效果,可以看到,对应的0到9的行,是没有多余的空格,是一个字符的宽度的,没有被变成2个字符的宽度:
即,列编辑的时候,所选择的内容中,显示出来的效果中,好像是包含了空格,实际没有,所以在粘贴出来后,不会多余出于的空格的。
话句话说,列编辑模式下,选取内容,和粘贴内容,会自动帮你计算好对应的内容的,不会(像我以为的)多余的插入(那些在选取时显示出来的多余的)空格的
所以,这方面,个人觉得,其做得还是很人性化,或者说很符合用户需求的。
按照上述方法,你可以去接着一列列的,去粘贴word中别的列的内容。
但是,如果你接着这么做的话,你却发现,有些问题了。
因为经过上面第一列的粘贴,上面的0到9的那些行是一个字符宽度,而0a到1f却是2个字符宽度,这导致接下来的想要选取第二列的所有的entry,以进入列编辑模式的话,就无法正确全部选择对应的
位置了:
即,0到9列,是可以正确的选择了两个"<entry>"中间的,但是0a到1f的列,却都选择了y和>之间了,位置错了。
如此,想要接着实现列拷贝粘贴的话,一般人所能想到的,那就只是,先拷贝粘贴0到9列的,然后再拷贝粘贴0a到1f列的。
如果这么做的话,其对于此处只是被分为2个不同的列的位置去操作,也还算能接受。
但是如果被粘贴的内容,像后面的同一列中,既有1个字符宽度的,又有2个和3个字符宽度的,甚至其他更多字符的,那么一个完全的列,就被分为多个不连续的,可供列编辑操作的列了。
那结果就又几乎回到了之前的手工慢慢的复制粘贴的效果了。
所以,还是要找到更好的解决办法,尽量实现尽可能多的列,都实现一次性的列操作,这样才能真正提高效率。
后来,偶发现了一个办法,那就是,可以先操作左右边的列,然后依次向左处理每一列,这样就可以避免此问题。
之所以想到如此去做,是因为,右边的列,即使每一列的内容宽度不同,但是不会影响到左边的列的对齐,所以,就可以规避此问题了。
其具体做法很简单,只是换个顺序处理而已:
在word中,先复制最后一列的内容:
同样的,粘贴到新建的Notepad++的页面中,并以列模式去选取该内容:
然后用快捷键Ctrl+C去复制此内容,再回到要粘贴的地方,先以列模式选择所要插入的位置:
然后Ctrl+V去粘贴此内容:
如此,就不会影响左边的列了。
然后依次方法,依次处理每一列。
不过,当你处理到40那列的时候,你会发现,有些内容,却折回到开始显示了,即内容显示出来,是换行的了:
但是看起来也是不影响继续使用列模式的,但是当想要继续选择多列时,选中的效果却变成了隔行的效果:
此处,看起来是隔行的列选择,实际仍是每个行的列选择,即,其实是不影响继续列操作的。
和上述的隔行选择的效果类似的,是处理到最后一列的时候:
实际上,看起来“穿”过了字符串"entry",而实际上,是不影响的entry字符串内容的。
如此继续操作,就处理完毕所有的列了:
这也就是我们最开始所看的效果。
而如此的列操作,其实只是对于每一列,去复制粘贴一下,就可以实现,整个列的内容录入了。
通过此列操作实现的多列同时录入,不仅效率很高,而且还不容易出错。
http://www.crifan.com/files/doc/docbook/rec_soft_npp/release/htmls/npp_func_column_mode.html
========
Notepad++配置Python开发环境
1. 安装Python1 下载
我选择了32位的2.7版本。https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi
2. 安装
安装的时候可以修改安装路径到D盘,然后注意一点是可以将最后一项“配置环境变量”勾选上(默认是不选择的),这样就不用手动配置环境变量了。
2. 配置Notepad++
可以参考文章【1】的方法进行配置,但是注意输入的命令是参考文章【2】的。
1. Notepad++ ->"运行"菜单->"运行"按钮
2. 在弹出的窗口内输入以下命令:
cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
然后点击“保存”,随意取一个名字,比如“RunPython”,为方便,配置一下快捷键(比如 Ctrl + F5),点OK即可。之后运行Python文件只要按配置的快捷键或者在运行菜单上点“RunPython”
即可。
注意不要跟已有的快捷键冲突。查看已有的快捷键,可以点击"运行"菜单->"管理快捷键"按钮 查看
3. 命令解释【1】
cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
cmd /k python: 表示打开Cmd窗口,运行/k后边的命令,并且执行完毕后保留窗口。此处即python(因为在环境变量里已经添加了Python目录,所以这里不用指定Python程序的目录,就可直接找
到)
$(FULL_CURRENT_PATH) :Notepad++的宏定义,表示当前文件的完整路径。
& 用来连接多条命令
ECHO:换行
PAUSE: 表示运行结束后暂停(cmd中显示“请按任意键继续. . .”),等待一个按键继续
EXIT: 表示“按任意键继续. . .”后,关闭命令行窗口。
4. Notepad++宏定义的含义
可以参考Notepad++自带的帮助文档。
点击“?”菜单->“帮助”按钮(或者Shift+F1快捷键)->在打开的页面中点击右面的“Commands”,可以查看到各个宏定义的含义
复制代码
FULL_CURRENT_PATH
the fully qualified path to the current document.
CURRENT_DIRECTORY
The directory the current document resides in.
FILE_NAME
The filename of the document, without the directory.
NAME_PART
The filename without the extension.
EXT_PART
The extension of the current document.
NPP_DIRECTORY
The directory that contains the notepad++.exe executable that is currently running.
CURRENT_WORD
The currently selected text in the document.
CURRENT_LINE
The current line number that is selected in the document (0 based index, the first line is 0).
CURRENT_COLUMN
The current column the cursor resides in (0 based index, the first position on the line is 0).
复制代码
5 测试
创建一个测试文件,保存为DemoRun.py。
import platform;
print "Just for demo how to do python development under windows:";
print "Current python version info is %s"%(platform.python_version());
print "uname=",platform.uname();
Ctrl + F5执行,看是否能输出结果。
3. 问题
1. 当Python脚本需要创建文件或目录时,执行脚本,发现在脚本所在的目录下没有生成的文件或目录,查找一下的话,发现生成的文件在Notepad++的安装目录下。比如下面的脚本,想在脚本所在
的目录下,创建一个子目录“testdir”
复制代码
# create directory
import os
CurPath = os.path.abspath('.')
print CurPath
JoinPath = os.path.join( CurPath, 'testdir')
print JoinPath
os.mkdir( JoinPath )
复制代码
发现在脚本所在的目录下没有,而在“D:\Program Files (x86)\Notepad++”下却生成了一个“testdir”文件夹。
2. 原因何在呢?文章【2】做了一个小测试,使用下面的代码打印当前工作目录:
import os
print os.getcwd()
显示的是Notepad++的安装目录,因此确定是工作目录的问题。改进后的命令行是:
cmd /k cd "(CURRENT_DIRECTORY)" & python "(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
该命令行的含义是:首先cd 到该要执行的Python脚本所在的目录(CURRENT_DIRECTORY),在该目录下,执行 python程序,这样工作目录就由默认的Notepad++的安装目录,改为了该要执行的
Python脚本所在的目录。
3. 修改命令行
想要将原来的命令行修改为改进后的命令行,发现Notepad++并没有提供修改的功能
cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
->
cmd /k cd "(CURRENT_DIRECTORY)" & python "(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
想要修改,有2种办法
(1)点击"运行"菜单->"管理快捷键"按钮后,删除原来的快捷键,然后重新建一遍。
(2)修改shortcuts.xml。注意shortcuts.xml的路径有可能为“C:\Users\XXX\AppData\Roaming\Notepad++”下的shortcuts.xml,而并不是“D:\Program Files (x86)\Notepad++”下的
shortcuts.xml
4. 但是这样还有一个问题,就是如果Python脚本所在的目录和Notepad++的安装目录不再一个分区,那么改进后的命令行失效。比如,Notepad++安装在D盘,要执行的脚本在E盘,那么运行下面
的测试脚本:
import os
print os.getcwd()
打印当前工作目录仍旧是“D:\Program Files (x86)\Notepad++”。
这个问题没有解决。
Reference:
【1】如何在Notepad++中配置Python开发环境(http://glorywu.com/如何在Notepad++中配置Python开发环境/)
【2】Notepad++搭建Python开发环境的一个小改进(http://www.cnblogs.com/tt-0411/archive/2011/10/30/2229544.html)
http://www.cnblogs.com/zhcncn/p/3969419.html
========