Biome の Visual Studio Code 拡張機能 を入れた際にグローバル(風)な設定ファイルを適用する方法

状況

  • 「プロジェクト」に Biome(バイオーム)が導入されていない
  • 「プロジェクト」に Biome は入れたくない(入れられない)
  • Biome 自体は使いたい
  • Biome の設定ファイルは拡張機能にビルトインされたものではなく、自分で書いたものを使いたい
    • ビルトインの設定だと editor.insertSpaces: false であり、「タブ」でインデントされてしまうのが個人的に好まない

結論

1. グローバルに Biome を入れる

$ npm install -g @biomejs/biome

2. プロジェクトルートに設定ファイルを作成する

  • biome.jsonc の方がコメントが書けて便利だが、Biome は現時点では JSONC に対応していない
    • このような事例では Prettier を使うのが現状ではベターか
    • 将来的には対応すると思う
{
  "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
  // 省略
}

3. 設定ファイルをコミットしてしまわないように .git/info/exclude に追記しておく

  • コミットしてもいい場合はこのステップは不要
  • コミットしたくない場合には .git/info/exclude に設定ファイル名を記載しておく
    • もし将来的に正式に導入する場合には、この記載を削除することを忘れないこと*1

4. もし「2.」と「3.」の作業が面倒ならば自動化を考える

  • そこまでやる必要はないと思うけれど、他の作業も含め、プロジェクトに対して定型作業が一定以上発生するようなら自動化してもいい
    • dotfiles に入っていると管理しやすいかも

補足

  • CLI 単体の動作では BIOME_CONFIG_PATH という環境変数で設定ファイルを指定することで、いろいろと頑張れる可能性がある
    • direnv などと組み合わせるとよさそう
    • Visual Studio Code の拡張機能の場合はこれを使ってはいけない
  • おそらく将来的には拡張機能に様々な設定が組み込まれ、もろもろ解決すると思われる
    • したがって、上記のやり方をあまり突き詰める必要はない*2と思われる

*1:設定ファイルが永遠にコミットされないままになるから

*2:ワークアラウンドで十分

SweetPad を使った際にフォーマッタの設定を「スペース4つ」にする方法

結論

1. Homebrew で swift-format を入れる

$ brew install swift-format

2. .swift-format のひな型をプロジェクトルートに作る

$ cd /path/to/project_root 
$ swift-format dump-configuration > .swift-format

3. .swift-format のインデントの数値を 2 から 4 に変更する

  • 他の部分の設定は不要だったら削除してもいい
変更前
  "indentation": {
    "spaces": 2
  },
変更後
  "indentation": {
    "spaces": 4
  },

4. Visual Studio Code の設定に以下を書き加える

(以上省略)
  "[swift]": {
    "editor.defaultFormatter": "sweetpad.sweetpad",
    "editor.formatOnSave": true,
  },
  "sweetpad.format.path": "/opt/homebrew/bin/swift-format",
  "sweetpad.format.args": ["--in-place", "${file}"]
(以下省略)

注意点

  • "editor.tabSize": 4 は効かない

参考

sweetpad.hyzyla.dev

n8n から Gmail に送られてくるメールになぜか「新着」ラベルが付与されしまうのを避ける

補足

どうも下記の方法でも消えない(こともある)ようで、これは Gmail 側の問題だから過度に気にしないようにする。

前提

Amazon SES から送っています。

現象

なぜかラベルが付与されてしまう。

結論

メールのステップの Options の設定において Append n8n Attribution を明示的に OFF にする。

結果

ラベルが消えました。

Proxy SwitchyOmega の後継ソフト(拡張機能)

Proxy SwitchyOmega とは

結論

補足

  • Gist で設定を共有できたりしてとてもよい*1

*1:Secret でも全世界公開なので注意

YouTube の URL のパラメータで "v" だけを残すブックマークレット

結論

javascript:function redirectToYoutubeWatchPage(){const v=new URL(location.href).searchParams.get('v');if(v)location.href='https://www.youtube.com/watch?v='+v}

元のコード

  • URL#searchParams#get の存在がありがたくて、これの戻り値さえ得られればハマるところはない
function redirectToYoutubeWatchPage() {
  const videoId = new URL(location.href).searchParams.get('v')

  if (videoId) {
    location.href = 'https://www.youtube.com/watch?v=' + videoId
  }
}

事例

たとえば https://www.youtube.com/watch?v=MoReKk-8TQI&list=RDbZnGIlsG_sI&index=3 のようなミックスリスト中の動画から単体動画へ飛びたい場合に用いる。