Ejemplo n.º 1
0
        static public bool Execute(DTE2 application, OpenedFileManager openedFileManager)
        {
            Document doc = application.ActiveDocument;

            if (doc == null)
            {
                return(false);
            }
            TextDocument textDoc = doc.Object("TextDocument") as TextDocument;

            if (textDoc == null)
            {
                return(false);
            }

            var    editPoint = textDoc.StartPoint.CreateEditPoint();
            string text      = editPoint.GetText(textDoc.EndPoint);

            text = text.Replace(Environment.NewLine, "\n");

            int from = textDoc.Selection.ActivePoint.AbsoluteCharOffset - 1;

            while (from > 0 && IsId(text[from - 1]))
            {
                from -= 1;
            }
            int to = from;

            while (to < text.Length && IsId(text[to]))
            {
                to += 1;
            }
            if (from == to)
            {
                return(false);
            }
            string name = text.Substring(from, to - from);

            string database = Common.Connection.GetActiveDatabase(text, from);

            var accessor = new ObjectAccessor();

            ObjectAccessor.ObjectInfo info = accessor.FindObject(name, database);
            if (info == null)
            {
                return(false);
            }

            string body = accessor.GetObjectText(info.urn);

            openedFileManager.Open(accessor.ServerName(), info.fullName, info.urn, body);
            return(true);
        }
Ejemplo n.º 2
0
        static Common.ChooseItem.SearchTerm[] CreateSearchTerms(ObjectAccessor.ObjectInfo obj)
        {
            var searchTerms = new List <Common.ChooseItem.SearchTerm>();

            searchTerms.Add(new Common.ChooseItem.SearchTerm(obj.type, 0));
            searchTerms.Add(new Common.ChooseItem.SearchTerm(obj.fullName, 1));
            searchTerms.Add(new Common.ChooseItem.SearchTerm(obj.database, 2));
            if (obj.schema != null)
            {
                searchTerms.Add(new Common.ChooseItem.SearchTerm(obj.schema, 2));
            }
            searchTerms.Add(new Common.ChooseItem.SearchTerm(obj.name, 3));
            if (obj.subname != null)
            {
                searchTerms.Add(new Common.ChooseItem.SearchTerm(obj.subname, 3));
            }
            return(searchTerms.ToArray());
        }