예제 #1
0
        public void Clear()
        {
            if (!EnsureInitilizeConsole())
            {
                return;
            }

            UIInvoke(() => _wpfConsole.Clear());
        }
예제 #2
0
        public bool IsPackageInstalled(string projectName, string packageId, string version)
        {
            _wpfConsole.Clear();
            var command = $"Get-Package {packageId} -ProjectName {projectName}";

            if (WaitForActionComplete(() => RunCommand(command), TimeSpan.FromMinutes(5)))
            {
                var snapshot = (_wpfConsole.Content as IWpfTextViewHost).TextView.TextBuffer.CurrentSnapshot;
                for (var i = 0; i < snapshot.LineCount; i++)
                {
                    var snapshotLine    = snapshot.GetLineFromLineNumber(i);
                    var lineText        = snapshotLine.GetText();
                    var packageIdResult = Regex.IsMatch(lineText, $"\\b{packageId}\\b", RegexOptions.IgnoreCase);
                    var versionResult   = Regex.IsMatch(lineText, $"\\b{version}\\b", RegexOptions.IgnoreCase);
                    if (packageIdResult && versionResult)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }