/// <summary>Implements the OnConnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being loaded.</summary> /// <param term='application'>Root object of the host application.</param> /// <param term='connectMode'>Describes how the Add-in is being loaded.</param> /// <param term='addInInst'>Object representing this Add-in.</param> /// <seealso class='IDTExtensibility2' /> public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; if (connectMode == ext_ConnectMode.ext_cm_UISetup) { try { _engine = new ScriptEngine(); Emmet4VsAddin.Context context = new Emmet4VsAddin.Context(_applicationObject, _addInInstance, _engine); Emmet4VsAddin.Console console = new Emmet4VsAddin.Console(_applicationObject, _addInInstance, _engine); _engine.Bind("context", context); _engine.Bind("console", console); _engine.Exec(context.Root + "\\startup.js"); } catch { return; } } }
/// <summary> /// /// </summary> /// <param name="dte"></param> /// <param name="addIn"></param> /// <param name="engine"></param> /// <returns></returns> public Console(DTE2 dte, AddIn addIn, ScriptEngine engine) { _dte = dte; _addIn = addIn; _engine = engine; }
internal Script(ScriptEngine engine, IntPtr dispatch) { _engine = engine; _dispatch = Marshal.GetObjectForIUnknown(dispatch); }