⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pytodovisitor.java

📁 Python Development Environment (Python IDE plugin for Eclipse). Features editor, code completion, re
💻 JAVA
字号:
/*
 * Created on Oct 25, 2004
 *
 * @author Fabio Zadrozny
 */
package org.python.pydev.builder.todo;

import java.util.Iterator;
import java.util.List;

import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
import org.python.pydev.builder.PyDevBuilderVisitor;
import org.python.pydev.builder.PydevMarkerUtils;
import org.python.pydev.plugin.PydevPlugin;

/**
 * @author Fabio Zadrozny
 */
public class PyTodoVisitor extends PyDevBuilderVisitor {

    /*
     * (non-Javadoc)
     * 
     * @see org.python.pydev.builder.PyDevBuilderVisitor#visitResource(org.eclipse.core.resources.IResource)
     */
    public void visitChangedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
        if (document != null) {
            List todoTags = PyTodoPrefPage.getTodoTags();
            if(todoTags.size() > 0){

	            int numberOfLines = document.getNumberOfLines();
	
	            try {
	                resource.deleteMarkers(IMarker.TASK, false, IResource.DEPTH_ZERO);
	
	                int line = 0;
	                while (line < numberOfLines) {
	                    IRegion region = document.getLineInformation(line);
	                    String tok = document.get(region.getOffset(), region.getLength());
	                    int index;
	
	                    for (Iterator iter = todoTags.iterator(); iter.hasNext();) {
	                        String element = (String) iter.next();
	
	                        if ((index = tok.indexOf(element)) != -1) {
	                            PydevMarkerUtils.createMarker(resource, document, tok.substring(index).trim(), line, IMarker.TASK, IMarker.SEVERITY_WARNING, false, false, null);
	                        }
	
	                    }
	
	                    line++;
	                }
	            } catch (Exception e) {
	                PydevPlugin.log(e);
	            } 
            }
        }

    }

    /**
     * @see org.python.pydev.builder.PyDevBuilderVisitor#visitRemovedResource(org.eclipse.core.resources.IResource, org.eclipse.jface.text.IDocument)
     */
    public void visitRemovedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -