.net其實也可以不拖控件的......
隨著時代的進步,說.net就是拖拖控件的人越來越少了,作為一個抱有"就是喜歡拖控件"想法的人,我還是不得不研究一下完全沒有IDE的情況下怎么生存。
國內的大部分無知而淺薄的".net程序員",完全是被橫行的盜版IDE慣壞了。VS的確提供了一條生成和組織程序的捷徑,但是它并沒有把正路堵死。
這里我就來說說如何像編寫linux程序那樣編寫.net程序
俗話說巧婦難為無米之炊,即使我們想要像Linux程序員那樣寫程序,首先我們還是要下載一套最新版SDK
最新版 Microsoft Windows SDK for Windows 7 and .NET Framework 4
然后我們需要建立一個編寫程序的命令行環境,編輯一個bat文件
PATH=%PATH%;C:\WINDOWS\Microsoft.NET\Framework\v3.5
PATH=%PATH%;C:\Program Files\Vim\vim72
CScript /H:CScript
cmd /K
.net和SDK的版本號大家自己按自己的實際情況改改就行了
前三句是設置環境變量,沒什么好說
CScript /H:CScript 這一句是將windows腳本宿主調成命令行狀態。
cmd /K是讓bat文件結束之后不退出命令行
現在我們運行這個bat文件,就得到了一個編寫.net程序的命令行環境。
在這個命令行窗口里面輸入csc(這是C#編譯器),可以看到你使用的.net版本信息。
接下來可以開始寫程序了,為了演示build,我們把一個hello world分成兩個文件。
你可以用你喜歡的文本編輯工具,一般都用記事本什么的
如果要追求linux的感覺,可以裝個vim for windows
如果喜歡追求傳統懷念Turbo C,試試直接在命令行輸入 edit
helloworld.cs
class Program
{
static void Main(string[] args)
{
Text t=new Text();
t.text="Hello world";
Console.WriteLine(t.text);
}
}
Text.cs
class Text
{
public string text;
}
寫好后輸入
csc helloworld.cs Text.cs
然后helloworld.exe就被編譯出來了,
這也就是VS在背后幫你做的事情了。
不過事情到這里還沒完,linux素以它強大的build腳本能力著稱,makefile更是每一個linux下C/C++程序員的必修課,那windows呢?
于是我們的makefile.js粉末登場了:
sources:["Helloworld.cs","Text.cs"]
}
var voice = new ActiveXObject("SAPI.SpVoice");
WScript.Echo("Build begin");
voice.Speak("Building");
(new ActiveXObject("WScript.Shell")).run("csc.exe "+data.sources.join(" "));
WScript.Echo("Build finished");
voice.Speak("Build finished");
這是一個非常簡單的例子,不過它很好地說明了如何利用windows腳本來編寫makefile
因為ide過于發達,windows腳本的強大能力似乎少有人挖掘。
熟悉web的同學都了解JS的靈活性和表達能力,如何設計makefile各人有各人的審美觀,也因項目結構各有不同,我就不再多講了。
這里面還有一點小花頭,var voice = new ActiveXObject("SAPI.SpVoice");
這個地方利用了一個微軟的朗讀組件,在絕大多數windows系統上都可以使用。
在大型系統的構件過程中,語音提示還是蠻有用的,這一點就比linux shell強了。
windows附帶有幾千個不同用途的ActiveX組件,你可以利用它們來做各種有趣的事情。
BTW building那一聲很像小時候玩的命令與征服