VS 2010ソリューションエクスプローラを介して別のフォルダにファイルをドラッグすると、誰かが警告を表示する拡張子を知っているのだろうかと思います。何度も私はファイル上にあり、コンピュータは1秒間遅れる可能性があります。突然ファイルが別のフォルダにあり、気付かないかもしれません。ドラッグファイル警告拡張VS 2010?
答えて
ソリューションエクスプローラで機能防ぐ偶発ドラッグ&ドロップを持ってVSCommands 2010呼ば利用できるVisual Studioの拡張機能があります。
編集 機能は無料ではありませんProのパッケージの一部です。
無料ではありません。ショッピングの質問は吸う。 –
@ハンスあなたは正しいです - 私は私の答えを更新しました。 – shamp00
無料のVisual Studioエクステンションはわかりませんが、Visual Studioグローバルにフックする方法を示すAddinのC#サンプルでは、ファイル名を変更するファイル名を変更します。&これはIVsTrackProjectDocumentsEvents2インターフェイスに基づいています。
ニーズに合わせて2つのOnQueryxxxメソッドを拡張する必要があります。
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...
...完全に...このコードの使用を開始する方法を必ず確認してください。 vs2010のアドインをコーディングする方法に関連するサンプルプロジェクト/サンプル/リソースにリンクできますか? – perfectionist
@perfectionist - Visual Studioを使用してこのようなアドインを作成できます。新規プロジェクト/その他のプロジェクトタイプ/拡張機能とVisual Studioアドインを選択して、コードをコピーして貼り付けます。しかし、手元に開発者がいなければ、OnQueryRename/Removeの動作を実装することはできません。 –
これは実現可能かもしれません - あなたは確かに私に何かを与えました問題について、あなたはここで賞金を授与されます。 Huzzah。結果とともにこの質問に返信します。 – perfectionist
- 1. Fortranランタイム警告:拡張子:$記述子
- 2. SQL Server 2012の\ VS 2010のカスタムファイル拡張子
- 3. VS 2010拡張機能のコードエディタでファイルレスソースコードドキュメントを開きます
- 4. 警告 "GNU声明発現拡張の使用"
- 5. Javascript警告ポップアップがPHPセッションを拡張しますか?
- 6. Chrome拡張 - 永久警報
- 7. 警告MSB8012ビルディングfltk.sln for VS 2015
- 8. Windowsの展開されていない拡張機能のChrome拡張機能の警告、チュートリアル
- 9. VS 2010の拡張機能のツールウィンドウで一部のキーが機能しない
- 10. SQL拡張プロパティとBCS Sharepoint 2010
- 11. Sharepoint 2010カスタム404ページ - asp拡張子
- 12. Visual Studio/Team Foundation Server 2010の拡張
- 13. 警告は警告
- 14. PhpStorm警告 - ディレクトリを解決できません - ファイル拡張子なしのhref
- 15. Javaジェネリックスの拡張で未確認のキャスト警告が生成される
- 16. 警告: 'auto'タイプ指定子はC++ 11拡張です[-WC++ 11-extensions]
- 17. ここでどれChrome拡張機能開発、なぜこの警告が
- 18. SimpleUrlAuthenticationFailureHandlerを拡張すると、マッピングなしの404が生成される警告
- 19. VS 2013を使用してVS 2010拡張機能を構築する方法は?
- 20. Swiftのパブリック拡張:Float vs Float.type
- 21. WPFウィンドウアプリケーションフォームのVS拡張コマンドを開く
- 22. VSコード更新削除拡張
- 23. VSコードresxファイルの拡張子
- 24. タグvs twig拡張機能の機能
- 25. SATA PCI-E拡張カードvs SSD
- 26. 警告
- 27. VSコード拡張API:既存のファイルエクスプローラを拡張/拡張することは可能ですか?
- 28. vsコード - ロールバック拡張機能/特定の拡張機能をインストールする
- 29. guideline cruiscontrol.net in vs 2010 2010
- 30. VS 2010でjavascriptのコンパイル警告を無効にするにはどうすればよいですか?
shamp00の回答が正しいことを選択して、彼に賞金を授与できますか?そうでなければ、この質問は前に閉鎖され、彼は賞金賞を失うことになるでしょう。 – Will
Hmmm。 Chobo2 - あなたは質問の基準の一部として「無料」を指定していませんでしたが、非自由回答が投稿された後に賞金を払って「無料」と言われたのでしょうか... ...あなたが賞金を獲得するかどうか、誰かが無料でエクステンションを見つけられるように、100ポストの報奨金を掲示します - これを閉じると新しい質問になります。 – perfectionist
いいえ私は可能な答えが出される前に賞金を出しました(なぜ私は私の元の質問を決して編集しなかったのですか)。私は本当にこの拡張を見つけることを望んでいるので、私はこの質問を終わらせるつもりはない(それは無料である - 一つの特徴のためにVSCommandsを50ドル支払うつもりはないので、なぜ賞金をshamp00に報酬を与えなかったのか?私が求めている機能のほんの一部にちょうどいいです。) – chobo2