程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Visual Studio 2005 IDE的使用技巧和竅門

Visual Studio 2005 IDE的使用技巧和竅門

編輯:關於.NET

將雙手保持在鍵盤上

我最喜歡使用的鍵盤快捷方式

您可曾有過這樣的期望:在 Visual Studio 內部進行開發工作時雙手不必離開鍵盤?如果您是一名高級用戶,您肯定會享受到使用鍵盤快捷方式執行各種操作所帶給您的飛速體驗。我確信大部分開發人員都已經熟悉了其中的某些快捷方式。使用 F5 執行 Debug.Start、F10 執行 Debug.StepOver、F4 執行 View.Properties,等等。不過仍有其他幾個不太為人所知但極其實用的鍵盤快捷方式。在下表中,我列出了自己最喜歡使用的一些快捷方式。

鍵盤快捷方式 命令 F7 在設計視圖和代碼視圖之間切換。 F9 切換斷點。 F12 轉到變量、對象或函數定義。 Ctrl+Shift+7
Ctrl+Shift+8 在“轉到定義”堆棧中快速向前和向後導航。 Shift+F12 查找某個函數或變量的所有引用。 Ctrl+M、Ctrl+M 在編輯器中展開和折疊代碼段結構。 Ctrl+K、Ctrl+C
Ctrl+K、Ctrl+U 分別用於為代碼行添加注釋和取消注釋。 Shift+Alt+Enter 在全屏模式和正常模式之間切換。 Ctrl+I 漸進式搜索。

創建鍵盤快捷方式速查表

大部分開發人員都不了解這一點,但實際上,Visual Studio 默認提供了 450 多個鍵盤快捷方式。不過,對於如何找到 Visual Studio 內部的所有鍵盤快捷方式還沒有簡便的方法。您可以編寫一個簡單的宏,對於所有默認鍵盤快捷方式進行遍歷,找到它們所對應的操作。以下內容(列表 1)列出了這個宏的代碼。

Public Module Module1
Public Sub ListShortcutsInHTML()
'Declare a StreamWriter
Public Sub WriteHTMLStart(ByVal sw As System.IO.StreamWriter)
sw.WriteLine("<html>")
sw.WriteLine("<head>")
sw.WriteLine("<title>")
sw.WriteLine("Visual Studio Keyboard Shortcuts")
sw.WriteLine("</title>")
sw.WriteLine("</head>")
sw.WriteLine("<body>")
sw.WriteLine("<h1>Visual Studio 2005 Keyboard Shortcuts</h1>")
sw.WriteLine("<font size=""2"" face=""Verdana"">")
sw.WriteLine("<table border=""1"">")
sw.WriteLine("<tr BGCOLOR=""#018FFF""><td align=""center"">
<b>Command</b></td><tdalign=""center""><b>Shortcut</b></td></tr>")
End Sub
Public Sub WriteHTMLEnd(ByVal sw As System.IO.StreamWriter)
sw.WriteLine("</table>")
sw.WriteLine("</font>")
sw.WriteLine("</body>")
sw.WriteLine("</html>")
End Sub
End Module

列表1:在 HTML 文件中生成鍵盤快捷方式的宏

要使用這個宏,請轉到“工具”,選擇“宏”,然後選擇“宏 IDE. . .”啟動“宏 IDE”。展開 MyMacros 工程,MyMacros 命名空間,然後雙擊“Module1”。將列表 1 中的內容復制到“宏 IDE”然後運行宏即可。運行宏之後,將會生成 Visual Studio 的鍵盤快捷方式參考信息。打開包含輸出內容的C:\demo\Shortcuts.html文件。“圖 1”顯示了部分輸出內容。如果方便就將它打印出來,貼在計算機附近,以便學習新的鍵盤快捷方式。

圖1:Visual Studio 2005鍵盤快捷方式列表(部分)

自定義鍵盤快捷方式

如果某個您喜歡使用的鍵盤快捷方式默認沒有設置,您總是可以通過單擊“工具”>“選項...”>“環境”>“鍵盤”來自定義這個快捷方式(參見圖 2)。不過,如果要在您的使用環境中添加多個鍵盤快捷方式,則可以通過編輯自動保存的設置文件直接添加這些快捷方式。可以通過以下步驟來實現:

圖2:“選項”對話框 - 自定義“鍵盤快捷方式”

步驟 1:導出當前的“鍵盤快捷方式”。轉到“工具”>“導入和導出設置. . .”,啟動“導入/導出設置向導”。選擇“導出選定的環境設置”,單擊“下一步”。單擊“所有設置”,取消選中所有復選框,然後展開“選項”、“環境”節點,選擇“鍵盤”復選框(圖 3)。單擊“下一步”轉到向導的最後一頁。將新的設置文件命名為“MyKeyboardShorcuts.vssettings”,路徑使用默認目錄(圖 4)。單擊“完成”。

圖3:只選擇導出“鍵盤”設置類別

圖4:將設置文件重命名為MyKeyboardShortcuts.vssettings

步驟 2:打開並編輯設置文件。該文件的路徑為My Documents\Visual Studio 2005\Settings\MyKeyboardShortcuts.vssettings。Visual Studio 的設置文件就是 XML 格式的文件,您可以使用任何編輯器打開該文件。我推薦使用 Visual Studio 來打開該文件,因為這樣可以使用 Visual Studio 中的為語法標注顏色的功能以及文檔格式設置功能。打開文件之後,按下 Ctrl+K、Ctrl+D,讓 Visual Studio 對其自動進行格式設置。然後,查找 標簽。在此 XML 元素內部,您可以添加自己的一列快捷方式。下面的“列表 2”顯示了一個示例。

...
<UserShortcuts>
<Shortcut Command="View.CommandWindow" Scope="Global">
Ctrl+W, Ctrl+C
</Shortcut>
<Shortcut Command="View.SolutionExplorer" Scope="Global">
Ctrl+W, Ctrl+S
</Shortcut>
<Shortcut Command="View.ErrorList" Scope="Global">
Ctrl+W, Ctrl+E
</Shortcut>
<Shortcut Command="View.TaskList" Scope="Global">
Ctrl+W, Ctrl+T
</Shortcut>
<Shortcut Command="View.Output" Scope="Global">
Ctrl+W, Ctrl+O
</Shortcut>
</UserShortcuts>
...

列表2:直接在設置文件中添加“鍵盤快捷方式”

此處的 XML 是非常容易理解的。只要為要添加的每個快捷方式設置一個 元素即可。將快捷方式本身指定為該元素的內容,要將 Shift、Ctrl 和 Alt 等修改鍵結合起來使用,可以使用“+”字符將它們串連起來(例如,Ctrl+Alt+J)。在“Command”屬性中為快捷方式所要綁定的命令指定規范的命令名稱。“Scope”屬性總是為“Global”,因此這裡不再贅述。此操作過程中最困難的部分可能就是確定特定命令的規范名稱。特定命令的規范名稱的格式為:頂級菜單名稱加“.”字符再加命令名稱,采用“駝峰式”大小寫格式,不包含任何空格。

添加了所有快捷方式之後,保存該文件。

步驟 3:導入設置文件。既然已在設置文件中添加了快捷方式,現在就可以將文件導回到您的使用環境中。當然,也可以將您的設置文件分享給其他人員使用。再次啟動“導入和導出設置向導”,但這次選擇“導入選定的環境設置”;單擊“下一步”。選擇“否,僅導入新設置,改寫我的當前設置”,然後單擊“下一步”。選擇“我的設置”文件夾下的“MyKeyboardShortcuts.vssettings”,然後單擊“下一步”。使用默認選擇,單擊“完成”。

在工具提示中顯示快捷方式

您可以實際指定環境在提示信息中顯示快捷方式,將鼠標移到工具欄命令的上方時可顯示相應的提示信息。轉到“工具”>“自定義. . .”,確保選中“在屏幕提示中顯示快捷鍵”選項。

圖5:在工具提示中啟動快捷鍵顯示

Window 布局選擇器

Visual Studio 是一個功能強大的開發環境,它使用許多不同的工具窗口用於不同的任務和目的。對於 VS 2005 中新提供的 Team System 功能而言尤其如此。我們曾經聽到許多用戶反映,如果有一種可以在不同的窗口布局之間快速切換以適合當前要處理的任務的方式,會非常有用。實際上您可以在 VS 2005 內部自己創建這項功能,不過,這需要執行幾個步驟。

步驟 1. 創建設置文件。Visual Studio 2005 中有一項可以導入/導出環境設置的新功能。實際上,可以將可對環境進行的所有自定義設置導出到一個文件中,這樣就可以將這些自定義設置與其他用戶分享使用、將其導入到其他計算機,或者作為備份來存儲。可以導入/導出的設置包括:窗口布局、鍵盤快捷方式、菜單自定義設置、字體與顏色以及“選項”對話框(“工具”>“選項. . .”)中實際存在的所有內容。可以根據需要,隨時導出所有環境設置,也可以只導出其中的一部分。

在創建我們的“窗口選擇器”時,第一個步驟是為每個想要使用的窗口布局創建單獨的設置文件。在此示例中,我要創建 3 個設置文件,分別對應 3 個我想要使用的窗口布局:CodeWriting、CodeBrowsing 和 FormsDesign。

第一步就是按照您編寫代碼時喜歡的方式來布置窗口布局。就我而言,我喜歡將所有可見的工具窗口設置為自動隱藏狀態以最大化編碼區域。圖 6 顯示了我是如何為這個窗口布局來布置工具窗口的,不過您可以隨意將其調整為您喜歡的方式。然後,轉到“工具”>“導入和導出設置”,啟動“導入和導出設置向導”。選擇“導出選定的環境設置”,單擊“下一步”。只選擇窗口布局復選框,然後單擊“下一步”。將設置命名為“CodeWritingWinLayout.vssettings”,然後單擊“完成”。現在,您已經創建了您所需的三個設置文件中的第一個文件。重復以上這些步驟,創建余下的兩個設置文件。顯然,您需要更改窗口布局並將文件命名為其他名稱。我已將我的設置文件命名為“CodeBrowsingWinLayout.vssettings”和“FormsDesignWinLayout.vssettings”。

圖6:用於編碼的窗口布局

步驟 2. 創建宏來導入設置文件。在創建設置文件之後,您需要創建 3 個宏 - 分別用於導入每個設置文件。從下面的“列表 3”可以看出,這個代碼並不復雜。

Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports System.IO
Public Module Module1
  Public Sub ImportWinLayoutCodeWriting()
    DTE.ExecuteCommand("Tools.ImportandExportSettings",
    "-import:c:\demo\settings\CodeWritingWinLayout.vssettings")
  End Sub
  Public Sub ImportWinLayoutCodeBrowsing()
    DTE.ExecuteCommand("Tools.ImportandExportSettings",
    "-import:c:\demo\settings\CodeBrowsingWinLayout.vssettings")
  End Sub
  Public Sub ImportWinLayoutFormsDesign()
    DTE.ExecuteCommand("Tools.ImportandExportSettings",
    "-import:c:\demo\settings\FormsDesignWinLayout.vssettings")
End Sub
End Module

列表3:用於導入設置文件的宏代碼

步驟 3. 在工具欄中添加按鈕。現在可以創建更改窗口布局的實際按鈕。單擊“工具”>“自定義. . .”,單擊“命令”選項卡。從“類別”列表框中選擇“宏”,然後在“命令”列表中向下滾動,找到剛才編寫的三個宏。這些宏的名稱應該為 MyMacros.Module1.ImportWinLayoutCodeWriting、MyMacros.Module1.ImportWinLayoutCodeBrowsing 和 MyMacros.Module1.ImportWinLayoutFormsDesign(參見圖 7)。單擊每個命令,將其拖動到 Visual Studio 工具欄上。您現在需要在工具欄中右鍵單擊新放置的命令,將這些命令的名稱更改為更短的名稱。

圖7:使用“自定義”對話框將宏放置到工具欄上

關閉“自定義”對話框,保存您的自定義設置。您已經創建了您自己的“窗口布局”選擇器。單擊工具欄上的這些新按鈕,嘗試使用這些按鈕。您甚至可以轉到“工具”>“選項. . .”>“環境”>“鍵盤”頁面為這些命令指定鍵盤快捷方式。

代碼段

代碼段是在 Visual Studio 2005 中引入的最能體現效率的特點之一。它可以避免單調乏味的輸入過程(例如鍵入 for 循環),使您能夠快速插入代碼段,它還可以提供可完成特定任務(如通過網絡發送數據)的模板。大部分內置的 C# 代碼段都屬於第一種類型 - 這些代碼段可以幫助您將重復輸入降到最低,而很大一部分內置的 VB 代碼段都屬於第二種類型 - 使用這些代碼段可以更容易地編寫執行特定任務的代碼。

有兩種插入代碼段的方式。您可以在代碼編輯器中鍵入代碼段的別名,然後按兩次 Tab 鍵(對於 VB 只需按一次 Tab 鍵)即刻插入代碼段。在插入代碼段之後,您可以通過按 Tab 鍵和 Shift+Tab 鍵跳到代碼段的不同區域。這允許您快速更改需要修改的代碼部分。請注意:在 C# 中,代碼段別名也具有 IntelliSense。您可以在 IntelliSense 列表中通過其代碼段圖標指明某一項為代碼段。

圖8:IntelliSense 完全支持代碼段

如果忘記了代碼段的別名,還可以按“Ctrl+K、Ctrl+X”在代碼編輯器內插入別名,也可單擊鼠標右鍵,然後選擇“插入代碼段...”。這會顯示代碼段選取器,使用它可以浏覽適用於當前編程語言的所有代碼段以及選擇要插入的代碼段。這種插入代碼段的方法對於 C# 和 Visual Basic 均有效。對於 Visual Basic 用戶,還可以有另一種插入代碼段的方式:您可以鍵入代碼段別名的前幾個字母,後跟“?”,然後按 Tab 鍵。Visual Studio 會顯示一個按字母排序的列表,其中包含與突出顯示的內容最為匹配的所有代碼段的別名。此功能僅適用於 Visual Basic 用戶。

圖9:在 C# 中插入代碼段

從個人角度將,最令人興奮的代碼段功能部分是,您可以為個人使用而創建自己的代碼段,也可以將其分享給其他同行使用。當然,您也可以下載其他開發人員創建好的代碼段。

在 Visual Studio 內部非常容易就可以創建您自己的代碼段。我將通過一個示例說明如何操作。我經常會編寫一些應急的實用程序來幫助我完成工作。其中的許多實用程序都有通用的模式:打開某個文件,執行一些處理,然後關閉該文件。以下是我的代碼段的創建步驟。

步驟 1: 創建 XML 文件。每個代碼段都包含在一個 XML 文件中。在 Visual Studio 內部,只要轉到“文件”>“新建. . .”>“文件. . .”,然後選擇“XML 文件”類型即可。

圖10:創建新的 XML 文件

步驟 2:定義代碼段。如果有足夠的興趣,甚至還有一個可創建代碼段的代碼段。只要在該文件的第二行按下 Ctrl+K、Ctrl+X,選擇“Snippet”代碼段,就會自動為您插入一個代碼段文件的模板。

圖11:使用 XML 代碼段來創建其他代碼段

標題、作者、快捷鍵和描述字段這些內容不言自明,我就不再具體說明了。 標簽中的內容值得討論,我下面的例子可以對此給出最好的解釋。

實際上,您將所有代碼放在了 標簽之內,而該標簽是在 標簽的內部。對於那些希望用戶可以輕松替換的字段,您可以在這些字段兩邊放置一對“$”字符。在我的示例中,我設置了三個我的代碼段用戶可以輕松替換的參數:StrmReader、FilePath 和 Line。這三個參數在 CDATA 部分的內部使用,每個參數兩側都有一對“$”字符。此外,每個參數也必須在 元素中進行定義。為每個參數指定一個 ID 和一個默認值(可選)。

敏銳的讀者會注意到,在我的代碼段內部還有另外一個我沒有定義的參數: $end$。這是一個特殊參數,用於指定用戶在代碼段字段中填寫完內容並按下 Enter 鍵後光標所在的位置。還有一個我在此處沒有列出的特殊參數:$selected$。$selected$ 參數只對 SurroundsWith 類型的代碼段有意義。它用於定義在使用“Surround With...”插入此代碼段時所選的代碼段的放置位置。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0"
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>File Processing</Title>
<Author>James Lau</Author>
<Shortcut>fp</Shortcut>
<Description>Opens a file, does some processing, and then closes the file.
</Description>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>StrmReader</ID>
<Default>strmReader</Default>
</Literal>
<Literal>
<ID>FilePath</ID>
<Default>fPath</Default>
</Literal>
<Literal>
<ID>Line</ID>
<Default>strLine</Default>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[    
StreamReader $StrmReader$ = null;
try
{
$StrmReader$ = new StreamReader($FilePath$);
string $Line$;
while (($Line$ = $StrmReader$.ReadLine()) != null)
{
// Perform some processing
$selected$
$end$
}
}
catch (IOException ioex)
{
// Handle exception
}
finally
{
$StrmReader$.Close();
}
]]>
</Code>
</Snippet>
</CodeSnippet>

列表4:代碼段內容示例

自定義 Visual Studio 起始頁

在 Visual Studio 2005 中,新的“起始頁”不只是包含可以提供有關 MSDN 新聞的最新信息的實時 RSS 源。如果希望在“起始頁”上閱讀某些其他的 RSS 源,可以通過選擇“工具”、“選項. . .”、“環境”,然後選擇“啟動”頁面(在此可以編輯“起始頁新聞頻道”下面的 URL),自定義 RSS 新聞頻道。如果希望在每次啟動 Visual Studio 時不要自動顯示“起始頁”,您還可以通過在同一選項頁面中選擇“啟動時”下面的“顯示空環境”來更改此行為。

團隊設置

Visual Studio 2005 中另外一個少有人知的新功能是“團隊設置”。如果您在團隊環境下工作(大部分情況下是如此),那麼“團隊設置”可以幫助您強制執行團隊編碼規則或者更快地設置 Visual Studio。

讓我們假定您要在團隊內部強制執行一組基本的代碼格式規則。您可以只創建設置文件,讓您的團隊成員指向該文件,而不必指定這些規則的內容並讓每個團隊成員自定義其 IDE 選項以遵從這些規則。無論何時更新團隊設置文件,該文件都會在用戶下次啟動 Visual Studio 時自動導入來改寫已有的設置。以下步驟說明了如何使用這個強大的功能。

步驟 1:創建設置文件。您可以使用“團隊設置”來強制執行任何您需要的 IDE 自定義設置。開發人員使用“團隊設置”最常進行的設置應該是代碼格式設置。不過,您也可以將此功能用於任何可以導出的 Visual Studio 設置,如“字體與顏色”、“SourceSafe 設置”、“鍵盤快捷方式”和“菜單自定義”,等等。只要在 Visual Studio 內部自定義所需的設置,然後使用“工具”>“導入/導出設置. . .”將其導入到已知位置即可。請僅導入要與團隊享的那組設置,這一點很重要。

步驟 2:在 UNC 路徑中放置設置文件。將步驟 1 中導出的設置文件復制到您的團隊成員可以訪問的網絡路徑中。在我的計算機上,我在\\jameslau\public\teamsettings.settings路徑下共享了我的團隊設置文件。

步驟 3:更改“團隊設置”路徑。讓團隊成員更改他們的“團隊設置”路徑,使其指向您的團隊設置文件。他們可以轉到“工具”>“選項. . .”>“環境”>“導入和導出設置”來完成此操作。選擇(選中)“使用團隊設置文件”復選框,指定團隊設置文件的路徑。

圖12:用於更改“團隊設置”路徑的“選項”對話框

/resetuserdata 參數

我要與大家分享的最後一個技巧與 /resetuserdata 參數有關。如果 Visual Studio 在運行時被損壞,且無法從損壞狀態進行恢復,您可以使用此參數將 Visual Studio 重置到其使用之初的狀態。這些問題的例子可能包括:窗口布局文件被破壞、菜單自定義文件被破壞,或者鍵盤快捷方式文件被破壞。免責聲明:如果使用此參數,您將丟失所有的環境設置和自定義設置。出於這個原因,Microsoft 不公開支持使用此參數,而且也沒有將這個參數公之於眾(如果在命令提示行中鍵入 devenv.exe /?,您不會看到顯示此參數)。如果遇到環境方面的問題,應該將這個方法作為不得已而為之的辦法,並且確保在使用此參數前,已通過導出環境設置對其進行了備份。

要使用此參數,請執行以下操作:

關閉所有 Visual Studio 2005 實例。

單擊“開始”,選擇“運行...”。

鍵入“devenv.exe /resetuserdata”。

此命令會運行幾分鐘時間,與此同時,Visual Studio 清除設置並將其自身重置到其最初的狀態。此時,您可以打開“任務管理器”來檢查 devenv.exe 進程是否仍在運行。在結束運行後,可以重新啟動 Visual Studio。此時會再次出現首次啟動對話框,就像在計算機上第一次運行 Visual Studio 一樣。

總結

我們將通過我們的努力工作,不斷為您帶來 Visual Studio 的實用高效的功能。我希望這些技巧能對您有用,可以幫助您成為 Visual Studio 高級用戶。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved