コマンドライン引数を変更してから、実行可能ファイルをデバッグしたいと思います。
デフォルトのVisualStudio UIでは、これにはいくつかの曲がりくねったマウスとキーボードのアクションが必要です。
プロジェクト...右クリック...構成プロパティ...デバッグ...コマンド引数...type args ... ENTER ... F5
この一般的なアクションを他の一般的な操作と同じくらい簡単にする方法はありますか?たとえば、すべてのファイルで次のようなパターンを検索します。
CNTL + SHIFT + F ... タイプ検索パターン ... ENTER
たとえば、カスタム編集ボックスを作成して、デバッグコマンドライン引数にすばやくアクセスできるようにする方法はありますか?または、引数を入力してデバッグを直接開始できる単純な「デバッグダイアログ」をキーバインドでポップアップさせる方法はありますか?例えば.
ALT + F5 ... type args ... ENTER
C++とVisualStudio 2010Expressを使用しています。ありがとう!
以下のマクロが役立つはずです。 [ツール]-> [マクロ]-> [マクロエクスプローラー]を開き、新しいモジュールを作成して編集し、以下のコードをコピーして貼り付けます。必要なコマンドはSetCommandArgsPropertyです。 UIは素晴らしいものではありませんが、機能します(VS 2005、これがVS 2010でも機能することを願っています)。次に、このマクロを実行するためのショートカットを追加します。
詳細は次のとおりです。
[OK]が選択されている場合はプロパティを更新します
Sub SetCommandArgsProperty()
Dim newVal As Object
newVal = InputValue(GetCommandArgsPropertyValue())
If TypeOf newVal Is String Then
SetCommandArgsProperty(newVal)
End If
End Sub
Function InputValue(ByVal defaultText As String)
Dim frm As New System.Windows.Forms.Form
Dim btn As New System.Windows.Forms.Button
Dim edit As New System.Windows.Forms.TextBox
edit.Text = defaultText
edit.Width = 100
btn.Text = "OK"
btn.DialogResult = System.Windows.Forms.DialogResult.OK
frm.Text = "Input command line properties"
frm.Controls.Add(btn)
btn.Dock = System.Windows.Forms.DockStyle.Bottom
frm.Controls.Add(edit)
edit.Dock = System.Windows.Forms.DockStyle.Top
frm.Height = 80
frm.Width = 300
If frm.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Return edit.Text
End If
Return System.DBNull.Value
End Function
Function GetCommandArgsProperty() As EnvDTE.Property
Dim solution As Solution
Dim project As Project
Dim sb As SolutionBuild
Dim str As String
Dim cm As ConfigurationManager
Dim config As Configuration
Dim properties As Properties
Dim prop As EnvDTE.Property
solution = DTE.Solution
sb = solution.SolutionBuild
For Each str In sb.StartupProjects
project = solution.Item(str)
cm = project.ConfigurationManager
config = cm.ActiveConfiguration
properties = config.Properties
For Each prop In properties
If prop.Name = "CommandArguments" Then
Return prop
End If
Next
Next
End Function
Function GetCommandArgsPropertyValue()
Return GetCommandArgsProperty().Value
End Function
Sub SetCommandArgsProperty(ByVal value As String)
GetCommandArgsProperty().Value = value
End Sub
拡張機能CLIArgsMadeEasy2010/2012は、プロジェクトのデバッグセッションのコマンドライン引数をVisual StudioツールバーのIMOの小さなテキストボックスに配置する素晴らしい小さな機能であり、マクロを使用するよりもはるかに簡単で面倒ではありません。
リンク
http://visualstudiogallery.msdn.Microsoft.com/8159cd7d-2c81-47f3-9794-a347ec1fba09?SRC=VSIDE
拡張機能マネージャーの検索ボックスにCLIArgsMadeEasyと入力するだけで、ギャラリーですぐに見つけることができます。知る必要がある場合は、この方法でインストールしました。お役に立てれば!
少なくともVisualStudio 2012では、Alt+F7
ショートカットを使用してプロジェクトのプロパティに直接アクセスできます。
さらに、開かれたプロパティページは通常、最後に開かれたアイテム、つまりConfiguration Properties -> Debugging
を記憶しています。