-
Notifications
You must be signed in to change notification settings - Fork 305
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
feat: electron:serve
起動時にエディタを起動しないオプションを追加
#2309
Conversation
起動が高速になるオプションを用意するのは良さそうに思いました!! 現状ちょっとわかってないので質問させてください 🙇
というのも、僕の理解だとこれを実行すると↓の2つが実行されて、 ここでまず で、 つまり今mainブランチで実装されているものと、今回プルリクエストで追加されたものが全く同じ挙動するような気がしてて、なぜ速くなるのかわかってない感じです。 (たぶん僕が |
@Hiroshiba これを回避するためデバッガを通さずに 追加した |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
申し訳ないです、ちょっと正直判断つかなくてどうすればいいのかが分からないでいます 🙇
デバッガを使いやすくするのは良さそうだと思いつつ、ちょっと名称周りで複雑性が増していると思うのでそこ整理したいです。
あと、もし環境変数を作らずに実現できるんだったら、かなり嬉しいかなと。
(なぜそれがあるのかを説明を書かないといけないので)
逆に言うと、もし環境変数がそのままでもドキュメントや名称がしっかりしてれば別に良さそう!
一旦語句の整理をしたいです!
SKIP_LAUNCH_EDITOR
エディターとは何を指してますか? 👀 electron・・・?
雰囲気見てるとelectronのstartupが呼ばれなそうなので、起動しないものはエディタ(UI?)ではなくelectronなのかなぁみたいな。
でもelectronが起動しないなら、これは一体何をしてるんだろう・・・・・?
viteのserve・・・?
Electron Serve Only
electron serveがまた何かわからないかもです。
npm run electron:serve自体がelectron serve
っぽくて、npm run electron:serve
をSKIP_LAUNCH_EDITOR=1
で起動することをElectron Serve Only
と呼ぶとかなりややこしいなぁと。
まあこれはさっきのフラグ名もそうですが、何をしているのか一旦整理できると嬉しいそう。
雰囲気、electron serve = vite serve + launch electronかも?
(vite serve
というのが理解あってるかかなり自信ないです。。。)
Launch Electron Main/Renderer without electron:serve
without electron:serve
なのにnpm run electron:serve
をするので、かなり分かりづらいはず。
これの名称はまあ最後に考えればよさそう。
というより、そもそもvite serveの方をデバッグしたい事ってあるんでしょうか 👀
SKIP_LAUNCH_EDITOR=1
だとレンダラープロセスのデバッガが動かない感じでしたっけ。
や、片方だけにできないかな~と思った次第でした。多分無理そう。
この辺の語句を整理してから、やりたいことベースに名前をつけるか、やることベースで名前をつけるかしていきたみです!
この辺り適当にやると迷宮化するので、申し訳ないんですが丁寧に作って行きたく 🙇
一番知識があるのは @sabonerune さんだと思うので、ちょっとお聞きすることが多いかもしれませんが、もしよければ 🙇 🙇
@yamachu 突然すみません!!
レンダラープロセスのデバッガを起動せず、メインプロセスだけデバッガを働かせる良い方法とかってあったりしませんかね 👀
Electronのことであっています。
まず現状の
という感じです。
多分ないと思います。 |
あっすみません!
なるほどです!!
おおなるほど!! じゃあ、launch.jsonに元から実装されていたものの完全上位互換、のはずって感じで合ってそうでしょうか。 一旦この方向で、あとは名称整理してマージを目指せればと・・・!!! ちょっと名称整理一部こんな感じでってのを列挙してみました!
書いてみたけど候補先がほとんど書いてないですね。。。 |
遅くなりました 🙇 MainProcessのデバッグですが、既に @sabonerune さんが追加してくださった これで実現可能なので、特に何かを追加することは不要ですね! |
メインプロセスとプレロードスクリプトの自動リロードが機能しなくなります。 |
@yamachu 確認ありがとうございます!! @sabonerune auto reloadのとこはhot reloadでもなんでもという感じです! 名称に関していろいろコメントしましたが、難しそうであればこちらでよしなに決めてしまおうと思います! お手数おかけしてしまってすみません。。。。。 🙇 |
一通り名前を変更しました。 |
vite.config.mts
Outdated
@@ -45,6 +45,8 @@ export default defineConfig((options) => { | |||
const sourcemap: BuildOptions["sourcemap"] = shouldEmitSourcemap | |||
? "inline" | |||
: false; | |||
const launchEditor = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
変数名はskipLahnchElectronにして、特殊な挙動の目的の方をわかりやすくしてみます。
あと目的コメントも追加します!
.vscode/tasks.template.json
Outdated
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
あっても読まないので消しちゃいますか〜
"tasks": [ | ||
{ | ||
"label": "Electron Serve without Launch Electron", | ||
// Electronを起動せずにバックグラウンドで"electron:serve"を実行する |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
目的コメントをたさせていただきます 🙏
"stopAll": true | ||
}, | ||
{ | ||
"name": "Launch Electron Main/Renderer without hot reload", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
こっちも目的コメント書き足します 🙏
マージします! デバッグ起動便利ですね!僕もたまに使うかも。 |
内容
いつからかはっきり覚えていないのですがVSCodeを使用したメインプロセスのデバッグの起動が自分の環境では非常に遅くなりました。(自分のPCのスペックが低いというのもありますが…)
恐らくデバッガが開発サーバーを監視していることが原因だと思います。
このPRで開発サーバーの起動とElectronの起動を分離することでメインプロセスデバッグ時の起動を高速化します。
その他
SKIP_LAUNCH_EDITOR
環境変数に1
を設定したうえでelectron:serve
を実行するとエディタの起動とメインプロセスのリロードが行われなくなります。この状態で
npx electron . --no-sandbox
を実行するとエディタが起動します。そのための
launch.template.json
とtasks.template.json
追加しました。VITE_DEV_SERVER_URL
はビルド時に埋め込まれます。レンダラープロセスの
sourcemap
が正しく検出できていなかったので変更しました。