当前位置: 首页>>代码示例>>C#>>正文


C# ITextBuffer.GetReplEvaluator方法代码示例

本文整理汇总了C#中ITextBuffer.GetReplEvaluator方法的典型用法代码示例。如果您正苦于以下问题:C# ITextBuffer.GetReplEvaluator方法的具体用法?C# ITextBuffer.GetReplEvaluator怎么用?C# ITextBuffer.GetReplEvaluator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ITextBuffer的用法示例。


在下文中一共展示了ITextBuffer.GetReplEvaluator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateProjectEntry

        private IProjectEntry CreateProjectEntry(ITextBuffer buffer, IAnalysisCookie analysisCookie) {
            if (_pyAnalyzer == null) {
                // We aren't able to analyze code, so don't create an entry.
                return null;
            }

            var replEval = buffer.GetReplEvaluator();
            if (replEval != null) {
                // We have a repl window, create an untracked module.
                return _pyAnalyzer.AddModule(null, null, analysisCookie);
            }

            string path = buffer.GetFilePath();
            if (path == null) {
                return null;
            }

            IProjectEntry entry;
            if (!_projectFiles.TryGetValue(path, out entry)) {
                if (buffer.ContentType.IsOfType(PythonCoreConstants.ContentType)) {
                    string modName;
                    try {
                        modName = ModulePath.FromFullPath(path).ModuleName;
                    } catch (ArgumentException) {
                        modName = null;
                    }

                    IPythonProjectEntry[] reanalyzeEntries = null;
                    if (!string.IsNullOrEmpty(modName)) {
                        reanalyzeEntries = Project.GetEntriesThatImportModule(modName, true).ToArray();
                    }

                    entry = _pyAnalyzer.AddModule(
                        modName,
                        buffer.GetFilePath(),
                        analysisCookie
                    );

                    if (reanalyzeEntries != null) {
                        foreach (var entryRef in reanalyzeEntries) {
                            _analysisQueue.Enqueue(entryRef, AnalysisPriority.Low);
                        }
                    }
                } else if (buffer.ContentType.IsOfType("XAML")) {
                    entry = _pyAnalyzer.AddXamlFile(buffer.GetFilePath());
                } else {
                    return null;
                }

                _projectFiles[path] = entry;

                if (ImplicitProject && ShouldAnalyzePath(path)) { // don't analyze std lib
                    QueueDirectoryAnalysis(path);
                }
            }

            return entry;
        }
开发者ID:omnimark,项目名称:PTVS,代码行数:58,代码来源:ProjectAnalyzer.cs

示例2: GetOrCreateProjectEntry

        private IProjectEntry GetOrCreateProjectEntry(ITextBuffer buffer, IAnalysisCookie analysisCookie) {
            var replEval = buffer.GetReplEvaluator();
            if (replEval != null) {
                // We have a repl window, create an untracked module.
                return _jsAnalyzer.AddModule(
                    Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "repl" + Guid.NewGuid() + ".js"),
                    analysisCookie
                );
            }

            string path = buffer.GetFilePath();
            if (path == null) {
                return null;
            }

            ProjectItem file;
            ProjectEntry entry;
            if (!_projectFiles.TryGetValue(path, out file)) {
                if (buffer.ContentType.IsOfType(NodejsConstants.Nodejs)) {
                    entry = _jsAnalyzer.AddModule(
                        buffer.GetFilePath(),
                        analysisCookie
                    );
                } else {
                    return null;
                }

                _projectFiles[path] = file = new ProjectItem(entry);
            }

            if (_implicitProject && _analysisLevel != AnalysisLevel.NodeLsNone) {
                QueueDirectoryAnalysis(path, file);
            }

            return file.Entry;
        }
开发者ID:CforED,项目名称:Node.js-Tools-for-Visual-Studio,代码行数:36,代码来源:VsProjectAnalyzer.cs


注:本文中的ITextBuffer.GetReplEvaluator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。