コード例 #1
0
        public static VisualStudioUserInfo GetUserInfo()
        {
            VisualStudioUserInfo info = null;

            try
            {
                var subKey = "Software\\Microsoft\\VSCommon\\ConnectedUser\\IdeUser\\Cache";
                var emailAddressKeyName = "EmailAddress";
                var userNameKeyName     = "DisplayName";
                var profileKeyName      = "ProfileUri";

                var root = Registry.CurrentUser;
                var sk   = root.OpenSubKey(subKey);

                if (sk != null)
                {
                    var email   = sk.GetValue(emailAddressKeyName) as string;
                    var user    = sk.GetValue(userNameKeyName) as string;
                    var profile = sk.GetValue(profileKeyName) as string;

                    info = new VisualStudioUserInfo
                    {
                        Email = email,
                        Name  = user,
                        Url   = profile
                    };
                }
            }
            catch (System.Exception)
            {
            }

            return(info);
        }
コード例 #2
0
        public TelemetryWrapper(string visualStudioVersion, string vsxVersion)
        {
            UserInfo            = RegistryKeyReader.GetUserInfo();
            VisualStudioVersion = visualStudioVersion;
            VsxVersion          = vsxVersion;

            var config = TelemetryConfiguration.CreateDefault();

            config.InstrumentationKey = "bb1f7c2e-10ad-42ff-8bbf-e9d02846cb5f";
            config.DisableTelemetry   = Debugger.IsAttached;
            Instance = new TelemetryClient(config);
        }
コード例 #3
0
        private static Dictionary <string, string> Metrics(VisualStudioUserInfo info)
        {
            var metrics = new Dictionary <string, string>();

            metrics.Add("Username", Environment.UserName);
            metrics.Add("Domain Name", Environment.UserDomainName);
            metrics.Add("Machine Name", Environment.MachineName);
            metrics.Add("OS", Environment.OSVersion.ToString());
            metrics.Add("Version", Environment.Version.ToString());
            metrics.Add("x64", Environment.Is64BitProcess.ToString());

            if (info != null)
            {
                metrics.Add("VS User", info.Name);
                metrics.Add("VS User Email", info.Email);
                metrics.Add("VS Profile Link", info.Url);
            }

            return(metrics);
        }