Notepad++ NppExec插件的使用
目录
- 一. 简介
- 二. 安装
- 三. 常用脚本函数
- 四. 自定义脚本
- 4.1 运行代码的脚本
- 4.1.1 代码本体
- 4.1.2 脚本与菜单项目关联
- 4.1.3 运行脚本
- 4.2 调用外部程序
- 4.2.1 脚本介绍
- 4.2.3 效果
- 五. 注意事项
一. 简介
🔷NppExec是一款可以让Notepad++直接执行命令、脚本、甚至编译运行程序的插件。
该插件内置了控制台窗口,还提供了脚本执行引擎。
🔷核心功能
- 在编辑器里直接运行程序。简易程序的话,直接在Notepad++中即可开发运行
- 运行
PowerShell/ CMD 命令 - 执行
Python/ Java / C 编译 - 调用自己的脚本
- 运行
- 提供了控制台窗口
- 显示程序输出
- 支持输入
- 可以抓取输出结果
- 👍支持脚本
Notepad++对宏的支持较弱,NppExec插件的脚本功能可以弥补该不足- 可以一键运行当前文件
二. 安装
🔷通过插件市场安装之后,插件界面如下图所示。
Execute NppExec Script:执行脚本Advanced Options:高级设置Help/Docs:参考文档,提供了脚本的使用说明
三. 常用脚本函数
- 获取系统临时文件夹
settmpdir=$(SYS.TEMP)echo$(tmpdir)- 弹出框,弹出选中的文本
messagebox"$(SELECTED_TEXT)":"提示"- 输入框,输入之后的值会存储在
$(INPUT)变量中
inputbox"message":"默认值"echo$(INPUT)四. 自定义脚本
4.1 运行代码的脚本
4.1.1 代码本体
NPP_SAVE // 移动到当前目录下cd$(CURRENT_DIRECTORY)// 获取文件后缀名, 并赋值setEXT=$(EXT_PART)if"$(EXT)"==".js"GOTO JSif"$(EXT)"==".py"GOTO PYTHONif"$(EXT)"==".php"GOTO PHPif"$(EXT)"==".java"GOTO JAVAecho"不支持的文件类型:$(EXT)"GOTO EXIT // 运行js :JSechoRunning JavaScript...node"$(FULL_CURRENT_PATH)"GOTO EXIT // 运行Python :PYTHONechoRunning Python... python"$(FULL_CURRENT_PATH)"GOTO EXIT // 运行PHP :PHPechoRunning PHP... php"$(FULL_CURRENT_PATH)"GOTO EXIT // 运行Java :JAVAechoCompiling Java... javac-encodingUTF-8"$(FILE_NAME)"if$(EXITCODE)!=0GOTO EXITechoRunning Java...java-Dfile.encoding=UTF-8"$(NAME_PART)"GOTO EXIT :EXITechoDone.4.1.2 脚本与菜单项目关联
🔷将代码放到Execute NppExec Script中后,点击保存,然后给脚本取名之后,再次保存
🔷将脚本代码与菜单项目关联
4.1.3 运行脚本
🔷通过宏菜单运行脚本,程序的执行结果会输出到控制台上。
🔷还可以将脚本绑定到右键菜单上来运行。
4.2 调用外部程序
4.2.1 脚本介绍
🧐由于在3.1章节介绍了如何将脚本绑定到菜单上,此处只介绍代码
npp_console off:关闭控制台显示,不关闭的话,脚本执行之后,控制台会自动打开npe_console v+:开启控制台增强模式- 用于将子线程的输出值保存到
$(OUTPUT)变量中 - 如果不开启,无法接收
powershell的输出值
- 用于将子线程的输出值保存到
sel_settext:用于替换在Notepad++中选中的文本
npp_console off npe_console v+ // 调用外部脚本 powershell.exe-NoProfile-ExecutionPolicyRemoteSigned-File"E:\My_Project\PowerShellStudy\获取Mac地址.ps1"// 将子线程的输出值保存到变量中setlocalcontent="$(OUTPUT)"// 替换选中的文本 sel_settext"$(content)"获取Mac地址.ps1
$MacAddress=Get-CimInstanceWin32_NetworkAdapterConfiguration|Where-Object{$_.MACAddress-ne$null}|Select-ObjectDescription,MACAddressWrite-Output$($MacAddress|Format-Table-AutoSize)4.2.3 效果
五. 注意事项
🔷当有多条脚本代码时,新书写代码时,需要使用trmporary script面板书写,否则会将已经保存的代码给覆盖掉。
🔷保存的代码存储在当前用户的AppData文件夹中。
