E2E VSCode extension which will allow customer to select multiple emitters to generate multiple codes at one time.
Now we meet some problem:
Problem:
- The logs and errors belongs to different emitters are in one log. We cannot identify which emitter the log or code. We cannot identify which emitter succeed, which emitters are failed.
- When crash in one emitter, the compile process will exit, the following emitters will not be called.
Possible solution:
For #1. Compiler define a way to separate logs and errors for emitters, e.g Put emitter name in the log and error, so that we can filter out logs and errors for each emitter
For #2. Don't throw exception to exit whole process when one emitter crash. Log error or report Diagnostic
  
  
    
        
          |  | await emitter.emitFunction(context); | 
    
   
 
  
  
    
        
          |  | throw new ExternalError({ kind: "emitter", metadata: emitter.metadata, error }); |