Apakah ada perintah untuk menghapus jendela langsung di Visual Studio?
Saya benci harus mengambil mouse untuk menu klik kanan di sana - lebih suka mengetik "cls" atau sesuatu.
Apakah ada perintah untuk menghapus jendela langsung di Visual Studio?
Saya benci harus mengambil mouse untuk menu klik kanan di sana - lebih suka mengetik "cls" atau sesuatu.
Jawaban:
Untuk menghapus jendela langsung, Anda dapat menggunakan >cls
, yang merupakan alias perintah standar untuk >Edit.ClearAll
.
Artikel MSDN mencantumkan semua alias standar dan Anda juga dapat menentukan sendiri. (Untuk VS 2010 dan sebelumnya, alias kustom dijelaskan dalam artikel yang terpisah, meskipun.) Memindai melalui, ada membunuh seluruh mereka, beberapa di antaranya bahkan mungkin memiliki akar dalam MS-DOS DEBUG.EXE (khusus >d
, >g
, >p
, >q
, dan> t
muncul dalam pikiran).
Juga perlu diperhatikan, karena hanya ada dua tombol yang harus ditekan: Menu konteks> Hapus Semua menjalankan perintah yang sama dan dapat dinavigasi menggunakan keyboard. Pada jendela langsung, Anda dapat menekan context-menu
, L
.
Jika Anda tidak memiliki context-menu
kunci pada keyboard Anda (Anda tahu, kunci antara right-alt
dan right-ctrl
), Anda dapat menggunakan shift
+ F10
sebagai gantinya.
>
penting. Tidak bisa memikirkan cara alami untuk membuatnya lebih eksplisit dalam jawaban. Juga, lihat Jendela Segera di MSDN untuk tip berguna lainnya.
>cls
sepertinya melakukannya untuk saya.
menemukannya...
"> Edit.ClearAll"
atau
"> cls"
Berikut adalah cara melakukannya pada waktu proses:
Referensi dll EnvDTE di aplikasi Anda.
Buat dan kemudian gunakan fungsi ini seperlunya.
Public Sub ClearImmediateWindow()
Try
Dim vsWindowKindImmediateWindow As String _
= "{ECB7191A-597B-41F5-9843-03A4CF275DDE}"
Try
Dim obj As Object = System.Runtime.InteropServices.Marshal._
GetActiveObject("VisualStudio.DTE.10.0")
If obj IsNot Nothing Then
Dim DTE2 As EnvDTE80.DTE2 = CType(obj, EnvDTE80.DTE2)
For Each wndw As EnvDTE.Window In DTE2.Windows
If wndw.ObjectKind = vsWindowKindImmediateWindow Then
wndw.Activate()
DTE2.ExecuteCommand("Edit.ClearAll")
Exit For
End If
Next
End If
Catch comEx As COMException
' Not running from within the VS IDE?
Catch ex As Exception
Throw ex
End Try
Catch ex As Exception
' Handle this as you desire.
End Try
End Sub
End Sub
VisualStudio.DTE.10.0
untuk VisualStudio.DTE.11.0
dan bekerja. Juga di sini saya menemukan sintaks yang lebih pendek dari jawaban yang sama: http://stackoverflow.com/a/16873888/2721611
Untuk visual studio 2012 saya menggunakan:
Public Sub ClearImmediateWindow()
Dim dte As EnvDTE80.DTE2 = Marshal.GetActiveObject("VisualStudio.DTE.11.0")
dte.Windows.Item("Immediate Window").Activate() 'Activate Immediate Window
dte.ExecuteCommand("Edit.SelectAll")
dte.ExecuteCommand("Edit.ClearAll")
Marshal.ReleaseComObject(dte)
End Sub
untuk secara otomatis menghapus jendela langsung dari kode (perlu menambahkan referensi DTE ke proyek). Jika tidak bekerja coba VisualStudio.DTE.8.0
, VisualStudio.DTE.9.0
, ...
menurut versi visual studio Anda.
Saya menggunakan jawaban terakhir hanya tentang kata demi kata dan berhasil, meskipun saya ingin fokus kembali ke tempatnya. Ini versi C # yang sangat sedikit ditingkatkan. Saya mengaktifkannya dengan sakelar konfigurasi.
#if DEBUG
if (GetIni("Debug", "ClearImmediateWindow", true)) {
try {
var dte = (EnvDTE.DTE) Marshal.GetActiveObject("VisualStudio.DTE.15.0");
var me = dte.ActiveWindow;
dte.Windows.Item("Immediate Window").Activate();
dte.ExecuteCommand("Edit.ClearAll");
me.Activate();
}
catch { /* Meh! */ }