Come compilare ed eseguire file C dall'interno di Notepad ++ utilizzando NppExec plug-in?

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

  •  22-09-2019
  •  | 
  •  

Domanda

Come faccio a configurare il plugin NppExec per Notepad ++?

Vorrei NppExec per compilare i miei file C, eseguirli, e mostrare la loro produzione, il tutto in Notepad ++.

È stato utile?

Soluzione

Ecco una procedura per Perl, basta adattarlo per C. Speranza che aiuta.

  • Apri Notepad ++
  • Tipo F6 per aprire la finestra di esecuzione
  • Scrivi i seguenti comandi:
    • npp_save <- Salva il documento corrente
    • CD $(CURRENT_DIRECTORY) <- Passa alla directory corrente
    • perl.exe -c -w "$(FILE_NAME)" <- esegue il comando perl.exe -c -w, ad esempio: perl.exe -c -w test.pl (-c = compilare -w = avvertenze)
  • Fare clic su Salva
  • Digitare un nome per salvare lo script (ad esempio Perl Compile)
  • Vai al menù Plugins -> Nppexec -> Opzioni Avanzate -> Voce del menu (Nota: questo è proprio sotto 'voci di menu *')
  • Nella casella combinata dal titolo 'Associated Script' selezionare lo script creato di recente nel suo menu a discesa, selezionare 'Aggiungi / Modifica' e fare clic su OK -> OK
  • Riavvia Notepad ++
  • Vai a Impostazioni -> mapper collegamento -> Plugin -> Ricerca per il nome dello script
  • Selezionare il collegamento da utilizzare (ad esempio Ctrl + 1), fare clic su OK
  • Verificare che ora è possibile eseguire lo script creato con il collegamento selezionato.

Altri suggerimenti

per il Perl,

Per eseguire script perl uso di questa procedura

Requisiti: È necessario variabile configurazione classpath.

Vai a plugin -> NppExec -> Esegui

Nella sezione comandi, digitare questo

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

Salva e dare il nome ad esso. (Do Perl).

Premere OK . Se editore vuole riavviare, farlo prima.

Ora premere F6 e troverete la vostra uscita script Perl sul lato in basso.

Nota: Non necessario. Config separato per i file separati

Per java ,

Requisiti: È necessario JAVA_HOME configurazione e variabili classpath.

Vai a Plugins-> NppExec-> Esegui

Nella sezione comandi, digitare questo

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

Il tuo *.class genererà sul posto di cartella corrente; nonostante errore di programmazione.

Per Python,

Python Plugin

Vai a Plugins-> NppExec-> file in Python Eseguire intercative

Con questo è possibile eseguire script all'interno di Notepad ++.

Per PHP,

Non c'è bisogno di configurazione diversa basta scaricare questo plugin.

PHP Plugin e fatto.

Per il linguaggio C,

Requisiti: È necessario variabile classpath configurazione
.                 Sto usando MinGW compilatore.

Vai a Plugins-> NppExec-> Esegui

incolla questo in là

   NPP_SAVE

   CD $(CURRENT_DIRECTORY)

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

   a

(Ricordate di dare soprattutto quattro linee di linee separate.)

Ora, dare nome, salvare e OK.

Riavvia Npp.

Vai Plugins-> NppExec-> Opzioni avanzate.

Menu Item> Nome del modello (ho compilatore C)

Associated Script> dalla casella combinata selezionare il nome al di sopra di script.

Fare clic su Aggiungi / modificare e Ok.

Ora assegnare tasti di scelta rapida come indicato nella prima risposta.

Premere F6 e selezionare lo script o semplicemente premere il tasto di scelta rapida (ho assegnato Ctrl + 2 ).

per C ++,

cambiare Solo g ++ al posto di gcc e *.cpp invece su *.c

Questo è tutto !!

Ecco il codice per compling e l'esecuzione di codice sorgente di Java: - Aprire Notepadd ++ - Hit F6 - Incolla questo codice

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 variabile Java Classpath deve essere impostato per questo ...

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

È possibile controllare la pagina seguente con un sacco di informazioni su NppExec.

Io personalmente uso il seguente script batch che può essere utilizzato su molti tipi di file (C, il makefile, script Perl, script di shell, lotti, ...). I memorizzare questo file nella directory utente Notepad ++ (% appdata% / Notepad ++) con il nome di runNcompile.bat.

Ho quindi utilizzare il comando "$(SYS.APPDATA)\Notepad++\runNcompile.bat" "$(FULL_CURRENT_PATH)" NppExec mentre selezionando l'opzione "Follow $ (CURRENT_DIRECTORY)" nel menu NppExec. E per finire, assegno una chiave speciale (I riassegnato F12) per avviare lo script.

La speranza può aiutare

  @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

Si può effettivamente compilare ed eseguire il codice C, anche senza l'uso di plugin nppexec. Se si utilizza MingW32 compilatore C, utilizzare g ++ per la lingua e gcc C ++ per il linguaggio C.

Incolla questo codice notes ++ sezione di eseguire

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

Sarà compilare il codice C in exe ed eseguirlo immediatamente. E 'come una caratteristica di costruire e gestire in codeblock. Tutti questi sono fatti con una certa conoscenza cmd.

Spiegazione:

  1. cmd / k viene utilizzato per il test.
  2. cd $ (CURRENT_DIRECTORY)
    • cambia directory in cui si trova il file
  3. && operatori
    • Per catena vostri comandi in una sola riga
  4. gcc $ (FILE_NAME)
    • uso GCC per compilare file con la sua estensione.
  5. -o $ (NAME_PART) .exe
    • questo flag consente di scegliere il nome del file di output. $ (NAME_PART) non include l'estensione del file.
  6. $ (NAME_PART) .exe
    • questo da solo gestisce il programma
  7. pausa
    • Questo comando consente di mantenere aperta la console dopo file è stato eseguito.

Per ulteriori informazioni sul blocco note ++ comandi, andare a

  

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

Ho fatto un singolo script potente che sarà:

-Compile ed eseguire il codice multi lingua come C, C++, Java, Python e C#.
-Delete il vecchio eseguibile prima della compilazione del codice.
-Solo eseguire il codice se è compilato con successo.

Ho anche fatto un niubbo accogliente esercitazione Transform Notepad ++ per potente Multi Lingue IDE che contiene alcuni script aggiuntivi come solo eseguire o compilare il codice, eseguire codice all'interno 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!

Vi consiglio la mia soluzione. La mia situazione: g ++ (cygwin) su win10

La mia soluzione: Scrivere un file batch .bat ed eseguire compilatore in quella partita. 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 ================

Decompile con CMD:

Se chi non ha funzionato provare questo:

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

Si deve salvare in cui avete ottenuto il file (esempio: se ho ricevuto il file dal desktop, esso sarà salvato come .exe sul desktop)

Non so se funziona su 64 bit anche se così si può provare!

ho scritto solo questo per eseguire la compilazione ed eseguire il file dopo, più fileinputname = fileoutputname su windowsmashines, se il vostro compilerpath è registrato nel 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)"

dovrebbe funzionare per qualsiasi compilatore se si cambia c ++. Exe per quello che vuoi

in Windows Se si utilizza una versione portatile di MinGW è necessario impostare la variabile percorso o si ha errore libintl-8.dll non trovata. Il mio percorso è C: \ Program Files (x86) \ CodeBlocks \ MinGW \ bin

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top