40

如何为 Notepad++ 配置 NppExec 插件?

我希望 NppExec 编译我的 C 文件、运行它们并显示它们的输出,所有这些都在 Notepad++ 中。

4

11 回答 11

45

这是 Perl 的过程,只需将其改编为 C。希望它有所帮助。

  • 打开记事本++
  • 键入F6以打开执行窗口
  • 编写以下命令:
    • npp_save<-- 保存当前文档
    • CD $(CURRENT_DIRECTORY)<-- 移动到当前目录
    • perl.exe -c -w "$(FILE_NAME)"<-- 执行命令 perl.exe -c -w ,例如:perl.exe -c -w test.pl(-c = compile -w = warnings)
  • 点击保存
  • 输入一个名称来保存脚本(例如“Perl Compile”)
  • 转到菜单插件-> Nppexec ->高级选项->菜单项(注意:这是在“菜单项 *”下方)
  • 在标题为“关联脚本”的组合框中,选择最近在其下拉菜单中创建的脚本,选择添加/修改并单击确定->确定
  • 重启记事本++
  • 转到设置 -> 快捷方式映射器 -> 插件 -> 搜索脚本名称
  • 选择要使用的快捷方式(即Ctrl+ 1),点击确定
  • 验证您现在是否可以运行使用所选快捷方式创建的脚本。
于 2010-03-26T21:00:01.973 回答
27

对于 perl,

要运行 perl 脚本,请使用此过程

要求:您需要设置类路径变量。

转到插件-> NppExec- >执行

在命令部分,输入这个

cmd /c cd "$(CURRENT_DIRECTORY)"&&"$(FULL_CURRENT_PATH)"

保存它并给它命名。(我给 Perl)。

OK。如果编辑器要重新启动,请先执行。

现在按下F6,您将在下方找到您的 Perl 脚本输出。

注意:单独文件不需要单独的配置。

对于 java

要求:您需要设置JAVA_HOMEclasspath变量。

转到插件-> NppExec-> 执行

在命令部分,输入这个

cmd /c cd "$(CURRENT_DIRECTORY)"&&"%JAVA_HOME%\bin\javac""$(FULL_CURRENT_PATH)"

*.class将在当前文件夹的位置生成;尽管有编程错误。

对于 Python,

使用这个插件Python 插件

转到插件-> NppExec-> 在 Python 交互中运行文件

通过使用它,您可以在 Notepad++ 中运行脚本。

对于 PHP,

无需其他配置,只需下载此插件即可。

PHP插件 并完成。

对于 C 语言,

要求:您需要设置类路径变量。
我正在使用 MinGW 编译器。

转到插件-> NppExec-> 执行

把这个粘贴到那里

   NPP_SAVE

   CD $(CURRENT_DIRECTORY)

   C:\MinGW32\bin\gcc.exe -g "$(FILE_NAME)" 

   a

(记得给上面四行单独的行。)

现在,给出名称,保存并确定。

重启 Npp。

转到插件-> NppExec-> 高级选项。

菜单项-> 项目名称(我有 C 编译器)

关联脚本-> 从组合框中选择上述脚本名称。

单击添加/修改和确定。

现在分配第一个答案中给出的快捷键。

F6并选择脚本或只按快捷方式(我分配了Ctrl+ 2)。

对于 C++,

只改变 g++ 而不是gccand*.cpp而不是 on*.c

就是这样!!

于 2012-09-20T12:15:45.033 回答
5

这是编译和运行 java 源代码的代码: - 打开 Notepadd++ -按 F6 - 粘贴此代码

npp_save <-- Saves the current document
CD $(CURRENT_DIRECTORY) <-- Moves to the current directory
javac "$(FILE_NAME)" <-- compiles your file named *.java
java "$(NAME_PART)" <-- executes the program

必须为此设置 Java Classpath 变量...

另一个有用的网站:http ://www.scribd.com/doc/52238931/Notepad-Tutorial-Compile-and-Run-Java-Program

于 2011-12-03T22:14:32.707 回答
4

我个人使用以下批处理脚本,可用于多种类型的文件(C、makefile、Perl 脚本、shell 脚本、批处理...)。

如何使用它:

  1. 安装NppExec插件
  2. 将此文件存储在名为runNcompile.bat的 Notepad++ 用户目录 ( %APPDATA%/Notepad++ ) 中(但您可以随意命名)。
  3. 在 NppExec 菜单中检查选项“Follow $(CURRENT_DIRECTORY)”时
  4. 添加一个NppExec命令"$(SYS.APPDATA)\Notepad++\runNcompile.bat" "$(FULL_CURRENT_PATH)"(可选,您可以npp_save在第一行放置文件以在运行之前保存文件)
  5. 分配一个特殊的键(我重新分配F12)来启动脚本。

此页面非常清楚地解释了全球流程:https ://www.thecrazyprogrammer.com/2015/08/configure-notepad-to-run-c-cpp-and-java-programs.html

希望它可以帮助

  @echo off

REM ----------------------
REM ----- ARGUMENTS ------
REM ----------------------
set FPATH=%~1
set FILE=%~n1
set DIR=%~dp1
set EXTENSION=%~x1
REM ----------------------



REM ----------------------
REM ------- CONFIG -------
REM ----------------------
REM C Compiler (gcc.exe or cl.exe) + options + object extension
set CL_compilo=gcc.exe
set CFLAGS=-c "%FPATH%"
set OBJ_Ext=o
REM GNU make
set GNU_make=make.exe
REM ----------------------




IF /I "%FILE%"==Makefile GOTO _MAKEFILE
IF /I %EXTENSION%==.bat GOTO _BAT
IF /I %EXTENSION%==.sh GOTO _SH
IF /I %EXTENSION%==.pl GOTO _PL
IF /I %EXTENSION%==.tcl GOTO _TCL
IF /I %EXTENSION%==.c GOTO _C
IF /I %EXTENSION%==.mak GOTO _MAKEFILE
IF /I %EXTENSION%==.mk GOTO _MAKEFILE
IF /I %EXTENSION%==.html GOTO _HTML
echo Format of argument (%FPATH%) not supported!
GOTO END


REM Batch shell files (bat)
:_BAT
call "%FPATH%"
goto END


REM Linux shell scripts (sh)
:_SH
call sh.exe "%FPATH%"
goto END


REM Perl Script files (pl)
:_PL
call perl.exe "%FPATH%"
goto END


REM Tcl Script files (tcl)
:_TCL
call tclsh.exe "%FPATH%"
goto END


REM Compile C Source files (C)
:_C
REM MAKEFILES...
IF EXIST "%DIR%Makefile" ( cd "%DIR%" )
IF EXIST "%DIR%../Makefile" ( cd "%DIR%/.." )
IF EXIST "%DIR%../../Makefile" ( cd "%DIR%/../.." )
IF EXIST "Makefile" ( 
    call %GNU_make% all
    goto END
)
REM COMPIL...
echo -%CL_compilo% %CFLAGS%-
call %CL_compilo% %CFLAGS%
IF %ERRORLEVEL% EQU 0 (
    echo -%CL_compilo% -o"%DIR%%FILE%.exe" "%DIR%%FILE%.%OBJ_Ext%"-
    call %CL_compilo% -o"%DIR%%FILE%.exe" "%DIR%%FILE%.%OBJ_Ext%" 
)
IF %ERRORLEVEL% EQU 0 (del "%DIR%%FILE%.%OBJ_Ext%")
goto END


REM Open HTML files in web browser (html and htm)
:_HTML
start /max /wait %FPATH%
goto END

REM ... END ...
:END
echo.
IF /I "%2" == "-pause" pause
于 2013-07-26T06:46:47.667 回答
2

我制作了一个强大的脚本,它将:

- 编译和运行多语言代码,如CC++、和. - 在编译代码之前删除旧的可执行文件。 - 仅在编译成功后才运行代码。 JavaPythonC#

我还制作了一个非常适合新手的教程将 Notepad++ 转换为强大的多语言 IDE,其中包含一些额外的脚本,例如仅运行或编译代码、在 CMD 中运行代码等。

npp_console 1               //open console
NPP_CONSOLE -               //disable output of commands
npe_console m-              //disable unnecessary output
con_colour bg= 191919 fg= F5F5F5    //set console colors
npp_save                //save the file
cd $(CURRENT_DIRECTORY)         //follow current directory
NPP_CONSOLE +               //enable output
IF $(EXT_PART)==.c GOTO C       //if .c file goto C label
IF $(EXT_PART)==.cpp GOTO CPP       //if .cpp file goto CPP label
IF $(EXT_PART)==.java GOTO JAVA     //if .java file goto JAVA label
IF $(EXT_PART)==.cs GOTO C#     //if .cs file goto C# label
IF $(EXT_PART)==.py GOTO PYTHON     //if .py file goto PYTHON label
echo FILE SAVED
GOTO EXITSCRIPT             // else treat it as a text file and goto EXITSCRIPT
//C label
:C                                                                  
cmd /C if exist "$(NAME_PART).exe" cmd /c del "$(NAME_PART).exe"//delete existing executable file if exists
gcc "$(FILE_NAME)" -o $(NAME_PART)              //compile file
IF $(EXITCODE) != 0 GOTO EXITSCRIPT             //if any compilation error then abort
echo C CODE COMPILED SUCCESSFULLY:              //print message on console
$(NAME_PART)                                            //run file in cmd, set color to green and pause cmd after output
GOTO EXITSCRIPT                         //finally exits

:CPP
cmd /C if exist "$(NAME_PART).exe" cmd /c del "$(NAME_PART).exe"
g++ "$(FILE_NAME)" -o $(NAME_PART)
IF $(EXITCODE) != 0 GOTO EXITSCRIPT
echo C++ CODE COMPILED SUCCESSFULLY:
$(NAME_PART)
GOTO EXITSCRIPT

:JAVA
cmd /C if exist "$(NAME_PART).class" cmd /c del "$(NAME_PART).class"
javac $(FILE_NAME) -Xlint
IF $(EXITCODE) != 0 GOTO EXITSCRIPT
echo JAVA CODE COMPILED SUCCESSFULLY:
java $(NAME_PART)
GOTO EXITSCRIPT

:C#
cmd /C if exist "$(NAME_PART).exe" cmd /c del "$(NAME_PART).exe"
csc $(FILE_NAME)
IF $(EXITCODE) != 0 GOTO EXITSCRIPT
echo C# CODE COMPILED SUCCESSFULLY:
$(NAME_PART)
GOTO EXITSCRIPT

:PYTHON
echo RUNNING PYTHON SCRIPT IN CMD:              //python is a script so no need to compile
python $(NAME_PART).py
GOTO EXITSCRIPT

:EXITSCRIPT
// that's all, folks!
于 2015-09-10T20:31:31.800 回答
2

我推荐我的解决方案。我的情况:win10 上的 g++(cygwin)

我的解决方案:编写一个 .bat 批处理文件并在该批处理中执行编译器。编译Cpp.bat

@echo off  
set PATH=%PATH%;C:\cygwin64\bin\
rm %~n1.exe
c++.exe -g %~dpnx1 -o %~dpn1.exe
%~n1.exe  

安慰:

NPP_EXEC: "runCpp"
NPP_SAVE: E:\hw.cpp
CD: E:\
Current directory: E:\
cmd /c C:\cygwin64\bin\compileCpp.bat "hw.cpp"
Process started >>>
Hello World<<< Process finished. (Exit code 0)
================ READY ================
于 2017-02-26T21:12:42.590 回答
1

即使不使用 nppexec 插件,您实际上也可以编译和运行 C 代码。如果你使用 MingW32 C 编译器,C++ 语言使用 g++,C 语言使用 gcc。

将此代码粘贴到 notepad++ 运行部分

cmd /k cd $(CURRENT_DIRECTORY) && gcc $(FILE_NAME) -o $(NAME_PART).exe  && $(NAME_PART).exe && pause

它会将您的 C 代码编译成 exe 并立即运行。这就像 CodeBlock 中的构建和运行功能。所有这些都是用一些 cmd 知识完成的。

解释:

  1. cmd /k 用于测试。
  2. cd $(CURRENT_DIRECTORY)
    • 将目录更改为文件所在的位置
  3. && 运算符
    • 将您的命令链接在一行中
  4. gcc $(FILE_NAME)
    • 使用 GCC 编译 File 及其文件扩展名。
  5. -o $(NAME_PART).exe
    • 此标志允许您选择输出文件名。$(NAME_PART) 不包括文件扩展名。
  6. $(NAME_PART).exe
    • 仅此一项即可运行您的程序
  7. 暂停
    • 此命令用于在文件执行后保持控制台打开。

有关记事本++ 命令的更多信息,请转到

http://docs.notepad-plus-plus.org/index.php/External_Programs

于 2016-01-10T15:38:20.520 回答
1

我知道这是一个老问题,但我仍然将其添加为答案(希望它会增加整体答案)。我最近完成了这些步骤,并提出了这个步骤。

如何在notepad++中编译和运行c程序

我为此创建了一个分步视频教程。(正如它所说,视频值一万字!)

如何在 Notepad++ 中编译和运行 C 代码

  • 00:58​安装 MinGW(极简 GNU for Windows)
  • 01:42​ 在 MinGW 中安装 GCC、GCC++ 编译器
  • 03:00​ 在 PATH 中为 MinGW 的 gcc.exe 设置环境变量
  • 05:20​ 安装 NPPExec notepad++ 插件来执行 C 程序。
  • 05:50​ 为 Notepad++ NPPExec 插件创建 C 编译器脚本
  • 06:48​ 在 NPPExec 中为 C 编译器创建一个菜单项
  • 08:00​ 从 Notepad++ 测试运行 C 代码
  • 09:55​ 创建用于从 Notepad++ 编译和运行 C 程序的键盘快捷键(可选)

希望它对正在寻找分步教程的人有用。

与往常一样,我拥有这个 YouTube 频道的免责声明。这听起来像是自我推销,但我希望我已经在这个答案中为刚开始回答这个问题的人提供了足够的信息。谢谢你。

于 2021-03-08T17:24:57.903 回答
0

使用 CMD 反编译:

如果这些不起作用,试试这个:

cmd /K g++ "$(FULL_CURRENT_PATH)" -o "$(FULL_CURRENT_PATH).exe

它应该保存您获取文件的位置(例如:如果我从桌面获取文件,它将在桌面上另存为 .exe)

我不知道它是否适用于 64 位,所以你可以试试!

于 2013-08-22T18:57:22.247 回答
0

如果您的编译器路径在 Windows PATH-var 中注册,我只写了这个来执行编译和运行文件,加上 windowsmashines 上的 fileinputname = fileoutputname:

NPP_SAVE
cd "$(CURRENT_DIRECTORY)"
set LEN~ strrfind $(FILE_NAME) .
set EXENAME ~ substr 0 $(LEN) $(FILE_NAME)
set $(EXENAME) = $(EXENAME).exe
c++.exe "$(FILE_NAME)" -o "$(EXENAME)"
"$(EXENAME)"

如果您将 c++.exe 更改为您想要的,则应该适用于任何编译器

于 2013-12-13T14:57:32.167 回答
0

在 Windows 中,如果您使用的是 MinGW 的可移植版本,则必须设置路径变量,否则您将遇到错误 libintl-8.dll not found。我的路径是 C:\Program Files (x86)\CodeBlocks\MinGW\bin

于 2017-09-25T19:15:18.810 回答