Visual Studio - 在设计视图中显示属性窗口,但隐藏在代码视图中

Len*_*ran 6 .net vb.net visual-studio

在设计模式下,每个人都使用"属性"窗口.当我们切换到代码视图时,我们不需要属性窗口.

从设计视图进入代码视图时是否可以自动隐藏属性窗口?

bh_*_*th0 2

对于 vs2015:(也是 vs2017)

\n\n
    \n
  1. 菜单 > 工具 > 扩展和更新
  2. \n
  3. 安装“视觉指挥官”。(现在您有名为“VCmd”的新菜单)
  4. \n
  5. 菜单 >“VCmd”> 扩展...(您将在右侧看到扩展窗格)
  6. \n
  7. 按扩展窗格中的添加按钮。(新选项卡 W\xc4\xb0ndow 将打开。)
  8. \n
  9. 写一个扩展名。
  10. \n
  11. 选择语言为 C#。
  12. \n
  13. 粘贴下面的代码:
  14. \n
  15. 按保存。然后按编译。然后按安装
  16. \n
\n\n
\n\n

edit2:代码适用于 c# winforms + xamarin.android 项目。

\n\n
using EnvDTE;\nusing EnvDTE80;\nusing System.Windows.Forms;\nusing System;\n\npublic class E: VisualCommanderExt.IExtension {\n   private EnvDTE80.DTE2 DTE;\n   private EnvDTE.WindowEvents windowEvents;\n\n   public void SetSite(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) {\n      this.DTE = DTE;\n      DTE.Events.WindowEvents.WindowActivated += OnWindowActivated;\n   }\n\n   public void Close() {\n      // DTE.Events.WindowEvents.WindowActivated -= OnWindowActivated;\n   }\n\n   private void OnWindowActivated(Window gotFocus, Window lostFocus) {\n      //project_details();\n      HidePropertiesWindowInCodeOrTextView(gotFocus);\n\n    }\n\n   public void HidePropertiesWindowInCodeOrTextView(Window gotFocus) {\n      //System.Windows.MessageBox.Show(  gotFocus.Document.Name +"" );\n\n      if (gotFocus.Document == null) return;\n      var pwin = DTE.Windows.Item(Constants.vsWindowKindProperties);\n\n      if (isAndroidProject()) \n      {\n        pwin.AutoHides = !gotFocus.Caption.EndsWith(".axml");\n      }else\n      {\n        pwin.AutoHides = !gotFocus.Caption.EndsWith(" [Design]");\n      }\n\n      //pwin.AutoHides = true;  // pwin.Activate();\n   }\n\n   public bool isAndroidProject() {\n      if (DTE == null || DTE.ActiveWindow == null) return false;\n      var cp = DTE.ActiveWindow.Project;\n      var AndroidApp = System.IO.File.ReadAllText(cp.FullName).Contains("AndroidApplication");\n      return AndroidApp;\n   }\n\n   // for debug , window,document names\n   public void project_details() {\n      try {\n         if (DTE == null || DTE.ActiveWindow == null) return;\n\n         var cp = DTE.ActiveWindow.Project;\n         var ad = DTE.ActiveDocument; //Name Kind\n         var av = DTE.ActiveWindow; // Caption Kind\n         if (cp == null) return;\n\n         var msgp = "aProj:" + (cp != null ? cp.FullName: "[no project for Window]") + "\\r\\n" \n         + "aDoc: " + ad.Name + ", " + ad.Kind + "\\r\\n" \n         + "aWin: " + av.Caption + ", " + av.Kind;\n\n         MessageBox.Show(msgp, "ert4 -anbdapp" + isAndroidProject() );\n\n      } catch(Exception ex) {\n         MessageBox.Show(ex + "");\n      }\n\n   }\n\n\n\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n