[ShaderGraph] [Ruby] [2022.1] Fix "view shader" commands to not block Unity from closing, use same editor instance #5735
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
Backports:
2022.1: #5735
2021.2: #5736
Fix for https://fogbugz.unity3d.com/f/cases/1367188/
Previously, when viewing the generated shader output via the debug commands in ShaderGraph, a separate instance of the script editor would be invoked for each generated shader, instead of re-using the existing editor.
Worse, when the user tried to close Unity, it would block on an inscrutable dialog:

Until the user closed all of the script editors that had been opened.
This PR fixes both issues by switching to use the script function: "OpenFileAtLineExternal" to invoke the script editor, instead of directly creating editor processes.
Testing status
Yamato:
PR ShaderGraph: 🟢
https://yamato.cds.internal.unity3d.com/jobs/902-Graphics/tree/sg%252Ffix%252F1367188/.yamato%252Fall-shadergraph.yml%2523PR_ShaderGraph_trunk/8867365/job/pipeline
Comments to reviewers
Notes for the reviewers you have assigned.