コード例 #1
0
        static int Intellisense2()
        {
            var asms = new[]
            {
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Text.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Text.RegularExpressions.dll",
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Linq\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Linq.dll",
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.IO\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.IO.dll",
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll",
            };

            var code    = @"
using System;
class Script
{
    static public void Main(string[] args)
    {
        TestA.|Who();
    }
}";
            var sources = new List <Tuple <string, string> > {
                new Tuple <string, string>("", "code.cs")
            };

            int caret = code.IndexOf("|");

            code = code.Replace("|", "");

            var result = Autocompleter.GetAutocompletionFor(code, caret, asms.ToArray(), sources);

            Console.WriteLine("----------------------------------");
            Console.ReadLine();
            return(0);
        }
コード例 #2
0
        static int IntellisenseVb()
        {
            var asms = new[]
            {
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Text.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Text.RegularExpressions.dll",
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Linq\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Linq.dll",
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.IO\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.IO.dll",
                @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll",
                typeof(Form).Assembly.Location
            };

            var code = @"
Imports System
Imports System.Windows.Forms

Module Module1
    Sub Main()
        Console.|WriteLine(""Hello World!(VB)"")
        MessageBox.Show(""Hello World! (VB)"")
    End Sub
End Module";

            var sources = new List <Tuple <string, string> > {
            };

            int caret = code.IndexOf("|");

            code = code.Replace("|", "");

            var result = Autocompleter.GetAutocompletionFor(code, caret, asms.ToArray(), sources);

            Console.WriteLine("----------------------------------");
            Console.ReadLine();
            return(0);
        }
コード例 #3
0
 public CodeMapItem[] GetMapOf(string code, bool decorated, string fileName)
 {
     lock (typeof(Autocompleter))
     {
         Autocompleter.Language = GetLanguageFor(fileName);
         return(Autocompleter.GetMapOf(code, decorated));
     }
 }
コード例 #4
0
 public IEnumerable <ICompletionData> GetCompletionData(string editorText, int offset, string fileName, bool isControlSpace = true)
 {
     lock (typeof(Autocompleter))
     {
         Autocompleter.Language = GetLanguageFor(fileName);
         return(Autocompleter.GetAutocompletionFor(editorText, offset,
                                                   assemblies.ToArray(),
                                                   sources.Where(x => x.Item2 != fileName)));
     }
 }
コード例 #5
0
 public string[] FindReferences(string editorText, int offset, string fileName)
 {
     lock (typeof(Autocompleter))
     {
         Autocompleter.Language = GetLanguageFor(fileName);
         return(Autocompleter.FindReferencess(editorText, offset, fileName,
                                              assemblies.ToArray(),
                                              sources.Where(x => x.Item2 != fileName)));
     }
 }
コード例 #6
0
 public DomRegion ResolveCSharpMember(string editorText, int offset, string fileName)
 {
     lock (typeof(Autocompleter))
     {
         Autocompleter.Language = GetLanguageFor(fileName);
         return(Autocompleter.ResolveSymbol(editorText, offset, fileName,
                                            assemblies.ToArray(),
                                            sources.Where(x => x.Item2 != fileName)));
     }
 }
コード例 #7
0
        public string[] GetMemberInfo(string editorText, int offset, string fileName, bool collapseOverloads, out int methodStartPos)
        {
            lock (typeof(Autocompleter))
            {
                Autocompleter.Language = GetLanguageFor(fileName);

                methodStartPos = offset;
                return(Autocompleter.GetMemberInfo(editorText, offset, out methodStartPos,
                                                   assemblies.ToArray(),
                                                   sources.Where(x => x.Item2 != fileName),
                                                   includeOverloads: !collapseOverloads)
                       .ToArray());
            }
        }
コード例 #8
0
        public IEnumerable <Intellisense.Common.TypeInfo> GetPossibleNamespaces(string editorText, string nameToResolve, string fileName)
        {
            lock (typeof(Autocompleter))
            {
                Autocompleter.Language = GetLanguageFor(fileName);

                //var sw = new Stopwatch();
                //sw.Start();
                var result = Autocompleter.GetNamespacesFor(editorText, nameToResolve,
                                                            assemblies.ToArray(),
                                                            sources.Where(x => x.Item2 != fileName));

                //sw.Stop();
                //Console.WriteLine("GetPossibleNamespaces " + sw.ElapsedMilliseconds);

                return(result);
            }
        }
コード例 #9
0
        static void IntellisenseSimple()
        {
            new Engine().Preload();
            var code = @"class Script
{
    static void Main()
    {
        var test = ""ttt"";
        System.Console.WriteLine($""Hello World!{test.Ends";

            var ttt = Autocompleter.GetAutocompletionFor(code, 131);

            Console.WriteLine("----------------------------------");
            Console.ReadLine();

            var ttt3 = Autocompleter.GetAutocompletionFor(code, 131);

            Console.ReadLine();
        }
コード例 #10
0
        static void SyntaxServer()
        {
            new Engine().Preload();
            var code = @"class Script
{
    static void Main()
    {
        var test = ""ttt"";
        System.Console.Wr|iteLine($""Hello World!{test.Ends";

            int caret = code.IndexOf("|");

            code = code.Replace("|", "");

            var completions = Autocompleter.GetAutocompletionFor(code, caret);

            foreach (ICompletionData item in completions)
            {
                Console.WriteLine($"{item.DisplayText}\t{item.CompletionType},{item.DisplayText}");
            }
        }
コード例 #11
0
#pragma warning disable 4014

        public void Preload()
        {
            lock (typeof(Autocompleter))
            {
                try
                {
                    if (Environment.GetEnvironmentVariable("suppress_roslyn_preloading") == null)
                    {
                        var code = @"class Script
                             {
                                 static void Main()
                                 {
                                     var test = ""ttt"";
                                     System.Console.WriteLine($""Hello World!{test.Ends";

                        var result = Autocompleter.GetAutocompletionFor(code, 132);
                    }
                }
                catch
                {
                    throw;
                }
            }
        }