1. 程式人生 > 其它 >如何在 Qt Creator 中應用 one dark pro 主題

如何在 Qt Creator 中應用 one dark pro 主題

前言

Qt Creator 自帶了幾款主題,但是並不好看。在部落格 《Qt Creator打造VScode one dark pro主題配色》 中給出了 one dark pro 主題的配置檔案,但是效果並不好,所以這裡給出改進後的主題檔案(只針對程式碼部分)。

配置檔案

D:\Qt\Tools\QtCreator\share\qtcreator\styles 中建立一個 onedark.xml 檔案,然後在檔案裡面寫入以下內容:

<?xml version="1.0" encoding="UTF-8"?>
<style-scheme version="1.0" name="One Dark">
  <style name="Text" foreground="#abb2bf" background="#282c34"/>
  <style name="Link" underlineStyle="SingleUnderline"/>
  <style name="Selection" background="#3e4451"/>
  <style name="LineNumber" foreground="#4b5363"/>
  <style name="SearchResult" background="#324365"/>
  <style name="SearchScope" background="#3e4451"/>
  <style name="Parentheses" underlineColor="#61afef" underlineStyle="SingleUnderline"/>
  <style name="ParenthesesMismatch" foreground="#000000" background="#c678dd"/>
  <style name="AutoComplete" background="#3e4451"/>
  <style name="CurrentLine" background="#3a3f4b"/>
  <style name="CurrentLineNumber" foreground="#abb2bf" />
  <style name="Occurrences" background="#324365"/>
  <style name="Occurrences.Unused" underlineColor="#d19a66" underlineStyle="DashUnderline"/>
  <style name="Occurrences.Rename" background="#e06c75"/>
  <style name="Number" foreground="#d19a66"/>
  <style name="String" foreground="#98c379"/>
  <style name="Type" foreground="#61afef"/>
  <style name="Local" foreground="#e06c75" />
  <style name="Parameter" foreground="#e06c75" />
  <style name="Global" foreground="#e06c75" />
  <style name="Field" foreground="#e06c75"/>
  <style name="Static" foreground="#61afef" italic="true"/>
  <style name="VirtualMethod" foreground="#61afef" italic="true"/>
  <style name="Function" foreground="#61afef"/>
  <style name="Keyword" foreground="#c678dd"/>
  <style name="PrimitiveType" foreground="#c678dd"/>
  <style name="Type" foreground="#e5c07b" />
  <style name="Operator" foreground="#56b6c2" />
  <style name="Overloaded Operator" foreground="#c678dd"/>
  <style name="Punctuation"/>
  <style name="Preprocessor" foreground="#c678dd"/>
  <style name="Label" foreground="#e06c75" bold="true"/>
  <style name="Comment" foreground="#5c6370" italic="true"/>
  <style name="Doxygen.Comment" foreground="#5c6370" italic="true"/>
  <style name="Doxygen.Tag" foreground="#61afef"/>
  <style name="VisualWhitespace" foreground="#3c4049"/>
  <style name="QmlLocalId" foreground="#61afef"/>
  <style name="QmlExternalId"/>
  <style name="QmlTypeId" foreground="#61afef"/>
  <style name="QmlRootObjectProperty" foreground="#61afef"/>
  <style name="QmlScopeObjectProperty" foreground="#61afef"/>
  <style name="QmlExternalObjectProperty"/>
  <style name="JsScopeVar"/>
  <style name="JsImportVar" foreground="#d19a66"/>
  <style name="JsGlobalVar" foreground="#d19a66"/>
  <style name="QmlStateName" foreground="#61afef"/>
  <style name="Binding" foreground="#c678dd"/>
  <style name="DisabledCode" foreground="#5c6370"/>
  <style name="AddedLine" foreground="#98c379"/>
  <style name="RemovedLine" foreground="#e06c75"/>
  <style name="DiffFile" foreground="#61afef"/>
  <style name="DiffLocation" foreground="#d19a66"/>
  <style name="DiffFileLine" foreground="#000000" background="#e5c07b"/>
  <style name="DiffContextLine" foreground="#000000" background="#56b6c2"/>
  <style name="DiffSourceLine" foreground="#000000" background="#be5046"/>
  <style name="DiffSourceChar" foreground="#000000" background="#e06c75"/>
  <style name="DiffDestLine" foreground="#000000" background="#789353"/>
  <style name="DiffDestChar" foreground="#000000" background="#98c379"/>
  <style name="LogChangeLine" foreground="#e06c75"/>
  <style name="LogAuthorName" foreground="#61afef"/>
  <style name="LogCommitDate" foreground="#98c379"/>
  <style name="LogCommitHash" foreground="#e06c75"/>
  <style name="LogCommitSubject"/>
  <style name="LogDecoration" foreground="#c678dd"/>
  <style name="Warning" underlineColor="#d19a66" underlineStyle="SingleUnderline"/>
  <style name="WarningContext" underlineColor="#d19a66" underlineStyle="DotLine"/>
  <style name="Error" underlineColor="#e06c75" underlineStyle="SingleUnderline"/>
  <style name="ErrorContext" underlineColor="#e06c75" underlineStyle="DotLine"/>
  <style name="Declaration"/>
  <style name="FunctionDefinition"/>
  <style name="OutputArgument" italic="true"/>
  <style name="LastStyleSentinel"/>
</style-scheme>

然後在 Qt Creator 中的 工具 --> 選項 --> 文字編輯器 中將主題換成 One Dark 即可。重啟之後就可以看到程式碼樣式的變化了,至於 Qt Creator 介面的主題可以參照上述部落格中的配置。

介面截圖

配置完成之後的介面如下圖所示,有 VS Code 的 one dark pro 的感覺了,當然程式碼編輯體驗還是差了點,想要完全使用 VS Code 來開發 Qt 的話可以參見之前的部落格 《如何在 VS Code 中搭建 Qt 開發環境》