如何为Notepad ++配置NppExec插件?
我希望NppExec能够在Notepad ++中编译我的C文件,运行它们并显示它们的输出。
答案 0 :(得分:40)
这是perl的一个程序,只是为C调整它。希望它有所帮助。
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)答案 1 :(得分:24)
对于perl,
要运行perl脚本,请使用此过程
要求:您需要设置classpath变量。
转到插件 - > NppExec - > 执行
在命令部分中,键入此
cmd /c cd "$(CURRENT_DIRECTORY)"&&"$(FULL_CURRENT_PATH)"
保存并给它命名。(我给Perl)。
按确定。如果编辑想要重新启动,请先执行此操作。
现在按 F6 ,您将在下方找到您的Perl脚本输出。
注意:不需要单独配置单独的文件。
对于java ,
要求:您需要设置JAVA_HOME
和classpath
变量。
转到插件 - > NppExec->执行
在命令部分中,键入此
cmd /c cd "$(CURRENT_DIRECTORY)"&&"%JAVA_HOME%\bin\javac""$(FULL_CURRENT_PATH)"
您的*.class
将在当前文件夹的位置生成;尽管有编程错误。
对于Python,
使用此插件 Python Plugin
转到插件 - > NppExec->在Python intercative中运行文件
通过使用它,您可以在Notepad ++中运行脚本。
对于PHP,
不需要不同的配置只需下载此插件。
PHP Plugin 并完成了。
对于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 ++,
仅在gcc
上更改g +而不是*.cpp
和*.c
就是这样!!
答案 2 :(得分: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
答案 3 :(得分:3)
您可以查看以下页面,其中包含有关NppExec的大量信息。
我个人使用以下批处理脚本,可用于许多类型的文件(C,makefile,Perl脚本,shell脚本,批处理......)。我将此文件存储在名为runNcompile.bat的Notepad ++用户目录(%APPDATA%/ Notepad ++)中。
然后我在NppExec菜单中选中“Follow $(CURRENT_DIRECTORY)”选项时使用NppExec命令"$(SYS.APPDATA)\Notepad++\runNcompile.bat" "$(FULL_CURRENT_PATH)"
。为了完成,我分配了一个特殊键(我重新分配了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
答案 4 :(得分:1)
我制作了一个强大的脚本:
- 编译并运行多语言代码,例如C
,C++
,Java
,Python
和C#
。
- 在编译代码之前删除旧的可执行文件
- 如果代码编译成功,只运行代码。
我还制作了一个非常友好的教程Transform Notepad++ to Powerful Multi Languages 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!
答案 5 :(得分:1)
即使不使用nppexec插件,您也可以编译和运行C代码。如果您使用MingW32 C编译器,请使用g ++ for C ++语言和gcc for C语言。
将此代码粘贴到记事本++运行部分
cmd /k cd $(CURRENT_DIRECTORY) && gcc $(FILE_NAME) -o $(NAME_PART).exe && $(NAME_PART).exe && pause
它会将您的C代码编译成exe并立即运行。它就像CodeBlock中的构建和运行功能。所有这些都是通过一些cmd知识完成的。
说明:
有关notepad ++命令的更多信息,请转到
http://docs.notepad-plus-plus.org/index.php/External_Programs
答案 6 :(得分:1)
我推荐我的解决方案。 我的情况: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 ================
答案 7 :(得分:0)
用CMD反编译:
如果那些不起作用,试试这个:
cmd /K g++ "$(FULL_CURRENT_PATH)" -o "$(FULL_CURRENT_PATH).exe
它应该保存你获取文件的位置(例如:如果我从桌面获取文件,它将在桌面上保存为.exe)
我不知道它是否适用于64位,所以你可以尝试一下!
答案 8 :(得分: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更改为你想要的,应该适用于任何编译器
答案 9 :(得分:0)
在Windows中,如果您使用的是MinGW的可移植版本,则必须设置路径变量,否则您将找不到错误libintl-8.dll。 我的路径是C:\ Program Files(x86)\ CodeBlocks \ MinGW \ bin
答案 10 :(得分:0)
我知道这是一个老问题,但我仍然将其添加为答案(希望它增加了整体答案)。我最近完成了这些步骤并想出了这个。
我为此创建了一个分步视频教程。 (俗话说,视频值一万字!)
How to compile and run C code in Notepad++
希望它对正在寻找分步教程的人有用。
与往常一样,声明我拥有此 YouTube 频道。这听起来像是自我推销,但我希望我在这个答案中已经为开始回答这个问题的人提供了足够的信息。谢谢。