visual-studio之使用自定义ICompletionSourceProvider扩展VS2012 Javascript Intellisense

TianFang 阅读:36 2025-02-15 21:57:57 评论:0

我创建了一个新的类,如下所示

[Order(Before = "High")] [Export(typeof(ICompletionSourceProvider))] 
[ContentType("JavaScript"), Name("EnhancedJavaScriptCompletion")]  
internal sealed class JavaScriptCompletionSourceProvider  
   : ICompletionSourceProvider  
{ }  

CompletionSource
internal sealed class CompletionSource : ICompletionSource, IDisposable 
{ 
    public void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets) 
    { 
    } 
    public void Dispose() 
    { 
    } 
} 

这些都被添加到 Visual Studio Package项目中。
因此,当我尝试使用F5进行调试时,我可以看到调试符号正在加载,并且调试停止在
protected override void Initialize() 
{ 
    Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); 
    base.Initialize(); 
} 

但是,当我编辑.js文件并调用智能感知(即 .点)时,debbger不会分解为类的 ICompletionSourceProviderICompletionSource方法。

所以我的问题是:
  • 1-5在此截屏视频中解决的有关标准Javascript Intellisense的问题http://screencast.com/t/TwDlnpfOV0bX
  • 6如何通过附加选项扩展标准javascript intellisense?
  • 7对于同一个ICompletionSourceProvider,是否可以有两个ContentType类?
  • 请您参考如下方法:

    您的扩展未组合的原因是您尚未将其作为MEF组件添加到.vsixmanifest中。要添加它,

  • 通过在解决方案资源管理器中双击文件来打开.vsixmanifest设计器。
  • 单击断言
  • 单击右侧
  • 上的“新建”
  • 选择“Microsoft.VisualStudio.MefComponent”作为类型
  • 选择“当前解决方案中的项目
  • 选择您的扩展项目

  • 标签:JavaScript
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    关注我们

    一个IT知识分享的公众号