Esempio n. 1
0
        public BuildToolsServer(
            IProject project,
            ICommunicationChannel channel,
            IOutputWindowManager outputWindow,
            IBuildErrorProcessor errorProcessor,
            IProjectSourceManager projectSources,
            UnconfiguredProject unconfiguredProject)
        {
            _project        = project;
            _channel        = channel;
            _outputWindow   = outputWindow;
            _errorProcessor = errorProcessor;
            _projectSources = projectSources;

            // Build integration is not implemented for VisualC projects
            if (unconfiguredProject?.Capabilities?.Contains("VisualC") != true)
            {
                _project.RunWhenLoaded((_) =>
                {
                    _serverLoopCts = new CancellationTokenSource();
                    VSPackage.TaskFactory.RunAsyncWithErrorHandling(RunServerLoopAsync);
                });
                _project.Unloaded += () => _serverLoopCts.Cancel();
            }

            _projectName = unconfiguredProject != null?Path.GetFileName(unconfiguredProject.FullPath) : "";
        }
        /// <summary>
        /// Gets the output window pane corresponding to the package, using the package
        /// <c>GuidAttribute</c> attribute as the pane identifier. The pane title is
        /// determined by the package class <c>DisplayNameAttribute</c> or its namespace
        /// if no display name is provided.
        /// </summary>
        /// <param name="manager">The output window manager.</param>
        /// <param name="package">The owning package.</param>
        /// <returns></returns>
        public static TextWriter GetPane(this IOutputWindowManager manager, IServiceProvider package)
        {
            var title = package.GetType().GetCustomAttributes <DisplayNameAttribute>()
                        .Select(d => d.DisplayName)
                        .FirstOrDefault() ?? package.GetType().Namespace;

            return(GetPane(manager, package, title));
        }
Esempio n. 3
0
 public EvaluateSelectedCommand(
     IProject project,
     IActiveCodeEditor codeEditor,
     QuickInfoEvaluateSelectedState state,
     IOutputWindowManager outputWindow,
     ICommunicationChannel channel,
     SVsServiceProvider serviceProvider,
     IErrorListManager errorListManager) : base(Constants.EvaluateSelectedCommandSet, Constants.EvaluateSelectedCommandId, serviceProvider)
 {
     _project          = project;
     _codeEditor       = codeEditor;
     _quickInfoState   = state;
     _outputWindow     = outputWindow;
     _channel          = channel;
     _errorListManager = errorListManager;
 }
Esempio n. 4
0
 public ActionLogger(IOutputWindowManager outputWindow, IErrorListManager errorList)
 {
     _outputWriter = outputWindow.GetExecutionResultPane();
     _errorList    = errorList;
 }
        /// <summary>
        /// Gets the output window pane corresponding to the package, using the package
        /// <c>GuidAttribute</c> attribute as the pane identifier.
        /// </summary>
        /// <param name="manager">The output window manager.</param>
        /// <param name="package">The owning package.</param>
        /// <param name="title">The title of the pane.</param>
        public static TextWriter GetPane(this IOutputWindowManager manager, IServiceProvider package, string title)
        {
            var id = package.GetPackageGuidOrThrow();

            return(manager.GetPane(id, title));
        }