如何为记事本++配置NPPEXEC插件?

我希望nppexec在记事本++中编译我的C文件,运行它们并显示其输出。

有帮助吗?

解决方案

这是Perl的程序,只需将其改编成C. Hope它会有所帮助。

  • 打开记事本++
  • 键入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 =警告)
  • 单击保存
  • 输入一个名称以保存脚本(即Perl Compile)
  • 转到菜单插件 - > nppexec->高级选项 - >菜单项(注意:这在'菜单项 *')下方
  • 在名为“关联脚本”的Commobox中,选择了在其下拉菜单中创建的最近创建的脚本,选择“添加/修改”,然后单击OK->确定
  • 重新启动记事本++
  • 转到设置 - >快捷映射器 - >插件 - >搜索脚本名称
  • 选择要使用的快捷方式(IE CTRL + 1),单击确定
  • 验证您现在可以使用所选快捷方式运行创建的脚本。

其他提示

对于Perl,

运行perl脚本使用此过程

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

插件->nppexec->执行

在命令部分,输入此

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

保存并给它起名字。(我给Perl)。

好的. 。如果编辑想重新启动,请先进行。

现在按 F6 您会在下面找到perl脚本输出。

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

对于Java,

要求:您需要设置 JAVA_HOMEclasspath 多变的。

转到插件 - > nppexec->执行

在命令部分,输入此

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

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

对于Python,

使用此插件 Python插件

转到plugins-> nppexec->在Python Intercative中运行文件

通过使用此功能,您可以在记事本++中运行脚本。

对于PHP,

无需不同的配置,只需下载此插件即可。

PHP插件 并做了。

对于C语言,

要求:您需要设置ClassPath变量。
我正在使用mingw编译器。

转到插件 - > nppexec->执行

将其粘贴到那里

   NPP_SAVE

   CD $(CURRENT_DIRECTORY)

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

   a

(请记住给出以上四行分开的行。)

现在,给名称,保存和确定。

重新启动NPP。

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

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

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

单击“添加/修改”,并单击。

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

F6 然后选择脚本或仅按快捷方式(我分配了 Ctrl+2).

对于C ++,

仅更改G ++而不是 gcc*.cpp 而是继续 *.c

而已!!

这是用于组合和运行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 Class Path变量...

另一个有用的网站: http://www.scribd.com/doc/522238931/notepad-tutorial-compile-compile-and-run-java-program

您可以在nppexec上使用大量信息检查以下页面。

我个人使用以下批处理脚本,这些脚本可用于许多类型的文件(C,MakeFile,Perl脚本,Shell Scripts,Batch等)。我将此文件存储在名称runncompile.bat中的记事本++用户目录(%appData%/记事本++)中。

然后我使用nppexec命令 "$(SYS.APPDATA)\Notepad++\runNcompile.bat" "$(FULL_CURRENT_PATH)" 在nppexec菜单中检查选项“关注$(Current_Directory)”时。为了完成,我分配了一个特殊键(我重新分配F12)来启动脚本。

希望它能有所帮助

  @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

即使不使用NPPEXEC插件,您实际上也可以编译和运行C代码。如果使用MingW32 C编译器,请使用G ++作为C ++语言,而GCC用于C语言。

将此代码粘贴到记事本++运行部分

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与文件扩展名一起编译文件。
  5. -o $(name_part).exe
    • 此标志允许您选择输出文件名。 $(name_part)不包括文件扩展名。
  6. $(name_part).exe
    • 仅此一次就可以运行您的程序
  7. 暂停
    • 执行文件后,该命令用于保持控制台打开。

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

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

我制作了一个功能强大的脚本,该脚本将:

- 计算和运行多语言代码 C, C++, Java, PythonC#.
- 在编译代码之前删除旧的可执行文件。
- 仅根据代码成功地运行代码。

我也做了一个非常友善的教程 将记事本++转换为强大的多语言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!

我建议我的解决方案。我的情况:Win10上的G ++(Cygwin)

我的解决方案:在该批处理中编写.bat批处理文件并执行编译器。 compilecpp.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 ================

用CMD编译:

如果这些不起作用,请尝试以下操作:

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

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

我不知道它是否在64位上有效,因此您可以尝试!

我只是写了这本书以执行编译并在WindowsMashines上的FileInputName之后执行并运行文件,如果您的编译器已在Windows Path-var中注册:

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 ++。

在Windows中,如果您使用的是MINGW的便携式版本,则必须设置路径变量,否则找不到错误libintl-8.dll。我的路径是c: program文件(x86) codeblocks mingw bin

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top