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();
        }
Пример #2
0
        /// <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);
 }