2013-03-08 3 views

답변

3

이것은 약간 조잡하지만, 외부 프로그램 (bash 스크립트 포함)을 시작하는 데 사용합니다. Win + Cygwin에서 작업 할 때도 bash 스크립트 주위에 래퍼가 있었지만 왜 내가 필요한지 잊어 버렸습니다.

그러나 항상 특정 작업을 프로젝트 (빌드, 컴파일 등)에 묶을 수 있음을 기억하십시오. 프로젝트 -> 속성 -> 도구 -> 새로 만들기를 추가 할 수 있습니다. 모든 명령은 프로세스 창에서 실행할 수 있습니다.

#include "slick.sh" 

static _str mytmp='/tmp/myvstmp.txt' 


_command git_annotate(_str filename='') name_info(',' VSARG2_MACRO) 
{ 
    if (filename=='') { 
     filename=p_buf_name; 
    } 
    curr_line=p_line; 

    delete_file(mytmp); // make sure we dont get old file 
    if(file_match(mytmp,'1')==mytmp) { 
     message('Tmp file delete failed! ('mytmp') change permissions and if still failing - restart vs'); 
     return 1 
    } 

    shell('/usr/bin/git blame -s 'filename' | sed "[email protected]^\(.\{8\}\) [^)]*) @\1 @" >'mytmp, 'p'); 

    if(file_match(mytmp,'1')!=mytmp) { 
     message('Annotate failed'); 
     return 1 
    } 

    status=edit('-w 'mytmp); 
    if (status) { 
     message('Error opening output file for display.'); 
     return 1 
    } 

    goto_line(curr_line+1); 

    // keep disk clean 
    p_buf_flags |= VSBUFFLAG_THROW_AWAY_CHANGES; 
    name("* annotate output *" filename, false); 
    delete_file(mytmp); 
} 
관련 문제