gAmuLog.
がむログ

RaycastのList Repos使うときに.gitとその他configファイルの階層が一致してなくて困った話

投稿日:
Cover Image for RaycastのList Repos使うときに.gitとその他configファイルの階層が一致してなくて困った話

(多分特殊な状況な気がしている🤔)

経緯

  1. RaycastのList Reposで簡単にプロジェクトを開けるようにするぞ!

  2. 早速gAmuLogを開いて...と

  3. あ...そのディレクトリが開かれるのか...もう一個下のappディレクトリを開いてほしかった...

状況説明

RaycastのList Reposを使って爆速で作業ディレクトリを開きたい

Raycastは.gitファイルがあるディレクトリを提示してくる

自分のディレクトリ構造だと.gitappが同じ階層で、app配下にtsconfig.json.eslintrc.cjs、その他すべてのファイルがあるので、appの階層でワークスペースを開いてほしかった

困ったこと

こんな感じで、appの階層でcursorを開いていないと(つまりワークスペース直下に.eslintrc.cjsがないと)、パスを解決できないというエラーが出る。

どうにかする

Raycastの爆速コードスペースオープンは最高なので、どうにかエラーを解決したい。

.gitapp直下に移動するやり方も考えた。つまりgit管理するレイヤーが変わるのだが、GitHubの見た目上のディレクトリ構造の変化がすごいのと、そもそも将来的にモノレポで開発をしようとしたら、

.git
frontend(この中にフロント用.eslintrc.cjsなど)
backend(この中にバック用.eslintrc.cjsなど)

は同じ階層に置かれることになりそうで、根本的に.gitとその他configファイルの階層が異なっていてもうまくいく(というかこれは開いているワークスペースとconfigファイルの階層が異なることの問題だが)ようにするほうがいいと感じたので別のやり方を考える。

結論 .vscode/settings.jsonを設定しよう


プロジェクト直下(自分がコードスペースを開いている階層)に、.vscode/settings.jsonを作成し、

settings.json
{
  "eslint.workingDirectories": ["./app"]
}

という風に、ESLintがどこで作用するかを明示することでエラーを解消できた(解決してから見るとめっちゃ単純やん)。

おわりに

初心者エンジニアの頃から、「ああ!vscode開くディレクトリ間違えた!エラーすごいわ!」ってなってたので、プロジェクト直下でも、app直下でもエラーを出さずに開発できるのすごいうれしいです(小声)