【问题标题】:Visual Studio 2010 ExtensionsVisual Studio 2010 扩展
【发布时间】:2011-03-18 07:33:22
【问题描述】:

我正在为 Visual Studio 2010 编写自己的抽象扩展,它具有与 Ook Language Integration 类似的功能。

我有一个问题,是否可以将我自己的 AutoCompletion 与标准的 C++ VS 自动完成混合?怎么做?是否需要使用VS的库并调用一些方法?

【问题讨论】:

    标签: visual-studio-2010 intellisense vsx


    【解决方案1】:

    This 是向 C# 智能感知添加功能的一个很好的例子。

    首先你应该捕获completionSession并使用它。

    像这个 sn-p,但在 C++ 中

        [Export(typeof(IIntellisensePresenterProvider))]
        [ContentType("text")]
        [Order(Before = "Default Completion Presenter")]
        [Name("Object Intellisense Presenter")]
        internal class IntellisensePresenterProvider : IIntellisensePresenterProvider
        {
            [Import(typeof(SVsServiceProvider))]
            IServiceProvider ServiceProvider { get; set; }
    
            #region Try Create Intellisense Presenter
    
            #region Documentation
            /// <summary>
            /// Inject the IntelliSense presenter
            /// </summary>
            /// <param name="session"></param>
            /// <returns></returns>
            #endregion // Documentation
            public IIntellisensePresenter TryCreateIntellisensePresenter(IIntellisenseSession session)
            {
                #region Validation (is C#)
    
                const string CSHARP_CONTENT = "CSharp";
                if (session.TextView.TextBuffer.ContentType.TypeName != CSHARP_CONTENT)
                {
                    return null;
                }
    
                #endregion // Validation
    
                ICompletionSession completionSession = session as ICompletionSession;
                if (completionSession != null)
                {
                    var presenter = new IntelliSenseViewModel(ServiceProvider, completionSession);
                    return presenter;
                }
                return null;
            }
    
            #endregion // Try Create Intellisense Presenter
        }
    

    希望有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      相关资源
      最近更新 更多