基本的に、App_Dataなどと同じように、フォルダーであってもPropertiesに独自の特別な場所があるのと同様に、フォルダーの1つを他のフォルダーの上に「特別なフォルダー」のタイプとして表示したい.
これは可能ですか?
基本的に、App_Dataなどと同じように、フォルダーであってもPropertiesに独自の特別な場所があるのと同様に、フォルダーの1つを他のフォルダーの上に「特別なフォルダー」のタイプとして表示したい.
これは可能ですか?
By default, Visual Studio doesn't support adding special project folders. The Properties folder is hard-coded to behave the way that it does.
However, anything is possible with code. You could build an extension to do this, but it wouldn't be simple. You'd probably need to mess around with the IVsHierarchy
or even implement a project subtype.
基本的に、App_Dataなどと同じように、フォルダーであってもPropertiesに独自の特別な場所があるのと同様に、フォルダーの1つを他のフォルダーの上に「特別なフォルダー」のタイプとして表示したい.
これは可能ですか?
はい:
*.sln
/を生成/変更する独自のスクリプトを作成します*.vcproj
(1) IDE でのソリューションの「手動」の場合: Solution Explorer
、right-click
on Solution node
==> Add
==> New Solution Folder
。
通常、フォルダーはアルファベット順に並べ替えられますが (特別なフォルダーを強制的に先頭にアンダースコアを挿入して、先頭にアンダースコアを挿入します)、MSVS2008 に手動で挿入されたソリューション フォルダーは、新しいフォルダーを "上部" のままにします。アルファベット順にソートされています。ただし、Project
( Filters
「 " " のフィルタ グロブ*.MY_EXTENSION1;*.MY_EXTENSION2
)。
(2) を選択し、独自の*.sln
とを生成*.vcproj
し、独自のフォルダー/フィルターを追加します。これを支援するためのユーティリティをウェブ上で見たことがありません (そのため、独自に作成する必要がありました)。これらの形式はリバース エンジニアリングが難しくありませんが、ほとんどが文書化されていない XML であるため、実験する必要があります。ファイルの内容を説明している優れた Web 記事は、次のようなものだけです。
http://tim.oreilly.com/pub/a/dotnet/excerpt/vshacks_chap1/index.html?page=4
「明るい面」では、ファイルは XML のみであるため、スクリプトの開発では、IDE を介して変更を加え、保存し、必要な変更について「差分」を比較するだけでした。これらの変更は、ファイルを変更するときにスクリプトが挿入するものです。そのため、ファイルを手動で変更する場合、同様にdiff
ファイルを " " 変更して何が変更されたかを確認し、独自のスクリプトを作成することができます。(私見ですが、これらのファイルを操作するためのツールは通常存在しないため、これが最速かつ最も簡単な方法です。)
ツールは/のようCMake
にQMake
生成しますが、あなたが話しているようなフォルダーのカスタマイズは実際には行いません。ただし、これらのファイルには「物事を行う方法が複数あり」、ファイルには、これらのツールが何らかの形で「発見」したさまざまな巧妙なことを行うための多くの文書化されていない機能があるように見えるため、それらの出力も調べます (したがって、生成された出力をコピーしようとすることができます)。*.vcproj
*.sln
私たちは、.NET API がこれらのファイルを処理するのに非常に手間がかかり、実際にはそのタイプの操作用に設計されていないことを発見しましたが、YMMV.
VS 2012 には、私が見つけたばかりの機能があり、この問題を解決してくれました。VSにとっては新しいものではないかもしれません。
プロジェクトの下に「_」で始まるフォルダーを作成します (最初に並べ替えるため)。
フォルダーのプロパティで、「名前空間プロバイダー」を false に設定します。
VS (または ReSharper?) コード分析は、「名前空間がファイルの場所と一致しない」と不平を言うことはありません。
追加する簡単な方法はありませんが、カスタム フォルダCustom Folder
を「盗む」簡単な方法があります。Properties
プロジェクトに通常のフォルダーを追加します。たとえばMyCustomerFolder
。
プロジェクト ファイル xml を開きます。行を検索
<AppDesignerFolder>Properties</AppDesignerFolder>
と置換する
<AppDesignerFolder>MyCustomFolder</AppDesignerFolder>
プロジェクトを再読み込みします。
これで、常に一番上に固定されるカスタム フォルダーが作成されました。