当前位置: 首页 > news >正文

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文件夹中。

http://www.jsqmd.com/news/754592/

相关文章:

  • Pappus定理的隐藏玩法:在计算机图形学与CV中意想不到的应用
  • Python通达信数据获取实战指南:高效股票行情分析与量化投资
  • LLM输入长度优化:openclaw-token-optimizer 实战指南
  • 视频扩散模型的长时序优化与实时生成技术
  • 别再忍受RuoYi默认菜单了!手把手教你用SCSS和Vue自定义一套科技感侧边栏
  • 语言模型推理能力提升:错误链式思维数据的价值与应用
  • Vivado里时序报告总飘红?别慌,这5个实战技巧帮你搞定FPGA时序收敛
  • 0102华夏之光永存:国产光刻机突围全景:高端光刻胶与特种耗材(B级 短期优先突破)
  • Orchard-Kit:现代Web全栈开发套件的架构解析与实践指南
  • PowerToys Run集成ChatGPT:打造Windows系统级AI助手
  • ESP32-C6开发板物联网与HMI应用实战解析
  • 利用快马AI十分钟搭建mobaxterm网页版原型,快速验证远程终端设计
  • 开源GLM免费API服务部署指南:从原理到实战应用
  • 华硕笔记本终极性能管家:G-Helper完整指南
  • 程序员福利:Wall开源照片墙的Docker化部署与二次开发指南(SpringBoot+Vue)
  • 深度解析Switch大气层系统:从架构设计到性能优化的完整指南
  • 蓝牙开发避坑指南:从‘属性表’设计到‘特征值’读写,我的ESP32踩坑实录
  • STM32 IIC驱动AP3216C环境传感器,手把手教你实现手机同款自动亮度与接近感应
  • 从CSS注入到Manifest V3:构建高效浏览器扩展的实战指南
  • Proxmox VE Helper-Scripts:一键自动化部署家庭实验室与服务器应用
  • OPC UA 2026正式版已发布:C#工程师如何72小时内完成旧系统无缝升级?
  • CodeX windows app使用第三方api以及session记录还原
  • 为什么 JWT 推荐使用 RS256 非对称加密而不是 HS256 对称加密?
  • AD9910 DDS模块扫频功能深度实战:在射频测试和滤波器特性分析中的应用
  • 基于RAG与向量数据库的AI代码助手:本地化部署与工程实践
  • 构建自动化数字媒体资产库:基于yt-dlp与FFmpeg的智能归档方案
  • 3个关键突破:将普通对讲机升级为专业通信工具
  • C语言中的指针声明
  • 从LINQ to Collections:C# 13集合表达式与System.Linq.Expressions深度融合的5种高级配置路径
  • Windows 11终极清理工具:3步让你的电脑重获新生