vs插件开发 驼峰示例
-
确保安装了vs扩展开发工具
-
创建插件项目
-
添加command
-
在.vsct文件中将添加的命令调整到编辑菜单中
-
实现具体的逻辑
逻辑可以在Command中的Execute方法内实现 -
获取vs中选中的文本
var dte = await this.ServiceProvider.GetServiceAsync(typeof(DTE)) as DTE;
Document doc = dte.ActiveDocument;
var x = doc.Selection.ToString();
TextSelection textSelection = doc.Selection as TextSelection;
- 修改选中的文本
textSelection.Text = GenName(textSelection.Text);
设置快捷键
命令可以同时具有与之关联的单键绑定和双键绑定。 单个键绑定的一个示例是 "保存 + "命令 的Ctrl S。 双键绑定需要两个连续的键组合来触发命令。 双键绑定的一个示例是 Ctrl+K、Ctrl+K 来设置书签。
属性 | 说明 |
---|---|
guid | 必需。 |
id | 必需。 |
编辑器 | 必需。 编辑器 GUID 指示此键盘快捷方式将处于活动状态的编辑上下文。 全局绑定范围值为"guidVSStd97"。 |
key1 | 必需。 有效值包括所有可键入的字母数字,以及前面带有 0x 和 VK_constants的两位数十六进制VK_constants。 |
mod1 | 可选。 控件 、Alt****和 Shift 的任意组合 ,用 空格分隔。 |
key2 | 可选。 有效值包括所有可键入的字母数字,以及前面带有 0x 和 VK_constants的两位数十六进制VK_constants。 |
mod2 | 可选。 控件 、Alt****和 Shift 的任意组合 ,用 空格分隔。 |
emulator | 可选。 |
条件 | 可选。 请参阅 条件属性。 |
设置对应的功能对应的guid和id,
<KeyBinding guid="guidFormatExtPackageCmdSet" id="cmdidFromatSelectionCommand" editor="guidVSStd97" key1="B" key2="x" mod1="Alt" mod2="Alt" />
其他
获取解决方案名称及解决方案路径
using EnvDTE;
using EnvDTE80;
using Microsoft.VisualStudio.Shell;
using System.IO;
var dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2;
var solution = dte2.Solution;
var SolutionName = Path.GetFileName(solution.FullName); //解决方案名称
var SolutionPath = Path.GetDirectoryName(solution.FullName);//解决方案路径
var dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2;
var projects = (UIHierarchyItem[])dte2?.ToolWindows.SolutionExplorer.SelectedItems;
var project = projects[0].Object as Project;
示例代码
KeyBinding 元素
Virtual-Key 代码
Visual Studio 菜单的 guid 和 id
快捷键
VS插件(VSIX获取解决方案和项目信息)
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com