كيفية تجميع وتشغيل ملفات C من داخل Notepad ++ باستخدام المكون الإضافي NPPEXEC؟

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

  •  22-09-2019
  •  | 
  •  

سؤال

كيف يمكنني تكوين المكون الإضافي NPPEXEC لـ Notepad ++؟

أود أن يقوم NPPEXEC بتجميع ملفات C الخاصة بي ، وتشغيلها ، وإظهار إخراجها ، كل ذلك داخل Notepad ++.

هل كانت مفيدة؟

المحلول

إليك إجراء لـ Perl ، فقط قم بتكييفه لـ C. آمل أن يساعد ذلك.

  • افتح المفكرة ++
  • اكتب 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 = تحذيرات)
  • انقر فوق حفظ
  • اكتب اسمًا لحفظ البرنامج النصي (أي بيرل ترجمة)
  • انتقل إلى مكونات القائمة -> NPPEXEC -> خيارات متقدمة -> عنصر القائمة (ملاحظة: هذا صحيح أدناه "عناصر القائمة *')
  • في Combobox بعنوان "Scripte Script" ، حدد البرنامج النصي الذي تم إنشاؤه مؤخرًا في القائمة المنسدلة ، وحدد "إضافة/تعديل" وانقر فوق "موافق" -> موافق
  • إعادة تشغيل Notepad ++
  • انتقل إلى الإعدادات -> اختصار Mapper -> الإضافات -> ابحث عن اسم البرنامج النصي
  • حدد الاختصار للاستخدام (أي Ctrl + 1) ، انقر فوق موافق
  • تحقق من أنه يمكنك الآن تشغيل البرنامج النصي الذي تم إنشاؤه باستخدام الاختصار المحدد.

نصائح أخرى

لبيرل ،

لتشغيل البرنامج النصي Perl استخدم هذا الإجراء

المتطلبات: تحتاج إلى إعداد متغير ClassPath.

اذهب إلى الإضافات->nppexec->نفذ - اعدم

في قسم الأوامر ، اكتب هذا

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

احفظه وأعطي اسمًا له. (أعطي بيرل).

يضعط نعم. إذا كان المحرر يريد إعادة التشغيل ، فقم بذلك أولاً.

الآن اضغط F6 وستجد إخراج البرنامج النصي Perl الخاص بك في الجانب أدناه.

ملاحظة: غير مطلوب تكوين منفصل للملفات المنفصلة.

لجافا,

الشرط: تحتاج إلى الإعداد JAVA_HOME و classpath عامل.

انتقل إلى الإضافات-> nppexec-> تنفيذ

في قسم الأوامر ، اكتب هذا

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

لك *.class سوف تولد على موقع المجلد الحالي ؛ على الرغم من خطأ البرمجة.

لبيثون ،

استخدم هذا البرنامج المساعد Python البرنامج المساعد

انتقل إلى الإضافات-> 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)

SCRIPT-> من مربع التحرير والسرد حدد الاسم أعلاه من البرنامج النصي.

انقر فوق إضافة/تعديل وموافق.

الآن تعيين مفتاح الاختصار كما هو موضح في الإجابة الأولى.

يضعط F6 وحدد البرنامج النصي أو فقط اضغط على الاختصار (قمت بتعيينه كنترول+2).

لـ C ++ ،

فقط تغيير G ++ بدلاً من gcc و *.cpp بدلا من ذلك *.c

هذا هو!!

فيما يلي رمز Compling وتشغيل رمز المصدر 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

يمكنك التحقق من الصفحة التالية مع الكثير من المعلومات على NPPEXEC.

أنا شخصياً أستخدم البرنامج النصي الدُفعات التالي الذي يمكن استخدامه في العديد من أنواع الملفات (C ، Makefile ، Perl Scripts ، Shell Scripts ، Batch ، ...). أقوم بتخزين هذا الملف في دليل مستخدم Notepad ++ (٪ APPDATA ٪/Notepad ++) تحت اسم runncompile.bat.

ثم أستخدم أمر nppexec "$(SYS.APPDATA)\Notepad++\runNcompile.bat" "$(FULL_CURRENT_PATH)" أثناء التحقق من خيار "اتبع $ (current_directory)" في قائمة NPPEXEC. وللإنهاء ، أقوم بتعيين مفتاح خاص (قمت بإعادة تعيين 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

يمكنك بالفعل تجميع وتشغيل رمز C حتى بدون استخدام المكونات الإضافية NPPEXEC. إذا كنت تستخدم برنامج التحويل البرمجي MingW32 C ، فاستخدم G ++ للغة C ++ و GCC للغة C.

الصق هذا الرمز في قسم تشغيل Notepad ++

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. وقفة
    • يتم استخدام هذا الأمر للحفاظ على وحدة التحكم الخاصة بك بعد تنفيذ الملف.

لمزيد من المعلومات حول أوامر Notepad ++ ، انتقل إلى

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

لقد صنعت نصًا قويًا من شأنه أن يلي:

-compile وتشغيل رمز اللغة متعددة مثل C, C++, Java, Python و C#.
-احذف القديم القابل للتنفيذ قبل تجميع الرمز.
-قم بتشغيل الكود فقط إذا تم تجميعه بنجاح.

لقد صنعت أيضًا برنامجًا تعليميًا ودودًا جدًا تحويل Notepad ++ إلى 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!

أوصي بحالي. وضعي: G ++ (Cygwin) على Win10

الحل الخاص بي: اكتب ملف .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 بت على الرغم من أنه يمكنك تجربته!

لقد كتبت هذا فقط لتنفيذ تجميع وتشغيل الملف بعد ، بالإضافة إلى fileInputName = fileOutputName على WindowsMashines ، إذا تم تسجيل برنامج التحويل البرمجي الخاص بك في مسار Windows-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 ++. exe إلى ما تريد

في Windows إذا كنت تستخدم إصدارًا محمولًا من MingW ، يجب تعيين متغير المسار أو لم يتم العثور على خطأ libintl-8.dll. طريقي هو C: Program Files (x86) CodeBlocks Mingw Bin

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top