标签: vsx

Visual Studio和加载项卸载

当我从Visual Studio的加载项菜单中删除加载项时,它不会从内存中卸载.有谁知道我是否可以为我的加载项(在C#中)编写一些强制卸载的代码.这甚至可能,还是我必须重启VS?

c# vsx extensibility add-in visual-studio

2
推荐指数
1
解决办法
825
查看次数

如何使用Visual Studio项目模板中的变量设置文件名

我有一个VS 2013项目模板,其中包含如下项目

<ProjectItem ReplaceParameters="true" TargetFileName="Target.xml">Target.xml</ProjectItem>
Run Code Online (Sandbox Code Playgroud)

我想要的是"Target.xml"是MyProjectName.xml.

我知道我可以在文件中使用变量但不能在名称中使用变量.

谢谢

G

vsx visual-studio-templates vsix visual-studio-extensions

2
推荐指数
1
解决办法
2890
查看次数

VS2010:VSIX安装不会在其中部署项模板

给出了两个VSX项目的演示解决方案:1.添加新项目 - >可扩展性 - >项目模板 - "ItemTemplate1"2.添加新项目 - >可扩展性 - > VSIX项目 - "VSIXProject1"

我没有对"ItemTemplate1"进行任何更改,因此它构成了默认项模板(ItemTemplate1.vstemplate):

<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
  <Name>ItemTemplate1</Name>
  <Description>&lt;No description available&gt;</Description>
  <Icon>ItemTemplate1.ico</Icon>
  <TemplateID>e298765c-97b8-4f4c-9b7b-a6b368f914df</TemplateID>
  <ProjectType>CSharp</ProjectType>
  <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
  <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
  <DefaultName>Class.cs</DefaultName>
</TemplateData>
<TemplateContent>
    <References>
        <Reference>
            <Assembly>System</Assembly>
        </Reference>
    </References>
  <ProjectItem ReplaceParameters="true">Class.cs</ProjectItem>
</TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)

在VSIXProject1中,我只编辑了source.extension.vsixmanifest,添加了对ItemTemplates1项目的引用.在此之后,vsixmanifest只包含一个内容描述:

<Content>
    <ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
Run Code Online (Sandbox Code Playgroud)

然后建造它.在bin/debug中我得到了VSIXProject1.vsix,在其中我可以在ItemTemplates\CSharp\1033\ItemTemplate1.zip文件中看到我的项目模板.

一切看起来都很棒!

除了它不起作用的事实.我运行VSIXProject1.vsix,安装了vsix(我可以在扩展管理器中看到它),没有任何模板被复制到"C:\ Users\{UserName}\Documents\Visual Studio 2010\Templates\ItemTemplates"!

vsx visual-studio-2010 visual-studio-sdk vsix

1
推荐指数
1
解决办法
2731
查看次数

拦截Visual Studio粘贴操作

是否可以拦截visual studio的粘贴事件以转换粘贴的文本?我知道我可以编写自己的命令来执行智能粘贴,但对于大多数人来说,将此命令映射到键盘快捷键是一件苦差事.此外,大多数人习惯使用Ctrl + V. 我有机会在那里插入我的商品吗?

vsx events visual-studio-2010 vs-extensibility

1
推荐指数
1
解决办法
342
查看次数

我可以创建一个不需要Visual Studio的可视化DSL吗?

我想创建一个可视DSL(盒子和箭头).我发现我可以使用微软的可视化和建模SDK(用于VS2010的DSL工具续集)创建这样的DSL ,并且还有一个关于这个主题的实验室.但是,一旦我创建了DSL,这将需要Visual Studio 2010来托管我的设计器.

有没有办法要求Visual Studio?使用Windows Workflow Foundation(WF),可以在您自己的应用程序中托管工作流设计器,因此这不是不可能的.

也欢迎其他方法的建议.

dsl vsx dsl-tools

1
推荐指数
1
解决办法
746
查看次数

如何在Visual Studio 2010扩展中添加新图标?

我正在开发Visual Studio 2010扩展,我的窗口内已经有一个工具栏.在那个工具栏上,我有一个按钮,我想给一个图标 - 我自己的图标!我读过这篇文章很棒但是......它解释了如何替换图标.

我想添加一个额外的图标.

我怎么做到这一点?

vsx visual-studio-2010 vsix

1
推荐指数
2
解决办法
1869
查看次数

如何将我的服务注册为全局服务或者如何在我的场景中使用 MEF?

我想创建自己的具有全球知名度的服务。为了实现这一点,我遵循了这个示例解决方案。

一切顺利,我可以在一个类中调用我的服务,该类扩展自 Package 抽象类,如下所示:

public class ClientPackage : Package
{
   private void GetGlobalServiceCallback(object sender, EventArgs args)
   {
      IMyGlobalService service = GetService(typeof(SMyGlobalService)) as IMyGlobalService;
   }
}
Run Code Online (Sandbox Code Playgroud)

因为我在一个包中,所以我可以轻松调用 GetService 并且可以获得我的服务。但是,如果我想从一个不扩展 Package 抽象类的类获取服务,该怎么办?

例如,我有一个类,它实现了 ITagger 接口。如果我想获取此类中的服务,我必须以这种方式使用 Package.GetGlobalService() 方法:

var txtMgr = (IVsTextManager)Package.GetGlobalService(typeof(SVsTextManager));
Run Code Online (Sandbox Code Playgroud)

我尝试使用 Package.GetGlobalServie() 获取自己的服务,但总是得到 null。链接的示例代码不包含我的问题的解决方案。

我可能错过了什么或者我在获得服务时遇到了错误的情况吗?

编辑:

好吧,假设我必须使用 MEF 来获取我的服务,因为我无法使用 Package.GetGlobalService() 获取我的服务。

我有一个包含 2 个项目的解决方案。一种是类库,其中包含这样的接口:

public interface INamesAccessor
{
    IEnumerable<string> GetNames();
}
Run Code Online (Sandbox Code Playgroud)

另一个项目是 VSPackage(与第一个项目有参考),它也实现了我的接口:

[Export(typeof(INamesAccessor))]
public sealed class BitbucketExtensionPackage : Package, INamesAccessor
{
    private IEnumerable<string> _names { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# vsx vsix visual-studio-extensions visual-studio-2013

0
推荐指数
1
解决办法
1343
查看次数