PythonScript是Notepad++的一款插件,它可以在日常使用中辅助简化工作并拓展功能。通过使用Python脚本,你可以实现一些自动化的任务,如文件自动保存和选中单词翻译等。PythonScript插件本身是用C++和Boost.Python编译而成,因此学习和了解PythonScript可以提高我们在Python和C++应用方面的能力。
对于初学者来说,PythonScript插件是一个很好的入门学习工具。它可以帮助你提升编程能力,学习编程技巧,并了解与Windows相关的编程知识。通过使用PythonScript插件,你可以在Notepad++中结合Python和C++进行开发,扩展编辑器的功能,进行自定义的编程和脚本操作。
notepad++简介
Notepad++是一个免费开源的文本编辑器,适用于Windows操作系统。它提供了比Windows自带的记事本更多的功能和特性,使其成为程序员和编码爱好者的首选工具之一。
notepad++插件
Notepad++支持插件来扩展其功能和增强用户的编辑体验。插件可以添加额外的功能、工具和集成,使Notepad++更适合特定的编程语言或任务。以下是一些常用的Notepad++插件:
NppExec:提供了一个强大的命令行窗口,可以运行和测试代码片段,执行自定义命令等。
Compare:用于比较两个文本文件或文件夹之间的差异,并高亮显示差异部分。
Emmet:扩展HTML和CSS编辑的功能,提供快速的代码编写和自动补全。
Explorer:添加一个文件资源管理器,可以在Notepad++界面中浏览和操作文件。
XML Tools:用于处理和验证XML文档的插件,支持格式化、转换、验证、压缩等操作。
JSON Viewer:可视化显示和编辑JSON数据,提供折叠、展开、格式化等功能。
Markdown Viewer:将Markdown格式的文本实时预览为HTML,方便在编辑器中查看和编辑Markdown文档。
FTP_synchronize:用于与远程FTP服务器同步文件的插件,支持上传、下载、删除文件等操作。
Plugin Manager:用于管理和安装Notepad++插件的插件,简化了插件的安装和更新过程。
这只是一小部分常见的Notepad++插件,还有很多其他插件可以根据个人需求进行安装和使用。可以通过Notepad++的官方网站或第三方插件库来获取更多插件,并根据自己的需要选择适合的插件来增强Notepad++的功能。
PythonScript插件
PythonScript是Notepad++的一个插件,它允许在Notepad++中使用Python脚本来进行自定义编程和扩展功能。通过PythonScript插件,你可以编写和运行Python脚本,与Notepad++进行交互,并使用Python的强大功能来增强编辑器的功能。
以下是PythonScript插件的一些主要特点和功能:
Python脚本编写:可以使用Python编写脚本,在Notepad++中执行代码。你可以编写自定义的功能、自动化任务、批量处理等。
脚本扩展功能:可以通过Python编写插件,向Notepad++添加自定义功能和命令。这使得你可以根据自己的需求来扩展编辑器的功能,例如添加特定语言的语法高亮、自动完成或者其他定制功能。
与Notepad++交互:可以使用Python脚本与Notepad++进行交互,访问和修改编辑器的状态、文本内容以及运行编辑器的功能。这使得你可以根据需要对文本进行操作、自动化重复任务等。
脚本管理:提供了一个简单的界面,可以管理和加载Python脚本,包括加载、卸载脚本。
使用PythonScript插件,你可以将Notepad++打造成一个功能强大的Python集成开发环境,并根据自己的需求来灵活定制编辑器的功能。PythonScript插件自带有相关的文档和示例,可以帮助我们学习如何使用和扩展它。
安装工具
学习的前提是我们需要先安装用到的工具,包含notepad++和PythonScript插件,如下是工具的github地址
notepad++ github地址:GitHub - notepad-plus-plus/notepad-plus-plus: Notepad++ official repository
我们到release中下载相应32位安装包,目前最新版本是8.5.4,选 npp.8.5.4.Installer.exe 并下载
PythonScript github地址: GitHub - bruderstein/PythonScript: Python Script plugin for Notepad++
我们到release中下载相应32位安装包,选第一个 PythonScript_3.0.16.0.msi 并下载
1. 笔者使用windows 10,两个安装包已下载到桌面,先安装notepad++,双击安装包,然后一路默认,可以看到默认安装在C盘 ( C:Program Files (x86)\Notepad++),并且选择创建桌面快捷方式
2. 然后双击pythonscript安装包,同意协议并一路默认,可以看到插件默认安装路径也是在C:Program Files (x86)\Notepad++
3. 安装完成后,可以进到notepad++安装目录,看到pythonscript已经在notepad++的plugins目录中
4. 此时打开Notepad++提示报错,选否按钮(不要选是),退出提示
5. 进到PythonScript目录中,复制python310.dll到C:Program Files (x86)\Notepad++目录下,
6. python310.dll还依赖vcruntime140.dll,可以在计算机搜索vcruntime140.dll,复制到C:\Program Files (x86)\Notepad++目录下,如果搜索不到,可以到网上搜索下载.
7. 最后notepad++和PythonScript都安装完成,打开notepad++,可以在"插件"菜单下看到"Python Script"子菜单.可以开始愉快的开发python脚本了.
开始学习Python开发
在安装了PythonScript插件后,你可以在Notepad++的菜单栏中找到"Python Script"选项。点击该选项,会弹出一个子菜单,其中包含"Show Console"、"Scripts"和"Context-Help"等选项。
"Show Console"选项可以打开PythonScript的控制台窗口,用于显示脚本的输出和错误信息。可以看到默认输出显示了一些信息,包含python的版本(3.10.11)/tag/32 bit,以及启动花费的时间(235ms).
"Scripts"选项可以(需要键盘同时按住Ctrl键)打开PythonScript的示例脚本,其中包含了一些示例脚本代码,可以作为参考和学习的素材。
"Context-Help"选项可以打开PythonScript的官方文档,其中包含了详细的API文档和使用示例,可以帮助我们理解和学习PythonScript的各种功能和用法。
通过查阅PythonScript的文档和示例,我们可以了解插件的各种功能,学习如何编写脚本来实现我们的需求,并扩展Notepad++的功能。文档和示例提供了丰富的参考资料,可以进一步提高我们在PythonScript插件中的应用能力和编程技巧。记得在学习和使用PythonScript时,要及时保存你的工作,以免因为脚本执行错误或其他原因造成数据丢失。下面开发我们的第一个功能:自动保存文档.
自动保存文档
Notepad++默认不具备自动保存功能,当我们编辑了文档,每次都需要手动点击保存,或者使用Ctrl+S快捷键来保存文档,否者编辑器会出现显眼的红色图标,提示我们文档未保存.
我们可以使用"AutoSave" 插件,它可以每隔一段时间自动保存你的文档。可以在菜单栏中选择 "插件" -> "插件管理",然后在 "可用" 标签下找到 "AutoSave" 插件进行安装和配置。
但我们有了PythonScript,不必为了自动保存文件而专门下载一个插件,我们可以使用PythonScript来完成自动保存文件这一功能.操作步骤如下.
1.打开"插件"菜单,"Python Script"->"Scripts"->"startup",同时按住Ctrl按键,点击"startup"选项
可以看到编辑器打开了一个startup.py的python脚本
2. 我们试着在脚本最后加上如下python代码,记得保存脚本
print("hello world")
关闭notepad++,再重新打开,然后打开"插件"菜单,"Python Script"->"Show Console",可以发现控制台多了一个hello world打印,说明我们的python代码起作用了.
3.点击"Configuration...",在弹出的窗口中,将Initialisation的选项由"LAZY"改为"ATSTARTUP",后续脚本随着Notepad++打开会自动运行
4.接下来注释掉print("hello world"),加上下面这段脚本并保存,
- # print("hello world")
- import threading,os
- class AutoSave():
- def __init__(self):
- self.count = 0
- def task_run(self):
- self.count += 1
- print(self.count)
- path = notepad.getCurrentFilename()
- if os.path.exists(path):
- notepad.save()
- threading.Timer(1, self.task_run).start()
- threading.Timer(1, AutoSave().task_run).start()
这段代码实现自动保存的功能。它使用了 threading 模块来创建一个定时器,每隔 1 秒钟执行一次 task_run
方法。在 task_run
方法中,首先增加计数器 count
的值,并打印出来(如不需要,可以注释掉print语句)。然后,通过 notepad.getCurrentFilename()
获取当前文档的路径,并使用 os.path.exists()
判断该路径是否存在。如果存在,就调用 notepad.save()
来保存文档。最后,使用 threading.Timer(1, self.task_run).start()
来设置下一次自动保存的计时器。
重启notepad++,并打开PythonScript控制台,可以看到控制台每隔一秒打印出一个数字,打印出1,2,3,4...,
在修改文档后文档图标由红变蓝,说明自动保存生效了.效果如下.
自此,我们初步入门了Python Script开发Python脚本,后续可以根据需要开发更多脚本和功能,混合C++编程,来配合辅助notepad++编辑器的日常使用.