## 経緯 サイドバーではアイコンが設定されているが... ![[Pasted image 20230805143325.png|frame]] 開いた後はアイコンが設定されない... ![[Pasted image 20230805143419.png|frame]] コードでは以下のように設定している。`addRibbonIcon`はサイドバーだけの模様。 ```ts private init() { // UIなどの登録系はここ this.registerView( VIEW_TYPE_FREE_WRITING, (leaf) => new FreeWritingView(leaf) ); this.addRibbonIcon("pencil", "Free Writing", () => { this.activateView(); }); } ``` ## 設定方法 `View`の`getIcon`をoverrideする。具体的には ```ts new FreeWritingView(leaf) ``` の`FreeWritingView`について ```ts // Why private? type IconName = string; export class FreeWritingView extends ItemView { getIcon(): IconName { return "pencil"; } } ``` のようにする。 > [!caution] > `IconName`は[[obsidian.d.ts]]では非公開のため自分で[[型エイリアス (TypeScript)|型エイリアス]]を設定する