Visual Studio Recent Projects Temizleme

Serhat tarafından yazılmıştır. 15. Haziran 2010 11:18

Merhabalar ,
Dün bir arkadaşım Visual Studio'da ki son çalıştığımızı projelerin görüntülendiği "Recent Projects" bölümünden projeleri nasıl sileriz diye uğraşıyordu.Bende demekki lazım oluyor diye düşünerek ufak bir *.dll yazdım ve bu dll ile bu temizleme işlemini yapabilirsiniz.Visual Studo bu proje bilgilerini Registry'de saklamaktadır. Sakladığı adres "Software\Microsoft\VisualStudio\9.0\ProjectMRUList" veya "Software\Microsoft\VisualStudio\10.0\ProjectMRUList" diye ayrılmaktadır.Her versiyon farklı dizinlerde saklanır.Kod çalıştırmadan da Regedit üzerinden belirtilen dizinlere gidip adresleri silebilirsiniz tabi ki :)

Kodlar aşağıdaki gibidir.

public enum IdeVersion
    {
        IDE90,
        IDE10
    }

    public class MicrosoftIdeRejectProjectsFile
    {
        private IdeVersion versionSelect = IdeVersion.IDE90;

        public MicrosoftIdeRejectProjectsFile(IdeVersion setVersion)
        {
            versionSelect = setVersion;
        }

        public bool Clear()
        {
            bool status = false;
            RegistryKey key = Registry.CurrentUser.CreateSubKey(GetVersion(versionSelect));
            string[] list = key.GetValueNames();
            try
            {
                foreach (string k in list)
                {
                    if (IsFileSolution(key.GetValue(k).ToString()))
                        key.DeleteValue(k);
                }
                status = true;
            }
            catch
            {
                status = false;
            }
            if (list.Length == 0)
                status = true;
            return status;
        }

        private bool IsFileSolution(string filePath)
        {
            bool status = false;
            try
            {
                FileInfo file = new FileInfo(filePath);
                if (file.Extension == ".sln" || file.Extension == ".csproj")
                    status = true;
                else
                    status = false;
            }
            catch
            {
                if (filePath.Contains("vdproj") || filePath.Contains(".sln") || filePath.Contains(".csproj"))
                    status = true;
                else
                    status = false;
            }
            return status;
        }

        private string GetVersion(IdeVersion versionSelect)
        {
            string version = @"Software\Microsoft\VisualStudio\";
            switch (versionSelect)
            {
                case IdeVersion.IDE90:
                    version += "9.0";
                    break;
                case IdeVersion.IDE10:
                    version += "10.0";
                    break;
            }
            version += "\\ProjectMRUList";
            return version;
        }
    }
[/code]

Aşağıda ki gibi Clear() metodunu çağırarak bu temizleme işlemini gerçekleştirebilirsiniz.

[code:c#]

            MicrosoftIdeRejectProjectsFile ide = new MicrosoftIdeRejectProjectsFile(MicrosoftIdeRejectProjectDelete.IdeVersion.IDE10);
            if(ide.Clear())
                Console.WriteLine("Proje listesi temizlendi");
            else
                Console.WriteLine("Proje listesi temizlenemedi");

Örnek kodu aşağıdan indirebilirsiniz.

İndir

İyi Çalışmalar :)

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

C# & .NET

Yorumlar

Yorum ekle


(Gravatar simgesini gösterecek)  

biuquote
  • Yorum
  • Canlı önizleme
Loading



Powered by BlogEngine.NET 1.4.5.0
Bu tema Mads Kristensen tarafından yapılmıştır ve Türkçeleştirilmesi Blog Engine Türkiye ekibi tarafından yapılmıştır.

Son Yorumlar

Comment RSS

Yasal Uyarı

Bu sitede sunulan tüm bilgi ve dökümanların kullanımından ve sitede yapılan kullanıcı yorumlarından (siyasi içerik,hakaret vb.) doğacak sorunlardan yazar sorumlu tutulamaz. 

İçeriğin kaynak belirtilmeden kopyalanması yasaktır !

SERHAT TAŞ

© Copyright 2010