NTVS:把Visual Studio變成Node.js IDE 的工具
就在你認(rèn)為Redmond不可能更瘋狂的時候,今天他們介紹了一個 VS 插件工具,Visual Studio的node.js工具。
NTVS(Node.js Tools for Visual Studio) 運行于VS2012
就在你認(rèn)為Redmond不可能更瘋狂的時候,今天他們介紹了一個 VS 插件工具,Visual Studio的node.js工具。
NTVS(Node.js Tools for Visual Studio) 運行于VS2012或者VS2013。一些node.js的愛好者已經(jīng)從PTVS(Python Tools for Visual Studio)轉(zhuǎn)向 并開始為VS做些node工具。同時,PTVS團(tuán)隊也在node.js整合上下功夫,于是他們都專注于NTVS使之成為一個社區(qū)項目。NTVS是由給你帶 來PTVS的相同團(tuán)隊開發(fā)的,并且得到了來自Red Gate的Bart Read(他開發(fā)了Node Packaged Modules圖形用戶界 面),來自Clickberry的Dmitry Tretyakov的幫助,他們做了一些調(diào)試與功能修復(fù)。
NTVS從開始就是開源的,并且從一開始就采納貢獻(xiàn)。它支持編輯,智能感知,分析,npm(節(jié)點模塊封裝),本地與遠(yuǎn)程調(diào)試(當(dāng)服務(wù)器運行于Windows/MacOS/Linux),以及發(fā)布到Azure網(wǎng)站和云服務(wù)。
他們?nèi)绾巫龅竭@些是相當(dāng)驚人的,所以我建議你下載并且試用它,因為其中的一些內(nèi)容(即使這里給出的只是最初版)是非常非常聰明的。
NTVS結(jié)合了V8分析應(yīng)用和Visual Studio的報告特性以告訴你你的程序哪里消耗它的時間。
提示:看到上面File|New Project的對話框了嗎?Visual Studio按照開發(fā)語言組織類型,所以node.js在 JavaScript分類下。但你也注意到在Visual Studio中的Python,Django,C#分類下的iOS和 Android,TypeScript,VB,F(xiàn)#等分類。
讓我印象深刻的事之一是,他們將node.js整合進(jìn)Visual Studio中時并沒有新建或者重做已經(jīng)在Visual Studio中完善的 功能。這就是node,運行在node.exe,使用V8調(diào)試器,使用V8分析器因為這些就是人們在使用的。但是,例如,NTVS可以從V8分析器得到輸 出并且使用Visual Stuido分析報告工具顯示結(jié)果。沒必要推倒重來,只要使用合適的工具來完成工作。
使用NTVS完成Ghost博客引擎
讓我們來看個例子。
l 從http://nodejs.org下載并安裝node。
l 接下來,從https://ghost.org/download/下載Ghost并解壓縮到某地。
l 從install node for Visual Studio下載并安裝NTVS在Visual Studio根目錄。
l 可選項。安裝http://vswebessentials.com,因為它會使VS中的網(wǎng)絡(luò)開發(fā)更易展示。
從Visual Studio開始,順序是File |New Project,點擊JavaScript,然后選擇“From Existing Node.js code”。
將NTVS指向你的Ghost目錄。
然后設(shè)置node.js開始文件為index.js,點擊Next,保存項目文件并且完成。
#p#
這時,你已經(jīng)在VS中設(shè)置了Ghost。
隨記:自從我得到網(wǎng)頁要素后我也得到一個不錯的好處—屏幕Markdown編輯器。
從這里,點擊F5就可以調(diào)試,或者Ctrl-F5直接開始。當(dāng)然注意在右下角的工程屬性窗口中顯示的node路徑,端口還有開始文件。你當(dāng)然可以修改它們。
這里我在本地運行Ghost。你可以看到node的路徑,ghost.js文件和我的瀏覽器。
你將從方法簽名中獲取實現(xiàn)與幫助的提示。
調(diào)試
NTVS包含了對node應(yīng)用程序完整的調(diào)試支持。這包含了逐步調(diào)試,斷點調(diào)試,“異常中斷”,還有本地變量窗口,觀察窗口,即時窗口和調(diào)用棧工具窗口。
你可以像其他語言的服務(wù)一樣處理異常??聪旅娴膶υ捒?,node.js異常和其他異常列在處理與未處理代碼的分類中。
通過node V8調(diào)試器,調(diào)試始終如它通常的方式運行。除非Visual Studio通過另外的套接字連接調(diào)試器(記住,你甚至可以在Linux或者Mac系統(tǒng)中像這樣遠(yuǎn)程運行調(diào)試node.js)并且將V8如何做調(diào)試轉(zhuǎn)義為Visual Studio如何做調(diào)試。這種感受是無縫銜接的。
通過這個截圖,你可以看到node.exe已經(jīng)被調(diào)試了,我運行了Ghost。你可以看到我的調(diào)用棧和本地變量在觀察窗口。我可以查看變量,分步調(diào)試并且在你調(diào)試一個網(wǎng)絡(luò)應(yīng)用程序的時候做任何你想做的事。
NPMVISUAL STUDIO
使用npm的體驗也是相當(dāng)酷。NTVS始終監(jiān)視文件系統(tǒng),所以以命令行或者節(jié)點直接窗口方式運行npm的話是更受歡迎的方式,Visual Studio中將看到變化。
你也可以使用npm包管理對話框并且搜尋庫,圖形化安裝包。這取決于你。
#p#
這是一個包在安裝中…
物理上的節(jié)點模塊和這些模塊的操作是純代碼化的…VS并不涉及或者說關(guān)心它。但是,Visual Studio的解決方案資源管理器(Solution Explorer)中也以邏輯視圖呈現(xiàn)物理視圖。
提示:我很喜歡這點。我認(rèn)為它有潛力,我更喜歡.NET的引用也如此處理。物理的和邏輯的依賴樹顯示了NuGet包。這幫助我更好地理解項目。
還有更多。有個REPL互動窗口,你可以如其他網(wǎng)絡(luò)工程一樣,與ASP.NET工程使用相同的發(fā)布向?qū)戆l(fā)布網(wǎng)絡(luò)工程。你也可以直接發(fā)布node.js應(yīng)用程序到Azure,使用Git或者Visual Studio發(fā)布。
你也可以在其它機(jī)器遠(yuǎn)程調(diào)試node實例,通過引入遠(yuǎn)程調(diào)試代理來啟動node。
原文鏈接:http://www.hanselman.com/blog/IntroducingNodejsToolsForVisualStudio.aspx