コード例 #1
0
        private void AddMissingImports(List <string> importList)
        {
            if (importList.Count > 0)
            {
                var projEntry = _textView.TextBuffer.GetPythonProjectEntry();
                if (projEntry != null)
                {
                    PythonAst       ast;
                    IAnalysisCookie cookie;
                    projEntry.GetTreeAndCookie(out ast, out cookie);
                    if (ast != null)
                    {
                        var walker = new ImportWalker();
                        ast.Walk(walker);

                        foreach (var import in importList)
                        {
                            if (!walker.Imports.Contains(import))
                            {
                                MissingImportAnalysis.AddImport(
                                    _serviceProvider,
                                    _textView.TextBuffer,
                                    _textView,
                                    null,
                                    import
                                    );
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: ImportSmartTagAction.cs プロジェクト: xNUTs/PTVS
 public override void Invoke()
 {
     MissingImportAnalysis.AddImport(
         _serviceProvider,
         _buffer,
         _view,
         FromName,
         Name
         );
 }
コード例 #3
0
        public void Invoke(CancellationToken cancellationToken)
        {
            Debug.Assert(!string.IsNullOrEmpty(_name));

            MissingImportAnalysis.AddImport(
                _source._provider,
                _buffer,
                _source._view,
                _fromModule,
                _name
                );
        }