private void DebugWindow_OnLoaded(object sender, RoutedEventArgs e) { new DisplayItemClassificationTypeProvider().RegisterAll(); AmbientParseRequestDispatcherProvider.Dispatcher = new ThreadedParseRequestDispatcher(); var language = new PythonSyntaxLanguage(PythonVersion.Version3); language.RegisterService(new PythonCompletionProvider()); language.RegisterService(new PythonParameterInfoProvider()); language.RegisterService(new PythonQuickInfoProvider()); language.RegisterService(new PythonNavigableSymbolProvider()); language.RegisterService(new IndicatorQuickInfoProvider()); language.RegisterService(new DebuggingMouseInputEventSink()); syntaxEditor.Document.Language = language; syntaxEditor.Document.TabSize = 4; syntaxEditor.Document.AutoConvertTabsToSpaces = true; syntaxEditor.Document.LoadFile("GetThings.py", Encoding.UTF8); _debugWindowReady.Set(); }
/// <summary> /// Returns a language for the specified extension. /// </summary> /// <param name="extension">The file extension.</param> /// <returns>The <see cref="ISyntaxLanguage"/> to use.</returns> private ISyntaxLanguage GetOrCreateLanguage(string extension) { switch (extension) { case ".cs": if (cSharpSyntaxLanguage == null) { cSharpSyntaxLanguage = new CSharpSyntaxLanguage(); var cSharpProjectAssembly = new CSharpProjectAssembly("Sample"); var assemblyLoader = new BackgroundWorker(); assemblyLoader.DoWork += (sender, e) => { // Add some common assemblies for reflection (any custom assemblies could be added using various Add overloads instead) cSharpProjectAssembly.AssemblyReferences.AddMsCorLib(); #if !NETCORE cSharpProjectAssembly.AssemblyReferences.Add("System"); cSharpProjectAssembly.AssemblyReferences.Add("System.Core"); cSharpProjectAssembly.AssemblyReferences.Add("System.Xml"); #endif }; assemblyLoader.RunWorkerAsync(); cSharpSyntaxLanguage.RegisterProjectAssembly(cSharpProjectAssembly); } return(cSharpSyntaxLanguage); case ".js": if (javaScriptSyntaxLanguage == null) { javaScriptSyntaxLanguage = new JavaScriptSyntaxLanguage(); } return(javaScriptSyntaxLanguage); case ".py": if (pythonSyntaxLanguage == null) { pythonSyntaxLanguage = new PythonSyntaxLanguage(); } return(pythonSyntaxLanguage); case ".vb": if (vbSyntaxLanguage == null) { vbSyntaxLanguage = new VBSyntaxLanguage(); var vbProjectAssembly = new VBProjectAssembly("Sample"); var assemblyLoader = new BackgroundWorker(); assemblyLoader.DoWork += (sender, e) => { // Add some common assemblies for reflection (any custom assemblies could be added using various Add overloads instead) vbProjectAssembly.AssemblyReferences.AddMsCorLib(); #if !NETCORE vbProjectAssembly.AssemblyReferences.Add("System"); vbProjectAssembly.AssemblyReferences.Add("System.Core"); vbProjectAssembly.AssemblyReferences.Add("System.Xml"); #endif }; assemblyLoader.RunWorkerAsync(); vbSyntaxLanguage.RegisterProjectAssembly(vbProjectAssembly); } return(vbSyntaxLanguage); case ".xml": if (xmlSyntaxLanguage == null) { xmlSyntaxLanguage = new XmlSyntaxLanguage(); } return(xmlSyntaxLanguage); default: return(SyntaxLanguage.PlainText); } }
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { new DisplayItemClassificationTypeProvider().RegisterAll(); AmbientParseRequestDispatcherProvider.Dispatcher = new ThreadedParseRequestDispatcher(); //var appDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), //@"Evget\PythonTest01\Package Repository"); //AmbientPackageRepositoryProvider.Repository = new FileBasedPackageRepository(appDataPath); var language = new PythonSyntaxLanguage(PythonVersion.Version3); language.RegisterService(new PythonCompletionProvider()); language.RegisterService(new PythonParameterInfoProvider()); language.RegisterService(new PythonQuickInfoProvider()); language.RegisterService(new PythonNavigableSymbolProvider()); language.RegisterService(new IndicatorQuickInfoProvider()); language.RegisterService(new DebuggingMouseInputEventSink()); syntaxEditor.Document.Language = language; syntaxEditor.Document.TabSize = 4; syntaxEditor.Document.AutoConvertTabsToSpaces = true; syntaxEditor.Document.LoadFile("GetThings.py", Encoding.UTF8); }