搜尋本站文章

2007-11-28

無所不在的 IntelliSense Everywhere -- SQL Server 2008


Microsoft IntelliSense 提供一組使語言參考更容易存取的選項陣列。當編碼時,您不需要讓編輯器在語言元素上執行搜尋。您可以保留您的內容、尋找您需要的資訊、將語言元素直接插入程式碼中,甚至可以讓 IntelliSense 自動完成您的輸入動作。
有使用過 Visual Studio 的朋友,應該都知道這項方便好用的功能,尤其是在 Visual Studio 2005 上,對於像是 VBScript、XML、XML Schema、DTD、Web Config 組態檔等等都有提供。
簡單講 IntelliSense 這項功能,就是讓您在撰寫程式碼時,可以自動快顯相關可用的程式碼之提示。

IntelliSense 和程式碼編輯器的增強使開發工作更容易,錯誤更少。
但是截至目前為止,在 SQL Server 2005 的 Transact-SQL 編輯器上,卻尚未提供此項功能(雖然像是 MDX、DMX等編輯器有提供),其實在 SQL Server 2005 某個測試版本上,曇花一現,但在正式版本上卻是沒有提供。
目前在筆者測試的 SQL Server 2008() 版本上,Transact-SQL 編輯器也有實作 IntelliSense 喔。

經過測試,在開發程式上,真是十分方便好用,帶來不少便利。
使用的方式,也與使用 Visual Studio 的方式一樣,善用:
  • 列出成員: CTRL+J
  • 自動完成文字: ALT+向右鍵

這樣的使用經驗,可以由 Visual Studio 承傳到 SQL Server Management Studio,真是很棒。 若您與筆者一樣,腦袋就是背不起來指令、參數等的使用者而言,真的是一大福音。 當然,若是遇到超大型資料庫時,或許我們會想停用 IntelliSense,目前這測試版本上,若是要停用 IntelliSense 功能的話,步驟如下: 編輯以下的 registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\Shell\Languages\Language Services\SQL 將 CodeSense 的值,設定為 0,若是要重新啟用,請將 CodeSense 設定為 1 即可;請記得要重新啟動 SQL Server Management Studio。 相信在正式版本上,會與 Visual Studio 一樣,有方便的圖形介面可以使用。 依據測試版本的線上文件說明,目前支援的 Transact-SQL 語法有: (1)SELECT 陳述式,但是尚未支援 INSERT、UPDATE、DELETE,請參考下圖所示: (2)支援 DECLARE、SET、EXECUTE、CREATE TABLE、CREATE PROCEDURE、ALTER PROCEDURE,請參考下圖所示: (3)IntelliSense 支援的陳述式,請參考下圖所示: 例如: 資料庫、結構描述、資料表、檢視表、資料表函數、一般資料表運算式 、資料行、預存程序、參數、區域變數等等。 範例: --EX1.
USE AdventureWorks;
GO
SELECT *
FROM Production.Product
WHERE Color = 'Red';
請照著上面的程式,一行一行在鍵盤上敲打,就可以感受到 IntelliSense 的方便性。 --EX2.
CREATE TABLE tb1
(c1 int,c2 varchar(50))

SELECT * FROM tb1
WHERE C1=1
請照著上面的程式,一行一行在鍵盤上敲打,就可以感受到 IntelliSense 的方便性。 即便是資料表尚未建立,一樣可以感知 IntelliSense 喔。 還有一個方便的功能,也值得特別說明一下,這版本的 Transact-SQL 編輯器提供了:展開、折疊程式碼區塊的功能。這在編寫、閱讀程式碼更是簡潔方便。 下載 Microsoft SQL Server 2008 CTP, November 2007 http://www.microsoft.com/downloads/details.aspx?familyid=3BF4C5CA-B905-4EBC-8901-1D4C1D1DA884&displaylang=en Derrick_德瑞克