TextMate bundle 학습 노트 생 성 모드

4427 단어 Bundle
대상: textMate 의 모드 기능 을 사용 하여 기 존의 자바 bundle 을 확장 하여 template 를 만 들 고 class 소스 파일 을 만 드 는 데 편리 합 니 다.
단계:
  • textMate, Bundles - > Bundle Editor - > Show Bundle Editor 를 열 고 bundle 목록 에서 Java 를 찾 아 선택 하 십시오.
  • 왼쪽 아래 에 있 는 "+" 번 호 를 클릭 하고 New Template 를 선택 하여 template 에 이름 을 지 으 십시오. 예 를 들 어 자바 class
  • 오른쪽 Extension 에 자바 를 입력 하 십시오. 원본 파일 로 확장 합 니 다. Command (s) 여 기 는 구체 적 인 논리 적 논 리 를 만 드 는 것 입 니 다. 잠시 비 워 두 었 다가 다시 수정 하 겠 습 니 다.
  • 왼쪽 칸 을 선택 하 십시오. 새로 만 든 자바 class bundle - > 왼쪽 아래 "+" 번 호 를 누 르 고 New Template File 을 선택 하 십시오. 예 를 들 어 templateclass.java
  • template 파일 에 다음 과 같은 내용 을 입력 하 십시오. 간단 한 설명: ${} 가방 은 미리 설 정 된 변수 입 니 다. 그 중에서 TMNEW_FILE_BASENAME 는 내 장 된 파일 이름 입 니 다. (확장 자 는 포함 되 지 않 음) 그 외 에 도 두 개의 내 장 된 변수 TM 가 있 습 니 다.NEW_FILE_DIRECTORY,TM_New_FILE, 의미 뒤에 소 개 됩 니 다.TM_PACKAGE 는 내 장 된 것 이 아 닙 니 다. commands 에서 정의 할 것 입 니 다.
    
        
          
    package ${TM_PACKAGE};
    /**
    *Comments here.
    *
    @author alex
    */
    public class ${TM_NEW_FILE_BASENAME}{

    }

  • command 를 정의 합 니 다.새 자바 클 라 스 템 플 릿 을 누 르 십시오.오른쪽 Commands 에 코드 가 있 는 것 을 볼 수 있 습 니 다.(기본적으로 셸 스 크 립 트 를 사용 합 니 다. 작성 자가 셸 에 대해 잘 모 르 기 때문에 루비 스 크 립 트 를 사용 합 니 다.  물론 python, perl 도 가능 합 니 다.) 아래 코드 를 사용 하여 그 내용 을 교체 합 니 다. 코드 설명 은 주석 을 참조 하 십시오. 특히 빨간색 줄 에 주의 하 십시오.
    #!/usr/bin/env ruby -wKU
    
    
    
    #       
    
    f = open(ENV["TM_NEW_FILE"], 'w')
    
    template = open("template_class.java").read
    
    #        
    
    ENV["TM_YEAR"] = `date +%Y`.chomp
    
    ENV["TM_DATE"] = `date +%Y-%m-%d`.chomp
    
    #     tab (4   )      
    
    if ENV["TM_SOFT_TABS"] == "YES"
    
    	tab_size = ENV["TM_TAB_SIZE"].to_i
    
    	tab_size = tab_size ? tab_size : 4
    
    	template = template.gsub(/\t/, " "*tab_size)
    
    end
    
    
    
    #  package
    
    #  ,     java        java,      ,     。
    
    regular = /.*java\/(.*)/
    
    ENV["TM_PACKAGE"]= ENV["TM_NEW_FILE_DIRECTORY"].match(regular)[1].split("/").join(".")
    
    
    
    
    
    template = template.gsub(/[$]\{([^}]+)\}/){|match| "#{ENV[$1]}" }
    
    f.write template
    
    f.close 

  • 이로써 우리 의 templateclass. java, 그 중의 일부 변수 가 어떻게 생 겼 는 지 알 수 있 습 니 다.자, 이제 해 보 세 요.command + Shift + N, Test. java 를 만 듭 니 다. 모드 옵션 에서 우리 가 새로 만 든 자바 class, ok 을 선택 하 십시오. 우 리 는 이와 같은 clas 를 얻 을 수 있 을 것 입 니 다. 가방 경 로 를 정확하게 식별 할 수 있 습 니 다.
    
         
           
    package com.foooj.helianthus.crm.playground;
    /**
    *Comments here.
    *
    @author alex
    */
    public class Test{

    }


  • 좋 습 니 다. 이것 은 간단 한 예 일 뿐 이지 만 문 제 를 설명 하기에 충분 합 니 다.더 복잡 한 모델 이 필요 하 다 면 머리 를 써 보 세 요.또한 이 방법 은 windows 의 e - TextEditor, Intype 등에 도 적합 하 다. 모두 textMate 를 모방 한 것 이기 때문에 디 테 일이 약간 다 를 수 있다.
  • 좋은 웹페이지 즐겨찾기