Comment compiler et exécuter des fichiers C à partir de Notepad ++ en utilisant le plugin NppExec?

StackOverflow https://stackoverflow.com/questions/2506400

  •  22-09-2019
  •  | 
  •  

Question

Comment puis-je configurer le plugin NppExec pour Notepad ++?

Je voudrais NppExec compiler mes fichiers C, les exécuter et montrer leur sortie, le tout dans Notepad ++.

Était-ce utile?

La solution

Voici une procédure pour perl, adapter juste pour C. Hope ça aide.

  • Ouvrir Notepad ++
  • Type F6 pour ouvrir la fenêtre exécuter
  • Écrivez les commandes suivantes:
    • npp_save <- Enregistre le document en cours
    • CD $(CURRENT_DIRECTORY) <- Se déplace vers le répertoire courant
    • perl.exe -c -w "$(FILE_NAME)" <- exécute la commande perl.exe -c -w, par exemple: perl.exe -c -w test.pl (-c = compiler des avertissements -w =)
  • Cliquez sur Enregistrer
  • Tapez un nom pour enregistrer le script (Perl-à-dire Compile)
  • Aller au menu Plugins -> Nppexec -> Options avancées -> Menu Item (Note: ceci est juste en dessous 'des éléments de menu *')
  • Dans la liste déroulante intitulée « Script associés » sélectionnez le script créé récemment dans son menu déroulant, sélectionnez "Ajouter / Modifier et cliquez sur OK -> ok
  • Redémarrez Notepad ++
  • Allez dans Paramètres -> Raccourci mappeur -> Plugins -> recherche le nom du script
  • Sélectionnez le raccourci à utiliser (c.-à-ctrl + 1), cliquez sur OK
  • Vérifiez que vous pouvez exécuter le script créé avec le raccourci sélectionné.

Autres conseils

Pour perl,

Pour exécuter l'utilisation de script perl cette procédure

Exigence: Vous devez configurer la variable classpath.

Aller à plugins -> NppExec -> Exécuter

Dans la section de commande, tapez cette

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

Enregistrer et donner nom. (Je donne Perl).

Appuyez sur OK . Si l'éditeur veut redémarrer, faire d'abord.

Appuyez maintenant sur F6 et vous trouverez votre sortie de script Perl sur le côté ci-dessous.

Note: Pas nécessaire. Config séparé pour les fichiers séparés

Pour java ,

Exigence: Vous devez JAVA_HOME de configuration et variable classpath.

Aller à plugins-> NppExec-> Exécuter

Dans la section de commande, tapez cette

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

votre *.class va générer sur l'emplacement du dossier en cours; en dépit d'une erreur de programmation.

Pour Python,

Utilisez ce plugin Python Plugin

Aller à plugins-> NppExec-> Exécuter fichier en Python intercative

En utilisant cela, vous pouvez exécuter des scripts dans les Notepad ++.

Pour PHP,

Pas besoin de configuration différente il suffit de télécharger ce plugin.

PHP Plugin et fait.

Pour le langage C,

Exigence: Vous devez configurer la variable classpath
.                 J'utilise le compilateur MinGW.

Aller à plugins-> NppExec-> Exécuter

coller dans il

   NPP_SAVE

   CD $(CURRENT_DIRECTORY)

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

   a

(Rappelez-vous de donner plus de quatre lignes des lignes distinctes.)

Maintenant, donnez le nom, enregistrer et ok.

Redémarrer Npp.

Aller à plugins-> NppExec-> Options avancées.

Menu item-> Nom de l'article (je compilateur C)

Script- Associated> de zone de liste déroulante sélectionnez le nom ci-dessus script.

Cliquez sur Ajouter / modifier et Ok.

assigner une touche de raccourci comme indiqué dans la première réponse.

Appuyez sur F6 et sélectionnez le script ou tout simplement raccourci de presse (I affecté Ctrl + 2 ).

Pour C ++,

Ne changez g ++ au lieu de gcc et *.cpp plutôt sur *.c

Ca y est !!

Voici le code pour compling et exécuter du code source java: - Ouvrir Notepadd ++ - Hit 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éfini pour cette ...

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

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

j'utilise le script batch suivant qui peut être utilisé sur de nombreux types de fichiers (C, makefile, scripts Perl, scripts shell, batch, ...). Je stocke ce fichier dans le Notepad ++ répertoire utilisateur (% APPDATA% / Bloc-notes ++) sous le nom runNcompile.bat.

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

Je 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

Vous pouvez réellement compiler et code d'exécution C même sans l'utilisation de plugins nppexec. Si vous utilisez le compilateur C MingW32, utiliser g ++ pour le langage C ++ et gcc pour le langage C.

Collez ce code dans le bloc-notes ++ section exécuter

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

Il compiler votre code C en exe et exécuter immédiatement. Il est comme une caractéristique de construction et dans l'exécution codeblock. Tout cela est fait avec une certaine connaissance cmd.

Explication:

  1. cmd / k est utilisé pour les tests.
  2. cd $ (répertoire-courant)
    • Répertoire des changements à l'endroit où se trouve le fichier
  3. && opérateurs
    • à la chaîne vos commandes en une seule ligne
  4. gcc $ (FILE_NAME)
    • utiliser GCC pour compiler fichier avec son extension de fichier.
  5. -o $ (NAME_PART) .exe
    • ce drapeau vous permet de choisir votre nom de fichier de sortie. $ (NAME_PART) ne comprend pas l'extension de fichier.
  6. $ (NAME_PART) .exe
    • ce seul fonctionne votre programme
  7. pause
    • cette commande est utilisée pour garder votre console ouverte après le fichier a été exécuté.

Pour plus d'informations sur notepad ++ commandes, allez à

  

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

Je l'ai fait un seul script powerfull qui:

-compile et exécuter du code multi langue comme C, C++, Java, Python et C#.
L'ancien exécutable -DELETE avant de compiler le code.
-Seulement exécuter le code si elle est compilé avec succès.

Je l'ai aussi fait un très Noob tutoriel convivial Transformer Notepad ++ à puissant multi langues IDE qui contient quelques scripts supplémentaires comme seulement exécuter ou compiler le code, exécuter du code intérieur 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!

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

Ma solution: Ecrire 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 ================

décompiler avec CMD:

Si ceux ne marche pas, essayez ceci:

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

Il doit enregistrer où vous avez obtenu le fichier (Exemple: Si je suis arrivé fichier de bureau, il sera enregistré comme .exe sur le bureau)

Je ne sais pas si cela fonctionne sur 64 bits si vous ne pouvez donc l'essayer!

J'ai écrit tout ceci pour exécuter la compilation et exécuter le fichier après, plus fileinputname = fileoutputname sur windowsmashines, si votre compilerpath est Immatriculée au-var fenêtres PATH:

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 changez c ++. Exe à ce que vous voulez

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top