VisualStudio Shell簡介 — 界面定制


項目組成

首先我們來看一下模板自動生成的工程文件:

    

它包括兩個C++工程和兩個C#工程,首先我們來看兩個C++的工程:

  1. VSShellStub1, 這個是系統的啟動項,它是最終的exe文件的項目。
  2. VSShellStub1UI, 從名字上來看,它是對系統的UI進行一些微調的管理。

打開這兩個C++工程看就知道,它們的cpp代碼非常少,VSShellStub1UI中幾乎沒有cpp代碼,VSShellStub1中也只有幾個系統自動生成的cpp文件,幾乎不需要手動修改。但是,它有一些配置文件,從而使得我們可以實現對系統組件的定制。

然后再來看看兩個C#的工程。

  1. VSShellStub1.AboutBoxPackage, 這個是系統自動生成的一個示例的插件,提供了一個菜單和一個AboutMe的對話框,是插件的主體實現部分,我們可以在工程中增加一個或多個這樣的插件。
  2. ShellExtensionsVSIX, 這個工程則是一個類似插件管理器,只有一個xml格式的配置文件,通過它可以配置哪些插件需要加載。

從中我們可以看出,這個Shell框架是一個或多個插件 + 三個配置工程來組成的。

程序基本信息的修改

通過修改后綴為Application.pkgdef的文件可以修改一些程序的基本信息,主要包括標題,圖標,啟動畫面等。

    

組件定制

Visual Studio Shell集中模式默認是附送了許多組件的。(具體可以參看這個鏈接:http://msdn.microsoft.com/zh-cn/library/vstudio/bb685691.aspx

    

但是,如果我們開發的不是一個GUI界面的編程語言時,往往使用不了這么多組件,這是我們就需要對組件進行定制,對組件的精簡大多並不需要寫代碼,主要是修改配置文件。一般有這幾個文件可以修改:

pkgdef文件

這個文件中主要配置了那些文件夾下的組件會被定制下來,通過刪除不必要的加載路徑可以屏蔽大多數組件。

    

pkgundef文件

有一些核心組件是必須加載的,因此不能通過pkgdef屏蔽,此時可以通過后綴為"pkgundef"的配置文件進行微調。

    

從其命名就可以看出,這個文件中配置的組件都會被屏蔽掉,只需要把相關包的注釋放開即可。

ApplicationCommands.vsct文件

這個文件則用於屏蔽系統附送的視圖、工具欄、命令等,屬於進一步微調性質。

    

使用方式也是一樣,放開注釋即可。

通過配置文件定制

由於Visual Studio的菜單,工具欄都是可以自定義的,對於一些找不到如何定制的菜單,還可以通過自定義菜單、工具欄的方式進行定制,然后把它放到General.vssettings文件中作為默認配置發布。具體操作方法可以參看這個地址Customize MenuBar Menu titles in Visual Studio 2010/2012

不過,這種方式的定制是可逆的,用戶可以通過自定義菜單將其還原回來,用於個性化到還是可以。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM