Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

テンプレート機能利用時に VS Code での GitHub Copilot を無効化するワークフローの作成 #97

Closed
blendthink opened this issue Jan 30, 2024 · 1 comment · Fixed by #110
Assignees

Comments

@blendthink
Copy link
Member

blendthink commented Jan 30, 2024

#96 を先に対応する

対応すること

  • flutter-training-template のワークフロー のようにテンプレート機能利用時に VS Code での GitHub Copilot を無効にするワークフローを作成する
    • jsonc をパースして copyWith して上書きするようなツールがあれば使ってもいいかも
    • いったん、力技でも動けば OK
@Yamasaki-pan961
Copy link
Contributor

Yamasaki-pan961 commented Jan 31, 2024

技術調査

通常のjsonファイルであれば jq というツールを使えば値の上書き処理は可能

しかしjqはjsonc(json witch comment)ファイルに対応していないため、処理や運用方法を考える必要がある
https://github.com/jqlang/jq/wiki/FAQ#processing-not-quite-valid-json

上記はnpmパッケージのjsonでも同様であった。

運用案

個人的には2が良いかなと思います。

1. jsoncをcopyWithできるツールを開発する

元ファイルのコメントを引き継ぐようなcopyWithツールを実装する。
問題点は、個人的に実装が難しそうだと感じた。

2. テンプレート機能利用時にコメントを引き継がない

テンプレート機能利用時にsettings.jsonのコメントを引き継がないこととすれば、処理が容易になる。
jsoncをjsonに変換し、jqを使って値の上書きを行う

問題点は、コメントが引き継がれないこと

3. jsoncを使わない

settings.jsonを通常のjsonファイルとして扱うようにすることで、jqを使えるようにする。

問題点は

  • コメントが書けないこと
  • 完璧なjsonファイルを用意する必要があること
    例えば以下のようにKey / Valueの最終行に,が含まれると入力値エラーとなる。
    [追記]
    実際にjqを使ってみたら問題なく読み込めました。
    https://jqplay.org/# で試すとエラーになるため勘違いしました。
    ただ、コメントが含まれるとパースされないので注意が必要。

そして、vscodeのフォーマッタではこの,を削除してくれない。

{
  "github.copilot.editor.enableCodeActions": true,
  "github.copilot.editor.enableAutoCompletions": true,
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants