void JavaPkgServer_TerminatedAbnormally(object sender, Protocol.Response e) { // If server goes down, unconfigure the editor too JavaEditorFactory.Unconfigure(TextView, SubjectBuffers); }
public void SubjectBuffersConnected(IWpfTextView textView, ConnectionReason reason, System.Collections.ObjectModel.Collection <Microsoft.VisualStudio.Text.ITextBuffer> subjectBuffers) { Telemetry.Client.Get().TrackEvent("App.EditorOpen"); TextViews.Add(textView); if (TextViews.Count == 1) { IdleCookie = RegisterIdleLoop(ServiceProvider, this); } var javaEditor = JavaEditorFactory.Configure(textView, subjectBuffers); if (javaEditor == null) { JavaEditorFactory.Unconfigure(textView, subjectBuffers); } //EclipseWorkspace eclipseWorkspace = null; //Protocol.TypeRootIdentifier presetTypeRootIdentifier = null; //string fileName = VSHelpers.GetFileName(textView); //if (DefinitionCache.ContainsKey(fileName)) //{ // eclipseWorkspace = DefinitionCache[fileName].Item1; // presetTypeRootIdentifier = DefinitionCache[fileName].Item2; // DefinitionCache.Remove(fileName); //} //else // eclipseWorkspace = EclipseWorkspace.FromFilePath(fileName); //var javaPkgServer = JavaPkgServerMgr.GetProxy(eclipseWorkspace); //textView.Properties.AddProperty(typeof(ServerProxy), javaPkgServer); //JavaEditor javaEditor = null; //JavaUnconfiguredEditor javaUnconfiguredEditor = null; //if (javaPkgServer != null) //{ // javaEditor = textView.Properties.GetOrCreateSingletonProperty<JavaEditor>(() => new JavaEditor(subjectBuffers, textView, javaPkgServer, eclipseWorkspace)); // Telemetry.Client.Get().TrackEvent("App.EditorOpenConfigured"); // if (presetTypeRootIdentifier == null) // { // javaPkgServer.Send(javaEditor, ProtocolHandlers.CreateOpenTypeRootRequest(fileName)).ContinueWith((System.Threading.Tasks.Task<Protocol.Response> responseTask) => // { // var openTypeResponse = responseTask.Result; // if (openTypeResponse.responseType == Protocol.Response.ResponseType.OpenTypeRoot && // openTypeResponse.openTypeRootResponse != null) // { // javaEditor.TypeRootIdentifier = openTypeResponse.openTypeRootResponse.typeRootIdentifier; // } // }); // } // else // { // // Usually preset when opening a source file from a .jar // javaEditor.TypeRootIdentifier = presetTypeRootIdentifier; // javaEditor.DisableParsing(); // No need to parse .class files for squiggles // } //} //else //{ // javaUnconfiguredEditor = textView.Properties.GetOrCreateSingletonProperty<JavaUnconfiguredEditor>(() => new JavaUnconfiguredEditor(subjectBuffers, textView, JavaPkgServerMgr, eclipseWorkspace)); // Telemetry.Client.Get().TrackEvent("App.EditorOpenUnconfigured"); //} textView.GotAggregateFocus += textView_GotAggregateFocus; //foreach(var buffer in subjectBuffers) //{ // buffer.Properties.AddProperty(typeof(ServerProxy), javaPkgServer); // if (javaUnconfiguredEditor != null) buffer.Properties.AddProperty(typeof(JavaUnconfiguredEditor), javaUnconfiguredEditor); // if (javaEditor != null) // { // buffer.Properties.AddProperty(typeof(JavaEditor), javaEditor); // JavaOutline outline = null; // if (buffer.Properties.TryGetProperty<JavaOutline>(typeof(JavaOutline), out outline)) // { // outline.JavaEditor = javaEditor; // } // JavaSquiggles squiggles = null; // if (buffer.Properties.TryGetProperty<JavaSquiggles>(typeof(JavaSquiggles), out squiggles)) // { // squiggles.JavaEditor = javaEditor; // } // } //} }