Ejemplo n.º 1
0
        public static object GetSelectedItem()
        {
            var monitorSelection = ServiceProvider.GetService <SVsShellMonitorSelection>() as IVsMonitorSelection;

            monitorSelection.GetCurrentSelection(out var hierarchyPointer,
                                                 out var itemId,
                                                 out _,
                                                 out var selectionContainerPointer);

            try
            {
                if (Marshal.GetTypedObjectForIUnknown(
                        hierarchyPointer,
                        typeof(IVsHierarchy)) is IVsHierarchy selectedHierarchy)
                {
                    ErrorHandler.ThrowOnFailure(selectedHierarchy.GetProperty(itemId,
                                                                              (int)__VSHPROPID.VSHPROPID_ExtObject, out var selectedObject));
                    return(selectedObject);
                }

                return(null);
            }
            finally
            {
                Marshal.Release(hierarchyPointer);
                Marshal.Release(selectionContainerPointer);
            }
        }
Ejemplo n.º 2
0
        public ErrorListPackageEventProcessor(IServiceProvider serviceProvider)
        {
            _serviceProvider = serviceProvider as ISharperCryptoAnalysisServiceProvider;
            if (_serviceProvider == null)
            {
                throw new ArgumentException("Wrong argument type");
            }

            var toolManager = _serviceProvider.GetService(typeof(IToolWindowManager)) as IToolWindowManager;

            _toolWindow = toolManager?.ShowToolPane().Result;
            _viewModel  = _serviceProvider.ExportProvider.GetExportedValue <IAnalyzerDetailViewModel>();
        }
 public AnalyzerReportsViewModel(ISharperCryptoAnalysisServiceProvider serviceProvider)
 {
     _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
     AnalyzerManager  = _serviceProvider.GetService <IAnalyzerManager>();
 }
        public SettingsProvider(ISharperCryptoAnalysisServiceProvider serviceProvider)
        {
            var cm = serviceProvider.GetService <ISharperCryptoApiAnalysisSettings>();

            Settings = cm;
        }