Len*_*ran 6 .net vb.net visual-studio
在设计模式下,每个人都使用"属性"窗口.当我们切换到代码视图时,我们不需要属性窗口.
从设计视图进入代码视图时是否可以自动隐藏属性窗口?
对于 vs2015:(也是 vs2017)
\n\nedit2:代码适用于 c# winforms + xamarin.android 项目。
\n\nusing 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}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1499 次 |
| 最近记录: |