Bir dosyayı VS 2010 çözüm kaşifi aracılığıyla başka bir klasöre sürüklerseniz uyarı veren bir uzantı olduğunu bilip bilmediğimi merak ediyorum. Çoğu kez bir dosyada olacağım ve bilgisayarım bir saniyeliğine gecikebilir ve aniden dosya şu anda başka bir klasörde ve hatta bunu fark etmeyebilir.Sürükle Dosya Uyarısı Uzatma VS 2010?
cevap
bir özellik engelle kazara Drag Çözüm Explorer yılında & Damla sahiptir VSCommands 2010 denilen mevcut bir Visual Studio uzantısı yok.
Düzenleme özellik özgür değildir Pro paketinin bir parçasıdır.
Ücretsiz değil. Alışveriş soruları emmek. –
@Hans Doğru - Cevabımı güncelledim. – shamp00
Bunu yapmak için ücretsiz bir Visual Studio eklentisi bilmiyorum, ancak burada Visual Studio global'e nasıl bağlanılacağını gösteren bir Addin C# örneğidir. & yeniden adlandırma dosya yönetimini kaldırın. IVsTrackProjectDocumentsEvents2 arayüzüne dayanmaktadır.
İhtiyaçlarınıza uygun iki OnQueryxxx yöntemini genişletmeniz gerekir.
using System;
using System.Diagnostics;
using EnvDTE;
using EnvDTE80;
using Extensibility;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
namespace MyAddin1
{
public class Connect : IDTExtensibility2, IVsTrackProjectDocumentsEvents2
{
private uint _trackerCookie;
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// the Addin project needs assembly references to Microsoft.VisualStudio.Shell, Microsoft.VisualStudio.Shell.Interop && Microsoft.VisualStudio.OLE.Interop
// any version should do
ServiceProvider sp = new ServiceProvider((Microsoft.VisualStudio.OLE.Interop.IServiceProvider)_applicationObject);
IVsTrackProjectDocuments2 tracker = (IVsTrackProjectDocuments2)sp.GetService(typeof(SVsTrackProjectDocuments));
// ask VS to notify us of files & directories changes
tracker.AdviseTrackProjectDocumentsEvents(this, out _trackerCookie);
}
public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
{
if (_trackerCookie != 0)
{
// we quit, tell VS not to notify us anymore
ServiceProvider sp = new ServiceProvider((Microsoft.VisualStudio.OLE.Interop.IServiceProvider)_applicationObject);
IVsTrackProjectDocuments2 tracker = (IVsTrackProjectDocuments2)sp.GetService(typeof(SVsTrackProjectDocuments));
tracker.UnadviseTrackProjectDocumentsEvents(_trackerCookie);
_trackerCookie = 0;
}
}
public int OnQueryRenameFiles(IVsProject pProject, int cFiles, string[] rgszMkOldNames, string[] rgszMkNewNames, VSQUERYRENAMEFILEFLAGS[] rgFlags, VSQUERYRENAMEFILERESULTS[] pSummaryResult, VSQUERYRENAMEFILERESULTS[] rgResults)
{
Trace.WriteLine("OnQueryRenameFiles pProject:" + pProject + " old[0]:" + rgszMkOldNames[0] + " new[0]:" + rgszMkNewNames[0]);
// TODO: implement this (I have assumed cFiles is 1 here)
if (!NotRenameOk(old[0], new[0])
{
rgResults[0] = VSQUERYRENAMEFILERESULTS.VSQUERYRENAMEFILERESULTS_RenameNotOK; // nope, it's not ok
}
return 0;
}
public int OnQueryRemoveFiles(IVsProject pProject, int cFiles, string[] rgpszMkDocuments, VSQUERYREMOVEFILEFLAGS[] rgFlags, VSQUERYREMOVEFILERESULTS[] pSummaryResult, VSQUERYREMOVEFILERESULTS[] rgResults)
{
Trace.WriteLine("OnQueryRemoveFiles pProject:" + pProject + " file[0]:" + rgpszMkDocuments[0]);
// TODO: needs to be implemented, use rgResults to tell VS if it's ok or not
return 0;
}
// other IVsTrackProjectDocumentsEvents2 methods implementation omitted for brevity...
... tamamıyla ... bu kodu kullanmaya nasıl başlayacağınıza emin değilsiniz. Karşılıklı olarak vs2010 ekleme kodları ile ilgili herhangi bir uygulanabilir örnek projeler/örnekler/kaynaklar ile bağlantı kurabilir misiniz? – perfectionist
@perfectionist - Böyle bir eklenti oluşturmak için Visual Studio'yu kullanabilirsiniz: Yeni Proje/Diğer Proje Türleri/Genişletilebilirlik ve Visual Studio Eklentisi'ni seçip kopyalayıp kopyalayın. Ancak, elinizde bir geliştirici yoksa, OnQueryRename/Remove ... –
işlerini uygulayamayacaksınız, bu uygun olabilir gibi görünüyor - kesinlikle bana bir şeyler verdiniz sorun hakkında, bu yüzden bu vesile ile ödüllendirilirsiniz. Hurra. Sonuçlar ile bu soruya geri göndereceğim. – perfectionist
- 1. VS 2010
- 2. VS 2010
- 3. VS 2010
- 4. VS 2010 Ilasm.exe
- 5. Vs 2010 premium
- 6. dosya indirme sürükle bırak kullanarak
- 7. Log4Net: Rolling Dosya appender tanımlamak uzatma
- 8. nasıl VS 2010 yılında sanal
- 9. TFS 2012 ve VS 2010
- 10. VS 2010 CSS dosyaları açılmaz
- 11. Visual Studio 2010, dosya
- 12. R bellek sınırı uyarısı vs "alamıyor ..."
- 13. VS 2010 - sürücü eşlemesinde birim testleri
- 14. VS 2010 Dağıtım olmadan Web Dağıtımı
- 15. Dosya yükleme (Sürükle ve Bırak) çalışmıyor
- 16. VB.net - sürükle bırak ve dosya yolunu al?
- 17. UIkit CSS Sürükle/bırak dosya yükleme bileşeni
- 18. Mercurial Uzatma
- 19. VS 2008, .net 3.5 proje VS 2010: türü yüklenemedi ... EntityDesignerBuildProvider
- 20. VS 2010'daki mavi sınırları nasıl değiştirebilirim?
- 21. VS 2010 Birim Testleri Oluşturulurken Hata Oluşuyor
- 22. Bina Yeni Ürün: ASP.NET vs SharePoint 2010
- 23. Güncelleme JScript intellisense hangs VS 2010
- 24. IronRuby 1.3.1 VS 2010 SP1 Kurulumu Yayımlama
- 25. Proje dosyasında VS 2010 ayarları nasıl kaydedilir?
- 26. CefSharp, Windows XP/Server 2003/VS 2010
- 27. VS 2010 uzantısından kod düzenleyicide açık kaynak kodu dökümanını açın
- 28. Uyarısı
- 29. Uzatma olmadan bir dosya adı için yeniden ifade
- 30. VS C# 2010 ile oluşturulmuş bir COM nesnesinin kaydedilmesi
Eğer şampuanın cevabını seçer misin ve ona ödül verir misin? Aksi takdirde, bu soru daha önce kapatılabilir ve ödül ödülünü kaybeder. – Will
Hmmm. Chobo2 - soruya verilen kriterlerin bir parçası olarak "özgür" belirtmediniz - ama özgür olmayan cevabın yayınlanmasından sonra belki de "ücretsiz" demiştiniz ve "bedava" dediniz? ... Ödül kazanıp kazanmadığınızı, Birini kapatırsam yeni bir soru üzerine - ücretsiz bir uzantı bulması için 100 rep ödülünü göndereceğim. – perfectionist
Hayır Herhangi bir olası cevap verilmeden önce ödül verdim (bu yüzden orijinal sorumu asla düzenlemedim). Bu uzantıyı gerçekten bulmak istemediğim için bu soruyu kapatmak için hiçbir planım yok (bu ücretsiz - VSCommands için bir özellik için 50 $ ödemeyecek ve bu yüzden ödemeli bir seçenek olarak bile shamp00'yi ödüllendiremedim. Ben soruyorum bir özellik için çok fazla yol.) – chobo2