本文轉自:http://blog.csdn.net/freewaywalker/article/details/8005468
如果只是測試小程序可以用這種方法 比較方便,如果對於大程序建議使用專業的IDE。
經常需要寫一些小程序來運行,又不想運行Visual Studio、Eclipse這樣的環境,而Notepad++是一個好的選擇,下面介紹如何在Notepad++中配置C、C++、C#、Java、Python編譯環境。
首先介紹下Notepad++定義的一個變量:
Notepad++定義的這些環境,可以作爲參數傳遞給外部工具
變量名稱 含義 例子
FULL_CURRENT_PATH 文件路徑名稱 E:\java\HelloNpp.java
CURRENT_DIRECTORY 文件目錄 E:\java\
FILE_NAME 文件全名稱 HelloNpp.java
NAME_PART 文件名稱 HelloNpp
EXT_PART 文件擴展名 java
爲便於編程,打開notepad-->設置-->首選項...-->備份與自動完成 ,
勾選 所有輸入均啓用自動完成(選擇函數自動完成或者單詞自動完成,憑個人喜好),
勾選 輸入時提示函數參數。
先提醒下大家,運行命令前,要先記得保存修改過的文件。
一、配置C、C++編譯環境
這裏直接使用Visual Studio的編譯器,當然還可以使用GCC等其它編譯器,原理類似。
1、設置環境變量這一步一般是裝了Visual Studio以後會自動完成,不需要手動配置。
新增用戶環境變量INCLUDE、LIB,修改用戶的Path:
在命令行中執行以下命令,把(Program Files)替換爲你的目錄,比如我的是C:\Program Files (x86)。我電腦上安裝的Visual Studio的版本是10.0。注意原PATH變量最後是否有分號。
setx LIB "(Program Files)\Microsoft Visual Studio 10.0\VC\lib;(Program Files)\Microsoft SDKs\Windows\v7.0A\Lib"
setx INCLUDE "(Program Files)\Microsoft Visual Studio 10.0\VC\include;(Program Files)\Microsoft SDKs\Windows\v7.0A\Include"
setx PATH "%PATH%;(Program Files)\Microsoft Visual Studio 10.0\VC\bin;"
當然,也可以去系統屬性->高級->環境變量中設置。
2、調整編譯器需要的文件
在(Program Files)\Microsoft Visual Studio 10.0\Common7\IDE\目錄下,
找到兩個文件"mspdb100.dll"和"mspdbsrv.exe",
一併複製到(Program Files)\Microsoft Visual Studio 10.0\VC\bin下。
3、爲Notepad++添加運行選項在Notepad++中選擇運行->運行...
在輸入程序名文本框裏面,分別輸入以下三個命令(調試、編譯、運行),依次點擊保存...,併爲之選擇快捷鍵,名稱可設爲"C++編譯"等類似的(保存後將顯示在運行菜單下面):
cmd /k chdir /d "$(CURRENT_DIRECTORY)" & cl "$(FILE_NAME)" & echo Running: & "$(NAME_PART).exe" & PAUSE & EXIT
cmd /k chdir /d "$(CURRENT_DIRECTORY)" & cl "$(FILE_NAME)" & PAUSE & EXIT
cmd /k chdir /d "$(CURRENT_DIRECTORY)" & echo Running: & "$(NAME_PART).exe" & PAUSE & EXIT
至此,大功告成。可以隨便寫一個代碼試試。注意代碼文件的後綴必須是c或者cpp,否則VC的編譯器不認。示例:
- #include<iostream>
- using namespace std;
- int main(){
- cout<<"Hello, C++ world in Notepad++~"<<endl;
- return 1;
- }
4.以MinGW和Notepad++來搭建,開發環境。下面是對Notepad++的配置:
先爲爲MinGW添加環境變量:
需要添加以下三個路徑,即添加到path中(注意以分號相隔):
C:/Program Files/MinGW/bin;C:/Program Files/MinGW/include;C:/Program Files/MinGW/lib;
測試MinGW是否配置成功,命令行輸入:
g++ -o hello.exe hello.cpp
沒有報錯,說明配置成功。
編譯cmd /k ...\MinGW\bin\g++.exe -g -W -Wall -o$(CURRENT_DIRECTORY)\$(NAME_PART).exe$(FULL_CURRENT_PATH) & PAUSE & EXIT
運行cmd /k $(CURRENT_DIRECTORY)\$(NAME_PART).exe & pause &exit
調試cmd /k ...\MinGW\bin\gdb.exe $(CURRENT_DIRECTORY)\$(NAME_PART).exe。
這樣,寫好代碼之後就可以不用打開cmd直接點按鈕編譯和運行了,這也是最基本的。其他配置可參考:http://blog.csdn.net/albert105129/article/details/6290063。
二、配置C#編譯環境
1、編譯
運行notpad++,點擊“運行-》運行”菜單,出現一個彈出框,輸入命令行,而後保存即可。
cmd /k C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe/out:"$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
2、編譯+運行
cmd /k C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe/out:"$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" & echo Running: & "$(NAME_PART).exe" & PAUSE & EXIT
3、示例
- using System;
- class Program{
- static void Main(string[] args){
- Console.WriteLine("Hello,C# World in Notepad++~");
- }
- }
運行結果。
另外VB的配置與此類似。
三、Java環境配置
1、安裝java,並配置java環境
(1)打開我的電腦--屬性--高級--環境變量
(2)新建系統變量JAVA_HOME 和CLASSPATH
變量名:JAVA_HOME
變量值:C:\Program Files\Java\jdk1.7.0
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(3)選擇“系統變量”中變量名爲“Path”的環境變量,雙擊該變量,把JDK安裝路徑中bin目錄的絕對路徑,添加到Path變量的值中,並使用半角的分號和已有的路徑進行分隔。
變量名:Path
變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
2、編譯和運行分別是
cmd /k D:\jdk1.6.0_10\bin\Javac.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
cmd /k D:\jdk1.6.0_10\bin\Java.exe "$(CURRENT_DIRECTORY)\$(NAME_PART)" & PAUSE & EXIT
如果將jdk安裝在了Program Files中間帶空格的類似名字的文件夾中,這時就會出現找不到該指定程序的提示。
問題的解決辦法是,寫成"program files"。例如:
cmd /k D:\"Program Files"\Java\jdk1.6.0_35\bin\Javac.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
cmd /k D:\"Program Files"\Java\jdk1.6.0_35\bin\Java.exe "$(CURRENT_DIRECTORY)\$(NAME_PART)" & PAUSE & EXIT
像在類似emacs的文本編輯器中寫路徑,所以還要照顧到linux的約定,使用必要的轉義符即可。
點擊 保存 name 可以分別設爲Javac、Java。
3、測試
寫一個Java的helloworld
- public class test {
- public static void main(String args[])
- {
- System.out.println("Hello, Java world in Notepad++~");
- }
- }
分別再運行 Javac 和Java命令即可。
更快的技巧:
將Notepad++打造成輕量級java學習工具
1、安裝Notepad++解壓後將NppExec.dll文件移動到Notepad++安裝目錄中的plugins文件夾中,然後重啓。
2、下載、安裝JDK,配置環境變量,在此不做贅述。
3、打開npp,打開插件菜單,應該能看到nppexec的選項了。
選中Follow $(CURRENT_DIRECTORY),這樣的話,默認就是當前打開文件的路徑了。
點擊Execute,彈出對話框,在這裏的"Command(s):"文本框中輸入輸入腳本代碼,之後保存命名,以後編譯時直接按F6選擇相應的腳本就行了。
java編譯及運行的腳本代碼:
npp_save
javac.exe "$(FILE_NAME)"
java.exe "$(NAME_PART)"
可以把建好的腳本添加的菜單裏面,就不要每次自己輸入腳本命令了。
這時在此對話框中點擊Save...按鈕,可命名爲java。
然後,打開插件菜單選nppexec再選Advanced Options:
將Place to be Macros submenu複選框打鉤,
Menu item子區域中,在Item name文本框中可填入JAVA,在Associated script下拉菜單選擇java,
然後點擊Add/Modify按鈕,確定重啓Notepad++即可。
效果:
之後即可在宏菜單下看到JAVA命令。
在 宏->變更或清除宏->plugin commands中可以設置java及javac的快捷鍵
四、Python環境配置
cmd /k C:/Python30/python.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
示例:
- # _*_ coding: utf-8 _*_
- print 'Hello, Python World in Notepad++~'
五、手動配置用戶自定義命令技巧
我先列舉下手動配置可以解決的一些問題。
問題1:在notepad++運行菜單下保持並命名自己輸入的指令之後,以後如果再想稍微更改下自己寫的指令,卻在界面上找不到可以改指令的地方。
問題2:大家可能使用了可移植版的火狐(Firefox)等瀏覽器,這樣在點擊運行菜單下的"Launch in Firefox"時,就會沒有反應。
對於以上的問題,notepad++的配置文件可是提供給了我們自定義的權利,不過大家得了解一下里面各種代碼的含義了。
找到notepad++的安裝目錄,裏面有個文件shortcuts.xml,爲便於閱讀,推薦大家用notepad++自己打開。這個文件裏面含有notepad++默認的和用戶自定義的命令,不過之前大家輸入的中文在這裏都已經全變成了Unicode編碼下的英文字符了,連在指令中出現的雙引號"都變成了"。這時我們可以藉助於工具,將Unicode編碼轉換成中文。有個在線轉換網站:http://javawind.net/tools/native2ascii.jsp。將shortcuts.xml裏的內容全部複製,將它粘貼進這個網頁進行轉換,這樣,就可以看到中文顯示正常了。另一種快捷的方法是,用notepad++打開之後直接點擊運行菜單下的"Launch in IE",這樣在IE下就可以看到轉換後的中文了。
爲正確讓notepad++編寫的代碼在移植版火狐下運行,
打開這個文件後,大家會看到這樣一行代碼:
- <Command name="Launch in Firefox" Ctrl="yes" Alt="yes" Shift="yes" Key="88">firefox "$(FULL_CURRENT_PATH)"</Command>
改成
- <Command name="launch in Firefox" Ctrl="yes" Alt="yes" Shift="yes" Key="88">"$(NPP_DIRECTORY)\..\..\..FirefoxPortable\FirefoxPortable.exe" "$(FULL_CURRENT_PATH)"</Command>
上面一行中的火狐路徑是我電腦上的火狐安裝路徑,大家可以改成自己電腦上的。
另一種快捷方法是,直接拷貝火狐的快捷方式到notepad++安裝目錄下,將快捷方式命名爲firefox就行了。參考於http://superuser.com/questions/306736/notepadis-there-a-way-to-fix-the-fact-that-i-cant-run-chrome-from-the-run-me。
整理借鑑於以下文章,
感謝:
http://blog.3snews.net/space.php?uid=47466&do=blog&id=62341
http://blog.csdn.net/mdyyzc/article/details/7653096
http://www.cnblogs.com/Realh/archive/2011/12/12/2284741.html
http://excon.iteye.com/blog/1078324
http://blog.csdn.net/is2120/article/details/6613854
http://blog.chinaunix.net/uid-199788-id-99577.html
http://zhidao.baidu.com/question/350104872.html
http://hi.baidu.com/hellosim/blog/item/52ae86c70598bf010ef47784.html