VisualStudio Shell简介 — 界面定制
项目组成
首先我们来看一下模板自动生成的工程文件:
它包括两个C++工程和两个C#工程,首先我们来看两个C++的工程:
- VSShellStub1, 这个是系统的启动项,它是最终的exe文件的项目。
- VSShellStub1UI, 从名字上来看,它是对系统的UI进行一些微调的管理。
打开这两个C++工程看就知道,它们的cpp代码非常少,VSShellStub1UI中几乎没有cpp代码,VSShellStub1中也只有几个系统自动生成的cpp文件,几乎不需要手动修改。但是,它有一些配置文件,从而使得我们可以实现对系统组件的定制。
然后再来看看两个C#的工程。
- VSShellStub1.AboutBoxPackage, 这个是系统自动生成的一个示例的插件,提供了一个菜单和一个AboutMe的对话框,是插件的主体实现部分,我们可以在工程中增加一个或多个这样的插件。
- 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。
不过,这种方式的定制是可逆的,用户可以通过自定义菜单将其还原回来,用于个性化到还是可以。
VisualStudio Shell简介 — 界面定制的更多相关文章
- VisualStudio Shell简介
VisualStudio Shell是微软效仿Eclipse推出的一个免费的VisualStudio内核,开发者可以通过在其上挂载插件(和传统的VS插件一样),从而快速开发自己的程序.它是Visual ...
- VisualStudio Shell简介 — 集成插件
Visual Studio Shell只是提供了一个内核,我们还需要在其基础上补充功能,从而实现我们自己的IDE.Visual Studio Shell的插件开发和Visual Studio插件开发是 ...
- Shell简介:1分钟理解什么是Shell 脚本语言 解释器 以及编译器和编译语言
Shell简介:1分钟理解什么是Shell 脚本语言 解释器 以及编译器和编译语言 现在我们使用的操作系统(Windows.Mac OS.Android.iOS 等)都是带图形界面的,简单直观,容易上 ...
- shell 简介
shell 简介 shell既是一种命令语言,也是一种程序设计语言.作为命令语言,它交互式地解析和执行用户输入的命令:作为程序设计语言,他定义了各种变量和参数,并提供了许多的高级语言才具有的控制结构, ...
- shell之路【第一篇】shell简介与入门
shell简介 1.Shell 诞生于 Unix,Unix的第一个脚本语言,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,shell使用的熟练程度反映了用户对Unix/ ...
- Microsoft.VisualStudio.Shell.14.0.dll 文件位置
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Platform\Shel ...
- Linux Shell系列教程之(一)Shell简介
本文是Linux Shell系列教程的第(一)篇,更多shell教程请看:Linux Shell系列教程 想要学习linux,shell知识必不可少,今天就给大家来简单介绍下shell的基本知识. S ...
- vs2017添加引用提示“找不到 Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager 服务的实例”解决方案
vs2017添加引用提示“找不到 Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager 服务的实例” 不知道是不是安装时候的问题?解决方法: ...
- shell(shell简介)
1.shell 简介 Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理,shell是一个命令解释器,是一个工具箱, Shell 将相应的操 ...
随机推荐
- ctags+cscope替换sourceinsight
背景 windows环境开发+linux交叉编译的开发模式,代码阅读和编写都用的source-insight. 除了检索,跳转,工程构建等方面,sourceinsight自带了一些宏语言,可以轻松实现 ...
- 动态删边SPFA: [HNOI2014]道路堵塞
[HNOI2014]道路堵塞 题目描述 $A$ 国有 $N$座城市,依次标为$1$到$N$.同时,在这$N$座城市间有$M$条单向道路,每条道路的长度是一个正整数.现在,$A$国交通部指定了一条从城市 ...
- SPOJ 362 Ignore the Garbage 转7进制+简单大数除法
显然正着倒着看仍然是数字的只有7个数:0,1,2,5,6,8,9 所以就是用这7个数组合成不同的数. 将n转换成7进制,对应位输出即可. #include <cstdio> #includ ...
- 移动平台自动化测试:appium(二)
环境搭建.本环境基于win7_x64搭建 安装环境需要用到的工具清单: android sdk:https://developer.android.com/studio/index.html Appi ...
- BZOJ1951 [Sdoi2010]古代猪文 【费马小定理 + Lucas定理 + 中国剩余定理 + 逆元递推 + 扩展欧几里得】
题目 "在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心--" --选自猪王国民歌 很久很久以前,在山的那 ...
- 交叉编译VIM并移植到ARM嵌入式Linux系统
原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybo ...
- c语言数组传递
转自:http://blog.csdn.net/xgmiao/article/details/9570825 点击打开链接 数组作为函数实参: C语言中数组作为函数实参时,编译器总是将其解析为指向数组 ...
- java 复习整理(二 数据类型和几种变量)
源文件声明规则 当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则. 一个源文件中只能有一个public类 一个源文件可以有多个非public类 源文件的名 ...
- Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)
Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2) 最近在做控制算法实现的时候,对于其中参杂的各种差分.卷积很头疼,就在网上搜集了些资料,汇总于此,以做备 ...
- NGINX: 优化 use 参数
转自:http://blog.sina.com.cn/s/blog_5eaf88f10100gkrq.html Nginx use参数分析对比 下图对比了poll select epoll和kqueu ...