要怎麼把 IronPython 整合到 Visual Studio 2005?
首先,你要去下載這個最新的 Visual Studio SDK(Version 4.0),這邊要注意的是,這個 IronPythonIntegration 的範例,只能用在 Visual Studio 2005 (或是更新的版本)如果你的機器裝的是 .Net 1.1 跟 Visual Studio 2003 的話,那就沒辦法用啦。
我要用什麼版本的 Visual Studio?我可以把他用在 Express 版本上嗎?
很遺憾,不可以。 Visual Studio Express 不支援擴充能力,這是 Express 版本的限制,不是這個範例的問題。你需要標準版或是更高階的版本才能使用這個範例。
另外,你也需要安裝 Visual C++ 來編譯這個範例(所以如果你的 Visual Studio 只有裝 VB 的話,那一樣沒辦法安裝這個範例)。目前所有的 Visual Studio 擴充專案都有這個限制,因為我們需要 C++ 的 preprocessor 去編譯這些範例裡面的 CTC 檔案。(CTC是用來描寫整合到 Visual Studio 時 menu 的結構)
好啦,我已經下載好那些東西啦,那我現在要怎麼讓 IronPython 在我的 Visual Studio 裡面可以動?
打開你的 Visual Studio 2005 (而且你的 SDK 以已經裝在預設的位置),開啟下面這個方案(solution)"C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Samples\IronPythonIntegration"。接著很簡單,你只要按下 Ctrl+F5 去建置你的專案就可以了。建置完成以後,他會自動以「實驗蜂槽模式(Experimental hive)」開啟一個 Visual Studio,裡面就有已經整合好的 IronPython 擴充功能。(另外一種開啟實驗模式的方法是以命令列執行"devenv /rootsuffix Exp")
這邊注意一下阿,如果你直接按 F5(而不是Ctrl+F5)執行的話,你的電腦可能會給你一些 exception 或是 MDA(managed debugging assistant) 錯誤訊息,不過那都不重要,你可以不用管他。
恩,我覺得我已經成功的建制並且執行了,阿現在勒?
那你現在可以用「建立新專案」功能,建立一個新的 IronPython 專案,就像是你建立一個新的 C#/VB/J#/C++ 專案一樣。我建議你一開始應該先開一個 console 專案玩一玩。如果你開一個新檔案,是用 .py 當作副檔名結尾的話,你會發現 Visual Studio 很聰明的會幫你加上 syntax coloring。
另外這個範例有一個很酷的小東西,就是一個叫做 IronPython Console Window 的小工具視窗,你可以從「檢視-其他視窗」來開啟他。這個小工具視窗的功能就是一個互動式的 IroonPython 環境,讓你可以快速的測試你的語法。
關於這個小視窗,還有一件事情要附註一下,就是裡面有個變數叫做 dte,有這個 dte 你可以透過 Macros IDE 自動化操作 Visual Studio(automate Visual Studio),也就是說:你可以用 IronPython 來寫 VS 的 mini-macros,而不必再用 VB 啦!
為什麼我可以編譯?我以前根本就不能編譯任何的 IronPython 程式碼阿?
在過去幾個月裡面,IronPython 團隊加了一些編譯器介面到 IronPython.dll 裡面,所以透過這個 .dll 我們可以編譯 IronPython 程式碼。有一個必須的認知是:這個編譯器編譯出來的程式碼,必須要仰賴這個 IronPython runtime 才能夠執行,也就是說你需要有這個 IronPython.dll 檔案才可以。畢竟這是一個動態的語言,所以當你執行你的 IronPython 程式的話,每一行程式碼都需要被重新檢查型態跟評估其值。
這代表著,你在 IronPython 寫的程式碼,所產生的 MSIL 不會像是你在 C#/VB 所寫的那樣。事實上,你應該沒辦法在其他語言完整的使用以 IronPython 開發出來的功能。
還有什麼特色阿?
一個「範例」就是一個「範例」,也就是說,這只是一個用來示範怎麼把 IronPython 整合到 Visual Studio 2005 的「範例」,所以呢,很多功能並沒有被實做出來,或是即使實做出來了,也不太穩定。雖然如此,這個範例還是很有限度的支援了以下個功能:
- MSBuild
- Windows Forms Designer(可以讓你建立視窗程式)
- WebSite Projects
- Web Application Projects
- Intellisense(程式碼自動完成的功能)
- Demonstrates use of MPF feature
我有好幾個 module(.py檔案) 要彼此互動,那我要怎麼作?
很簡單,把你的檔案都放在一起就好了。比方說,我有一個主程式檔叫做 program.py,然後我有要用到 myModule.py,那我就把 myModule.py 放到跟 program.py 同一個目錄下,然後在我的 program.py 加入一行:
import myModule
這個範例裡面包的是什麼版本的 IronPython?
Visual Studio 2005 SDK 裡面放的是 IronPython1.1 的 pre-beta 版本。
有沒有不用下載 Visual Studio2005 DSK 就可以用 Visual Studio 跑 IronPython 的方法阿?
到目前為止,我們唯一釋出這個 IronPython 整合範例的方法就是透過 VSSDK。
但是呢,IronPython 團隊已經釋出了一個 IronPython for ASP.NET CTP 的東西,包含了這個範例的部份功能。不一樣的是,這個 ASP.NET CTP 只以 binary 的形式釋出,然後他不需要 Visual Studio SDK。
恩,我覺得我發現了 bug 耶……
如果你有任何困難,問題,或是建議,拜託請回報給我們!
沒有留言:
張貼留言