web-dev-qa-db-fra.com

Comment compiler et exécuter des fichiers à partir du Bloc-notes ++ en utilisant le plugin NppExec?

Comment configurer le plugin NppExec pour Notepad ++?

Je voudrais que NppExec compile mes fichiers C, les exécute et affiche leur sortie, tous dans Notepad ++.

34
Chris Smullian

Voici une procédure pour Perl, adaptez-la simplement pour C. J'espère que cela vous aidera.

  • Ouvrez le Bloc-notes ++
  • Tapez F6 pour ouvrir la fenêtre d'exécution
  • Ecrivez les commandes suivantes:
    • npp_save <- enregistre le document actuel
    • CD $(CURRENT_DIRECTORY) <- Va au répertoire courant
    • Perl.exe -c -w "$(FILE_NAME)" <- exécute la commande Perl.exe -c -w, exemple: Perl.exe -c -w test.pl (-c = compile -w = warnings) 
  • Cliquez sur Enregistrer
  • Tapez un nom pour enregistrer le script (par exemple, Perl Compile)
  • Allez au menu Plugins -> Nppexec -> options avancées -> élément de menu (Remarque: ceci est juste au-dessous 'éléments de menu *')
  • Dans la liste déroulante intitulée «Script associé», sélectionnez le script récemment créé dans son menu déroulant, sélectionnez «Ajouter/modifier», puis cliquez sur ok -> ok.
  • Redémarrez le Bloc-notes ++
  • Allez dans Paramètres -> Raccourci mappeur -> Plugins -> recherchez le nom du script
  • Sélectionnez le raccourci à utiliser (ctrl + 1), cliquez sur ok
  • Vérifiez que vous pouvez maintenant exécuter le script créé avec le raccourci sélectionné. 
38
David

Для Perl,

Для запуска сценария Perl используйте ту процедуру

Требование: Вам необходимо установить переменную classpath.

Перейти к плагинам -> NppExec -> Execute

В разделе команд введите этот

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

Сохраните его и дайте ему имя (я даю Perl).

НажмитеOKСли редактор хочет перезапустить, сделайте то сначала.

Теперь нажмитеF6и вы найдете вывод Perl-скрипта на нижней стороне.

Примечание. Не требуется отдельная конфигурация для отдельных файлов.

pour Java ,

Réponse: Вам необходимо установить переменную Java_HOME et classpath.

Перейти к плагинам-> NppExec--> Выполнить

В разделе команд введите этот

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

ваш *.class будет сгенерирован на месте текущей папки; несмотря на ошибку программирования.

Для Python,

Télécharger le catalogue plugin Python

Перейдите в плагины-> NppExec->> Запустить файл в Python, интерактив

Cliquez ici pour en savoir plus sur Notepad ++.

Version PHP,

Нет необходимости в другой конфигурации, просто скачайте тот плагин.

plugin PHP и готово.

Для языка C,

Требование: Вам необходимо установить переменную classpath.
Использую компилятор MinGW.

Перейти к плагинам-> NppExec--> Выполнить

вставить это туда

   NPP_SAVE

   CD $(CURRENT_DIRECTORY)

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

   a

(Не забудьте указать над четырьмя строками отдельные строки.)

Теперь дайте имя, сохраните и ок.

Перезагрузите Npp.

Зайдите в плагины-> NppExec->> Расширенные настройки.

Пункт меню-> Название элемента (у меня есть компилятор C)

Script associé-> в поле со списком выберите вышеуказанное имя скрипта.

Нажмите на Добавить/изменить и ОК.

Теперь назначьте сочетание клавиш, как указано в первом ответе.

НажмитеF6и выберите сценарий или просто нажмите ярлык (я назначилCtrl+2).

Version C++,

Менять только g ++ вместо gcc и *.cpp вместо *.c

То оно !!

24
Mayur Patil

Voici le code permettant de compléter et d'exécuter le code source Java: - Ouvrez Notepadd ++ - Appuyez sur F6 - Collez ce code.

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

La variable Java Classpath doit être définie pour cela ...

Autre site utile: http://www.scribd.com/doc/52238931/Notepad-Tutorial-Compile-and-Run-Java-Program

4
Pwdr

Vous pouvez consulter la page suivante avec beaucoup d’informations sur NppExec.

Personnellement, j'utilise le script de traitement par lots suivant pouvant être utilisé sur de nombreux types de fichiers (C, makefile, scripts Perl, scripts Shell, batch, ...). Je stocke ce fichier dans le répertoire utilisateur Notepad ++ (% APPDATA%/Notepad ++) sous le nom runNcompile.bat.

J'utilise ensuite la commande NppExec "$(SYS.APPDATA)\Notepad++\runNcompile.bat" "$(FULL_CURRENT_PATH)" en cochant l'option "Suivre $ (CURRENT_DIRECTORY)" dans le menu NppExec. Et pour finir, j'attribue une clé spéciale (j'ai réaffecté F12) pour lancer le script.

J'espère que ça peut aider

  @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
3
Jean-Francois T.

Je recommande ma solution . Ma situation: g ++ (cygwin) sur win10

Ma solution: Écrire un fichier de commandes .bat et exécuter le compilateur dans ce lot . CompileCpp.bat

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

Console:

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 ================
1
dom free

Vous pouvez réellement compiler et exécuter du code C même sans utiliser les plugins nppexec. Si vous utilisez le compilateur C MingW32, utilisez g ++ pour le langage C++ et gcc pour le langage C.

Collez ce code dans la section run de notepad ++

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

Il va compiler votre code C dans exe et l'exécuter immédiatement. C'est comme une fonctionnalité de construction et d'exécution dans CodeBlock. Tout cela est fait avec quelques connaissances cmd.

Explication:

  1. cmd/k est utilisé pour les tests.
  2. cd $ (CURRENT_DIRECTORY)
    • change le répertoire où se trouve le fichier
  3. && les opérateurs
    • d'enchaîner vos commandes sur une seule ligne
  4. gcc $ (FILE_NAME)
    • utilisez GCC pour compiler File avec son extension de fichier.
  5. -o $ (NAME_PART) .exe
    • cet indicateur vous permet de choisir votre nom de fichier de sortie. $ (NAME_PART) n'inclut pas l'extension de fichier.
  6. $ (NAME_PART) .exe
    • cela seul dirige votre programme
  7. pause
    • cette commande est utilisée pour garder votre console ouverte après l'exécution du fichier. 

Pour plus d'informations sur les commandes du bloc-notes ++, allez à 

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

1
Yuukio

J'ai créé un seul script puissant qui va: 

-Compiler et exécuter un code multilingue comme C, C++, Java, Python et C#.
- Supprimez l'ancien exécutable avant de compiler le code.
- N'exécutez le code que s'il a été compilé avec succès. 

J'ai également réalisé un didacticiel très convivial: Transformez Notepad ++ en multi-langages puissants IDE qui contient des scripts supplémentaires, tels que l'exécution ou la compilation du code uniquement, l'exécution du code dans CMD, etc.

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!
1
JerryGoyal

Dans Windows, si vous utilisez une version portable de MinGW, vous devez définir une variable de chemin ou vous avez une erreur libintl-8.dll introuvable . Mon chemin est C:\Program Files (x86)\CodeBlocks\MinGW\bin

0
Antonio Runcio

Je viens d'écrire ceci pour exécuter la compilation et exécuter le fichier après, ainsi que fileinputname = nom_put_fichier sur windowsmashines, si votre chemin de compilateur est enregistré dans la fenêtre 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)"

devrait fonctionner pour tout compilateur si vous modifiez c ++. exe en ce que vous voulez

0
Clevemayer

Décompiler avec CMD:

Si cela ne fonctionne pas, essayez ceci: 

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

Il devrait enregistrer où vous avez obtenu le fichier (Exemple: si j'ai un fichier du bureau, il sera enregistré au format .exe sur le bureau).

Je ne sais pas si cela fonctionne sur 64 bits afin que vous puissiez l'essayer!

0
Fandehalodu09