筆記:如何使用XAML Styler以及在不同的開發環境中使用一致

一、目的:分享如何使用XAML Styler以及在不同的開發環境中使用一致

????????XAML Styler 是一個 Visual Studio 擴展,用于自動格式化和整理 XAML 文件。它可以幫助開發者保持一致的代碼風格,提高代碼的可讀性和可維護性。以下是如何在 Visual Studio 中安裝和使用 XAML Styler 的詳細步驟。?


二、安裝 XAML Styler


1.?? ?打開 Visual Studio。
2.?? ?導航到 擴展 > 管理擴展。
3.?? ?在擴展管理器中,搜索 XAML Styler。
4.?? ?點擊 下載 并安裝 XAML Styler 擴展。
5.?? ?重啟 Visual Studio 以完成安裝。


三、配置 XAML Styler


1.?? ?打開 XAML Styler 設置:
??? ?在 Visual Studio 中,導航到 工具 > 選項。
??? ?在選項窗口中,找到 XAML Styler。
2.?? ?配置 XAML Styler:
??? ?在 XAML Styler 設置中,您可以根據需要配置各種選項,如屬性排序規則、縮進設置、換行規則等。


四、創建 settings.xamlstyler 配置文件(可選)


如果您希望在項目中使用自定義的 XAML Styler 配置并且在不同的開發環境中使用一致,可以創建一個 settings.xamlstyler 文件


1.?? ?創建 settings.xamlstyler 文件:


??? ?在項目的根目錄中創建一個名為 settings.xamlstyler 的文件。

?


2.?? ?添加配置:


??? ?在 settings.xamlstyler 文件中添加所需的配置。

例如:

{"AttributesTolerance": 1,"KeepFirstAttributeOnSameLine": true,"MaxAttributeCharactersPerLine": 0,"MaxAttributesPerLine": 1,"NewlineExemptionElements": "RadialGradientBrush, GradientStop, LinearGradientBrush, ScaleTransform, SkewTransform, RotateTransform, TranslateTransform, Trigger, Condition, Setter","SeparateByGroups": false,"AttributeIndentation": 0,"AttributeIndentationStyle": 1,"RemoveDesignTimeReferences": false,"EnableAttributeReordering": true,"AttributeOrderingRuleGroups": ["x:Class","xmlns, xmlns:x","xmlns:*","x:Key, Key, x:Name, Name, x:Uid, Uid, Title","Grid.Row, Grid.RowSpan, Grid.Column, Grid.ColumnSpan, Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom","Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight","Margin, Padding, HorizontalAlignment, VerticalAlignment, HorizontalContentAlignment, VerticalContentAlignment, Panel.ZIndex","*:*, *","PageSource, PageIndex, Offset, Color, TargetName, Property, Value, StartPoint, EndPoint","mc:Ignorable, d:IsDataSource, d:LayoutOverrides, d:IsStaticText","Storyboard.*, From, To, Duration"],"FirstLineAttributes": "","OrderAttributesByName": true,"PutEndingBracketOnNewLine": false,"RemoveEndingTagOfEmptyElement": true,"SpaceBeforeClosingSlash": true,"RootElementLineBreakRule": 0,"ReorderVSM": 1,"ReorderGridChildren": false,"ReorderCanvasChildren": false,"ReorderSetters": 0,"FormatMarkupExtension": true,"NoNewLineMarkupExtensions": "x:Bind, Binding","ThicknessSeparator": 2,"ThicknessAttributes": "Margin, Padding, BorderThickness, ThumbnailClipMargin","FormatOnSave": true,"CommentPadding": 2,"IndentSize": 4
}

3.?? ?配置 XAML Styler 使用 settings.xamlstyler:


??? ?在 XAML Styler 設置中,找到 Search to drivers root,將該值設置成true(此時就會到根目錄去找settings.xamlstyler配置)。
?? ? 或者選擇 External configuration file,并指定 settings.xamlstyler 文件的路徑(本人沒有測試是否可用)。


五、使用 XAML Styler 格式化 XAML 文件


1.?? ?手動格式化:


??? ?打開一個 XAML 文件。
??? ?右鍵點擊文件內容,選擇 Format Xaml或使用快捷鍵應用格式化。


2.?? ?自動格式化:


??? ?如果在 settings.xamlstyler 文件中啟用了 FormatOnSave 選項,保存 XAML 文件時將自動應用格式化。


六、示例


以下是一個示例 XAML 文件,展示了如何使用 XAML Styler 格式化:
原始 XAML 文件

<Window x:Class="H.Test.Halcon.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:ha="http://schemas.mvtec.com/halcondotnet" xmlns:local="clr-namespace:H.Test.Halcon" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:s="clr-namespace:SkiaSharp.Drawing2D.Shape.Shape;assembly=SkiaSharp.Drawing2D.Shape" Title="MainWindow" Width="800" Height="450" mc:Ignorable="d"><Window.DataContext><local:MainViewModel /></Window.DataContext><DockPanel><DockPanel DockPanel.Dock="Top" LastChildFill="False"><Button Command="{Binding LoadCommand}" Content="Load" /><Button Command="{Binding CreateCommand}" Content="Create Model" /><Button Command="{Binding ApplyCommand}" Content="Apply" /><Button Command="{Binding ApplyModelCommand}" Content="Apply Model" /><Button Command="{Binding FindShapeCommand}" Content="Find Shape" /></DockPanel><TabControl><TabItem Header="Image"><Image Source="{Binding ImageSource}" /></TabItem><TabItem Header="ViewStateShapeView"><Grid><ViewStateShapeView><ViewStateShapeView.Shape><s:ImageBluePrintShape ImageSource="{GetAssetsSKBitmapMarkupExtension 1.jpg}" /></ViewStateShapeView.Shape><ViewStateShapeView.InputShapes></ViewStateShapeView.InputShapes></ViewStateShapeView></Grid></TabItem><TabItem Header="ViewStateShapeView"><Grid><ViewStateShapeView Shape="{Binding Shape}" Shapes="{Binding Shapes}" /></Grid></TabItem></TabControl></DockPanel>
</Window>

?格式化后的 XAML 文件

<Window x:Class="H.Test.Halcon.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:ha="http://schemas.mvtec.com/halcondotnet"xmlns:local="clr-namespace:H.Test.Halcon"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:s="clr-namespace:SkiaSharp.Drawing2D.Shape.Shape;assembly=SkiaSharp.Drawing2D.Shape"Title="MainWindow"Width="800"Height="450"mc:Ignorable="d"><Window.DataContext><local:MainViewModel /></Window.DataContext><DockPanel><DockPanel DockPanel.Dock="Top"LastChildFill="False"><Button Command="{Binding LoadCommand}"Content="Load" /><Button Command="{Binding CreateCommand}"Content="Create Model" /><Button Command="{Binding ApplyCommand}"Content="Apply" /><Button Command="{Binding ApplyModelCommand}"Content="Apply Model" /><Button Command="{Binding FindShapeCommand}"Content="Find Shape" /></DockPanel><TabControl><TabItem Header="Image"><Image Source="{Binding ImageSource}" /></TabItem><TabItem Header="ViewStateShapeView"><Grid><ViewStateShapeView><ViewStateShapeView.Shape><s:ImageBluePrintShape ImageSource="{GetAssetsSKBitmapMarkupExtension 1.jpg}" /></ViewStateShapeView.Shape><ViewStateShapeView.InputShapes></ViewStateShapeView.InputShapes></ViewStateShapeView></Grid></TabItem><TabItem Header="ViewStateShapeView"><Grid><ViewStateShapeView Shape="{Binding Shape}"Shapes="{Binding Shapes}" /></Grid></TabItem></TabControl></DockPanel>
</Window>

七、總結


????????通過上述步驟,您可以在 Visual Studio 中安裝和使用 XAML Styler,自動格式化和整理 XAML 文件。這樣可以確保所有 XAML 文件遵循一致的格式化規則,提高代碼的可讀性和可維護性。

????????如果想在多平臺共用配置可以參考四部分的配置。

需要了解的知識點?

XAML概述 - WPF .NET | Microsoft Learn

XAML 語法詳述 - WPF .NET Framework | Microsoft Learn?

XAML - WPF .NET Framework | Microsoft Learn?

標記擴展和 XAML - WPF .NET Framework | Microsoft Learn?

XAML 及自定義類 - WPF .NET Framework | Microsoft Learn?

XAML 命名空間 (x:) 語言功能 - XAML | Microsoft Learn?

XAML 擴展 - WPF .NET Framework | Microsoft Learn?

基元素概述 - WPF .NET Framework | Microsoft Learn?

System.Windows.Controls 命名空間 | Microsoft Learn

控件庫 - WPF .NET Framework | Microsoft Learn

WPF 介紹 | Microsoft Learn

Windows Presentation Foundation 簡介 - WPF .NET | Microsoft Learn

使用 Visual Studio 創建新應用教程 - WPF .NET | Microsoft Learn

了解更多

適用于 .NET 8 的 WPF 的新增功能 - WPF .NET | Microsoft Learn

適用于 .NET 7 的 WPF 的新增功能 - WPF .NET | Microsoft Learn

System.Windows.Controls 命名空間 | Microsoft Learn

Reference Source

Sysinternals - Sysinternals | Microsoft Learn

Windows app development documentation - Windows apps | Microsoft Learn

歡迎使用 Expression Blend | Microsoft Learn

https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/?view=netdesktop-7.0&WT.mc_id=MVP_380318

https://github.com/HeBianGu

HeBianGu的個人空間-HeBianGu個人主頁-嗶哩嗶哩視頻

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72662.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72662.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72662.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分布式存儲學習——HBase概述

1.1 HBase概述 1.1.1 理解大數據背景 1.1.2 HBase是什么 1.1.3 HBase與Hadoop的關系 1.1.4 HBase的核心功能模塊 1.1.5 HBase的應用場景和經典案例 1.1.6 小結 本文參考于學校《HBase應用于開發》教材 1.1 HBase概述 本節將介紹大數據背景和HBase的基本概念&#xff0c…

交叉編譯openssl及curl

操作環境&#xff1a;Ubuntu20.04 IDE工具&#xff1a;Clion2020.2 curl下載地址&#xff1a;https://curl.se/download/ openssl下載地址&#xff1a;https://openssl-library.org/source/old/index.html 直接交叉編譯curl會報錯找不到openssl&#xff0c;所以需要先交叉編…

MDM 如何徹底改變醫療設備的遠程管理

在現代醫療行業迅速發展的格局中&#xff0c;醫院和診所越來越依賴諸如醫療平板和移動工作站等移動設備。這些設備在提高工作效率和提供卓越的患者護理方面發揮著關鍵作用。然而&#xff0c;隨著它們的廣泛使用&#xff0c;也帶來了一系列挑戰&#xff0c;例如在不同地點確保數…

零基礎C語言學習日志22(自定義類型:聯合和枚舉)

目錄 聯合體 聯合體類型的聲明 聯合體的特點 相同成員聯合體和結構體的對比 聯合體大小的計算 例子 枚舉類型 枚舉類型的聲明 枚舉類型的優點 枚舉類型的使用 聯合體 聯合體類型的聲明 像結構體一樣&#xff0c;聯合體也是由一個或者多個成員構成&#xff0c;這些成…

天津大學02-深度解讀DeepSeek:部署、使用、安全【文末附下載鏈接】

大模型風險與不當用例——價值觀錯位 大模型與人類價值觀、期望之間的不一致而導致的安全問題&#xff0c;包含&#xff1a;? 社會偏見&#xff08;Social Bias&#xff09;LLM在生成文本時強化對特定社會群體的刻板印象&#xff0c;例如將穆斯林與恐怖主義關聯&#xff0c;或…

[C語言日寄] 字符串操作函數的使用及其拓展

【作者主頁】siy2333 【專欄介紹】?c語言日寄?&#xff1a;這是一個專注于C語言刷題的專欄&#xff0c;精選題目&#xff0c;搭配詳細題解、拓展算法。從基礎語法到復雜算法&#xff0c;題目涉及的知識點全面覆蓋&#xff0c;助力你系統提升。無論你是初學者&#xff0c;還是…

Qt 進度條與多線程應用、基于 Qt 的文件復制工具開發

練習1&#xff1a;Qt 進度條與多線程應用 題目描述 開發一個基于 Qt 的應用程序&#xff0c;該應用程序包含一個水平進度條&#xff08;QSlider&#xff09;&#xff0c;并且需要通過多線程來更新進度條的值。請根據以下要求完成代碼&#xff1a; 界面設計&#xff1a; 使用 QS…

Gartner:數據安全平臺DSP提升數據流轉及使用安全

2025 年 1 月 7 日&#xff0c;Gartner 發布“China Context&#xff1a;Market Guide for Data Security Platforms”&#xff08;《數據安全平臺市場指南——中國篇》&#xff0c;以下簡稱指南&#xff09;&#xff0c;報告主要聚焦中國數據安全平臺&#xff08;Data Securit…

道可云人工智能每日資訊|《奇遇三星堆》VR沉浸探索展(淮安站)開展

道可云元宇宙每日簡報&#xff08;2025年3月5日&#xff09;訊&#xff0c;今日元宇宙新鮮事有&#xff1a; 《奇遇三星堆》VR沉浸探索展&#xff08;淮安站&#xff09;開展 近日&#xff0c;《奇遇三星堆》VR沉浸探索展&#xff08;淮安站&#xff09;開展。該展將三星堆文…

Spring AI Alibaba + Ollama:國產大模型DeepSeek LLM的低成本AI應用開發認知

寫在前面 官方文檔很詳細&#xff0c;有開發需求可以直接看文檔https://java2ai.com/docs/1.0.0-M5.1/get-started/博文內容為一個開發Demo&#xff0c;以及API簡單認知理解不足小伙伴幫忙指正 &#x1f603;,生活加油 我看遠山&#xff0c;遠山悲憫 持續分享技術干貨&#xf…

解決:Word 保存文檔失敗,重啟電腦后,Word 在試圖打開文件時遇到錯誤

殺千刀的微軟&#xff0c;設計的 Word 是個幾把&#xff0c;用 LaTex 寫完公式&#xff0c;然后保存&#xff0c;卡的飛起 我看文檔卡了很久&#xff0c;就關閉文檔&#xff0c;然后 TMD 腦抽了重啟電腦 重啟之后&#xff0c;文檔打不開了&#xff0c;顯示 殺千刀的&#xff…

掌握高效大模型任務流搭建術(二):鏈式流程如何賦能 AI 處理能力提升

前言&#xff1a; 在上一篇文章中&#xff0c;我們初步探索了 LangChain 的基礎鏈式操作——LLMChain。它巧妙地將大語言模型&#xff08;LLM&#xff09;與提示模板&#xff08;Prompt Template&#xff09;相結合&#xff0c;為模型交互邏輯的封裝提供了一種簡潔而高效的方式…

虛擬卡 WildCard (野卡) 保姆級開卡教程

本文首發于只抄博客&#xff0c;歡迎點擊原文鏈接了解更多內容。 前言 本篇教程為 WildCard 的介紹以及開卡教學&#xff0c;要了解不同平臺&#xff08;Grok、Talkatone 等&#xff09;的訂閱方式請移步《訂閱教程》分類 當我們想要充值國外平臺會員時&#xff0c;一般都需要使…

計算機數據庫三級刷題總結(博主89分已過,總結的內容分享)

計算機數據庫三級刷題總結&#xff08;博主89分已過&#xff0c;總結的內容分享&#xff09; 文章目錄 計算機數據庫三級刷題總結&#xff08;博主89分已過&#xff0c;總結的內容分享&#xff09;一、 數據庫設計階段二、事務相關三、數據庫設計順序四、數據庫三級模式與二層映…

記錄一些面試遇到的問題

重載和重寫的區別 重載是overload&#xff0c;覆蓋是override 重載屬于編譯時多態&#xff0c;覆蓋屬于運行時多態 運行時多態和編譯時多態 運行時多態指的是在運行的時候才知道要調用哪一個函數&#xff0c;編譯時多態是指在編譯的時候就知道調用哪一個函數。 運行時多態…

HBuilder X 使用 TortoiseSVN 設置快捷鍵方法

HBuilder X 使用 TortoiseSVN 設置快捷鍵方法 單文件&#xff1a;(上鎖&#xff0c;解鎖&#xff0c;提交&#xff0c;更新) 安裝好 TortoiseSVN &#xff0c;或者 按圖操作&#xff1a; 1&#xff0c;工具欄中 【自定義快捷鍵】 2&#xff0c;點擊 默認的快捷鍵設置&…

JmeterHttp請求頭管理出現Unsupported Media Type問題解決

JmeterHttp請求頭管理出現Unsupported Media Type問題解決 大多數的app與pc端壓測的時候都會出現這種情況 當我們在jemter測試當中當中遇見Unsupported Media Type&#xff0c;有一種可能就是我們請求的網頁的content-Type的類型與我們測試的時候的類型不一致 解決方法 可以添…

Spring AI 1.0.0-M6 快速開始(一)

Spring AI 1.0.0-M6 入門一、存儲庫二、依賴管理完整maven 入門 Spring 是JAVA中我們經常使用的框架之一&#xff0c;Spring AI不斷的發展迭代目前已經到M6版本據說上半年會出一個穩定版本。 本節提供了如何開始使用Spring AI的M6。 一、存儲庫 1.0 M6 -添加Spring存儲庫 需…

頂點著色器和片段著色器

在Unity渲染中&#xff0c;**頂點著色器&#xff08;Vertex Shader&#xff09;和片段著色器&#xff08;Fragment Shader&#xff09;**是圖形渲染管線中的兩個核心階段。我們可以通過一個比喻來理解它們的分工&#xff1a;想象你要畫一幅由三角形組成的3D模型&#xff0c;頂點…

Impacket工具中的橫向滲透利器及其使用場景對比詳解

在滲透測試中&#xff0c;橫向移動&#xff08;Lateral Movement&#xff09;是指攻擊者在獲得一個系統的控制權限后&#xff0c;通過網絡進一步滲透到其他系統的過程。Impacket 是一款強大的滲透測試工具集&#xff0c;提供了多種實現橫向滲透的腳本&#xff0c;常見的工具包括…