13

Mỗi lần tôi xem biểu mẫu hoặc hộp thoại trong Visual Studio (2005), các ô Thuộc tính và Hộp công cụ hiển thị ở bên phải màn hình của tôi. Đó là điều tốt để có bởi vì chúng hữu ích cho việc thao tác các hộp thoại.Ẩn Thuộc tính/Hộp công cụ Ngăn khi không ở Chế độ xem tài nguyên?

Tuy nhiên, khi tôi chuyển về mã nguồn, các ô này chỉ cản trở ... có cách nào để khiến chúng tự động biến mất không?

+1

này đã được làm rất tỉ mỉ với tôi kể từ khi tôi bắt đầu sử dụng VS. – Blorgbeard

+0

@Blorgbeard Cảm ơn bạn đã đóng tiền thưởng! Hãy xem chúng tôi có nhận được câu trả lời hay không! – theycallmemorty

+0

Có thể bạn cần đặt câu hỏi của mình chính xác hơn để có được câu trả lời hay. – aponomarenko

Trả lời

-1

Nếu bạn nhấp vào biểu tượng 'pin' trên các cửa sổ công cụ đó, bạn có thể chuyển đổi xem các cửa sổ có mở cửa luôn hay chỉ khi con chuột ở gần chúng. Tất nhiên, đôi khi con chuột của tôi đi qua theo hướng đó và chúng bật ra khi tôi không muốn chúng, nhưng đó là cuộc sống ...

+0

Vâng tôi biết về pin, nhưng đó không phải là những gì tôi đang tìm kiếm. :) – theycallmemorty

0

Thay vì bỏ không gian bên phải màn hình, tôi kéo thuộc tính và hộp công cụ của tôi chuyển sang khung bên trái lưu trữ trình khám phá giải pháp và chế độ xem lớp, v.v. Tôi muốn có một hộp đa năng ở một bên của màn hình hơn là có mã được bao quanh. Nếu bạn cần cả hai, bạn có thể đặt hộp công cụ trong cửa sổ giải pháp thám hiểm, sau đó ngăn xếp ngăn thuộc tính bên dưới trình khám phá giải pháp, giữ một vài thuộc tính trong chế độ xem mọi lúc cùng với hộp công cụ.

Tôi biết nó không hoàn toàn là câu trả lời bạn đang tìm kiếm, nhưng đó là một cách khác để giữ cho màn hình bất động sản có sẵn cho mã mà không gây rối với tự động ẩn (tôi thấy tự động ẩn thực sự là một ít phiền toái hơn help.)

4

Tôi đã thực hiện điều gì đó gần đây trong VS2010 bằng cách sử dụng macro hiển thị và ẩn bảng Công cụ khi chuyển qua lại từ mã sang chế độ xem thiết kế trong chế độ xem asp.net MVC3. Nó có thể dễ dàng thích nghi để làm tương tự cho tình huống của bạn tôi nghĩ.

Điều này nằm trong tệp lớp học EnvironmentEvents trong IDE Vĩ mô VS sau nội dung được tạo trước.

<System.ContextStaticAttribute()> Public WithEvents CommandEvents As EnvDTE.CommandEvents 


    Public Sub DTEEvents_OnMacrosRuntimeReset() Handles _ 
    DTEEvents.OnMacrosRuntimeReset 
     CommandEvents = DTE.Events.CommandEvents 
    End Sub 

    Private Sub DTEEvents_OnStartupComplete() Handles _ 
     DTEEvents.OnStartupComplete 
     CommandEvents = DTE.Events.CommandEvents 
    End Sub 

    Public Sub CommandEvents_AfterExecute(_ 
    ByVal Guid As String, _ 
    ByVal ID As Integer, _ 
    ByVal CustomIn As Object, _ 
    ByVal CustomOut As Object) _ 
    Handles CommandEvents.AfterExecute 

     If DTE.Commands.Item(Guid, ID).Name = "View.ViewDesigner" Then 
      DTE.ExecuteCommand("View.Toolbox") 
     End If 

     If DTE.Commands.Item(Guid, ID).Name = "View.ViewMarkup" Then 
      DTE.Windows.Item(Constants.vsWindowKindToolbox).Close() 
     End If 

    End Sub 

Nó có thể được tối ưu hóa tốt hơn bằng cách sử dụng các hướng dẫn của sự kiện chứ không phải là câu lệnh if. Nó hoạt động khi bạn sử dụng các phím nóng để chuyển đổi chế độ xem cũng như menu chế độ xem, nhưng không phải là menu ngữ cảnh.

+0

Điều này có vẻ đầy hứa hẹn! Tôi sẽ xem nếu tôi có thể làm cho nó hoạt động. Hình như tiền thưởng thuộc về bạn. – Blorgbeard

+0

Làm cách nào để mã này hoạt động? Tôi đã dán nó vào MyMacros.EnvironmentEvents, lưu MyMacros, đóng và mở Visual Studio, nhưng khi tôi chuyển sang mã nguồn hoặc thiết kế, không có gì xảy ra. Tôi nên làm gì? – 3per

2

cho vs2015:

  1. Menu> Tools> Extensions và cập nhật
  2. cài đặt "Visual Commander". (Bây giờ bạn có Menu mới gọi là "VCmd")
  3. Trình đơn> "VCmd"> Tiện ích mở rộng ... (Bạn sẽ thấy Ngăn mở rộng ở bên phải)
  4. Nhấn nút Thêm ở ngăn tiện ích mở rộng. (Tab mới Wİndow sẽ mở ra.)
  5. viết tên để gia hạn.
  6. chọn ngôn ngữ là C#.
  7. dán mã bên dưới:
  8. Bấm Lưu. Sau đó nhấn Biên dịch. Sau đó nhấn Install

using EnvDTE; 
using EnvDTE80; 

public class E : VisualCommanderExt.IExtension 
{ 
    private EnvDTE80.DTE2 DTE; 
    private EnvDTE.WindowEvents windowEvents; 

    public void SetSite(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) { 
     this.DTE = DTE; 
     DTE.Events.WindowEvents.WindowActivated += OnWindowActivated; 
    } 

    public void Close() { 
     // i read somewhere this has to be done on close. 
     // but it gives gives me error on every IDE close. so i commented it . 
     //DTE.Events.WindowEvents.WindowActivated -= OnWindowActivated; 
    } 

    private void OnWindowActivated(Window gotFocus, Window lostFocus) { 
      HidePropertiesWindowInCodeOrTextView(gotFocus); 
    } 

    public void HidePropertiesWindowInCodeOrTextView(Window gotFocus) { 
      if (gotFocus.Document == null) return; 
       var pwin = DTE.Windows.Item(Constants.vsWindowKindProperties); 
       pwin.AutoHides = !gotFocus.Caption.EndsWith(" [Design]") ; 
    } 
} 
Các vấn đề liên quan