1 notepad++运行F5快捷键改成ctrl+F5
2 点击ctrl+F5,输入cmd命令
cmd /k D:\software\python\python.exe "D:\Program Files (x86)\Notepad++\run.py" "$(FULL_CURRENT_PATH)", "$(CURRENT_DIRECTORY)", "$(FILE_NAME)", "$(NAME_PART)", "$(EXT_PART)" & PAUSE & EXIT
cmd /k 打开cmd窗口,执行完命令不关闭窗口
PAUSE 请按任意键继续. . .
EXIT 退出
D:\software\python\python.exe python解释器的位置
"D:\Program Files (x86)\Notepad++\run.py" 调用的程序,可以判断文件类型,并做不同的处理,代码在最下面
"$(FULL_CURRENT_PATH)", "$(CURRENT_DIRECTORY)", "$(FILE_NAME)", "$(NAME_PART)", "$(EXT_PART)" 传递给"D:\Program Files (x86)\Notepad++\run.py"的参数
(python a.py 1, 2, 3可以运行a.py,并传递1, 2, 3,给a.py)
3 保存为Run,快捷键为F5,这样如果要运行python lua c++,直接点击F5就可以了,也可以自己添加其他语言
import sys
import os
import re
FULL_CURRENT_PATH = sys.argv[1].strip(',')
CURRENT_DIRECTORY = sys.argv[2].strip(',')
FILE_NAME = sys.argv[3].strip(',')
NAME_PART = sys.argv[4].strip(',')
EXT_PART = sys.argv[5].strip(',.')
print("FULL_CURRENT_PATH: ", FULL_CURRENT_PATH)
print("CURRENT_DIRECTORY: ", CURRENT_DIRECTORY)
print("FILE_NAME: ", FILE_NAME)
print("NAME_PART: ", NAME_PART)
print("EXT_PART: ", EXT_PART)
PYTHON_EXE = r"D:\software\python\python.exe"
LUA_EXE = r"D:\software\lua\lua.exe"
CPP_EXE = r"D:\software\CodeBlocks\MinGW\bin\g++.exe -std=c++0x"
C_EXE = "gcc"
if EXT_PART=="py":
runcmd = PYTHON_EXE + ' "' + FULL_CURRENT_PATH + '"'
print('\n' + runcmd + '\n')
os.system(runcmd)
elif EXT_PART=="lua":
runcmd = LUA_EXE + ' "' + FULL_CURRENT_PATH + '"'
print('\n' + runcmd + '\n')
os.system(runcmd)
elif EXT_PART=="cpp":
def getTotalNeed(total, fn):
if fn in total:
return
total.append(fn)
reg = r'#include\s*?"(.*?)\.h"'
try:
with open(CURRENT_DIRECTORY+'\\'+fn, 'r') as f:
data = f.read()
matchs = re.findall(reg, data)
for n in matchs:
getTotalNeed(total, n+".cpp")
getTotalNeed(total, n+".h")
except IOError as err:
print('file error: '+str(err))
total = []
getTotalNeed(total, FILE_NAME)
runcmd = CPP_EXE
for item in total:
runcmd=runcmd+' "'+item+'"'
runcmd += ' -o ' + NAME_PART + ".exe"
OLD_DIRECTORY = os.getcwd()
os.chdir(CURRENT_DIRECTORY)
print('\n' + runcmd + '\n')
r = os.system(runcmd)
if r == 0:
os.system(NAME_PART + ".exe")