2014-06-17 2 views
2

나는 Dropbox를 통해 Linux와 Windows에서 Sublime Text (Linux와 Windows의 동기화 된 패키지 폴더)를 사용하기 시작했으며 Visual Studio 없이도 작은 C# 프로젝트를 만들고 있습니다.프로젝트 디렉토리에있는 모든 * .CS 파일을 하나의 실행 파일로 컴파일

나는 리눅스에서 윈도우에서 csc 또는 gmcs로 하나의 파일을 컴파일 할 수 있으며, 이미 기민의 이름을 따서 명명 실행을 종속성을 해결하고 창조 gmsc *.cs와 (숭고한 외부) 명령 줄에서 리눅스에 하나 개 이상의 파일을 컴파일 소스의 "맨 위"클래스.

숭고한 텍스트 빌드 구성 파일 reading the docs 동안과 약간 멍청이 후, 그리고 훨씬 이해하는 데 있지, 내 질문은 :

어떻게 모든 * .cs를 구축 (JSON 파일을 통해) 숭고한 텍스트를 구성해야 프로젝트/디렉토리 안에있는 하나의 파일을 하나의 실행 파일로 만드시겠습니까?

이 프로젝트는 적어도 현재로서는 매우 간단합니다. 파일을 분리하여 보관합니다.

+0

다른 하나의 CSC에 전화 또는 뭔가 ("CSC/여러 CS 파일을 컴파일하는 방법 질문입니다 ? "는 이전에 도움이 될 것입니다 - 모든 파일을 지정하십시오) ... –

+0

@AlexeiLevenkov 예,'gmcs * .cs; 모노 * .exe', 배쉬 스크립트에서 성공적으로 작동하지만, 스크립트를 실행하는 대신에 이것을'.build-system' 파일에 넣고 싶습니다. (그것이 어떨지는 모르겠지만) . – heltonbiker

+0

제가보기에 - 당신의 질문은 제가 전혀 모르는 것에 관한 것입니다. 그래서 나는 왜 그것을 이해하지 못합니까. 죄송합니다. –

답변

1

Windows의 경우 an approach to doing what you want on the Sublime Text forums을 고려하십시오. ST2와 관련하여 게시되었지만 ST3에서도 정상적으로 작동하는 것으로 나타났습니다.

Build Systems 문서를 읽은 후 처음부터 솔루션에 도달하려고 시도하는 것보다 포스터의 구체적인 접근 방식을 따르고 적응하기가 더 쉽다고 생각합니다.

{ 
    "cmd": ["C:\\Bin\\Scripts\\sublimetext_csharp_builder.bat", "*.cs", "${file/\\.cs/\\.exe/}"], // NOTE: path set for my Windows environment 
    //"cmd": ["\\path\\to\\sublimetext_csharp_builder.bat", "$file", "${file/\\.cs/\\.exe/}"], 
    "working_dir": "${project_path:${folder:${file_path}}}", 
    "file_regex": "^(...*?)[(]([0-9]*),([0-9]*)[)]", 
    "selector": "source.cs" 
} 
: 내 Windows 환경과 이 설정 1)cmd 경로) 현재 파일의 디렉토리에있는 모든 .cs 파일을 컴파일 *.cs로 대체 $file와 - 여기

.sublime-build 파일의 내용입니다

the related sublimetext_csharp_builter.bat file on GitHub을 찾을 수 있습니다. 아래에서 나는 단지 을 가지고있다.csc%PATH%으로 해결되거나 전체 경로를 사용하고 으로 해석되는 한 실제로 필요하지 않은 환경 변수를 설정하기 위해 Visual Studio 배치 파일에 대한 의존성을 제거했다. 2) 내가 사용하던 경로에 대해 필요하다고 결과 exe, 경로 (IT 공백이 포함 된 이후) :

:: Assumptions: 
:: - Sublime Text has set the working directory and both the source and executable files 
:: are in that directory 
:: - The script is only capable of handling simple C# apps that do not reference 3rd-party 
:: libraries 

:: Inputs from Sublime Text 
:: %1 - The full path and filename of the source file to build 
:: %2 - The name of the executable file 
@SET SRC_FILE="%1" 
@SET EXE_NAME="%2" 

csc %SRC_FILE% /nologo /debug:full /platform:x86 
@IF errorlevel 1 GOTO end 

:: Execute compiled binary if build was successful. 
@ECHO. 
@ECHO Executing %EXE_NAME%: 
@ECHO. 
:: NOTE: path quoted to accommodate spaces in it 
@"%EXE_NAME%" 
@%EXE_NAME% 

:end 
+0

@heltonbiker : [블로그 게시물] (http://www.jinweijie.com/sublimetext/net-build-system-for-sublime-text-2/) 및 [GitHub의 관련 코드] (https :// /github.com/jinweijie/sublime-text-2-csharp-build) Jin Weijie의이 접근 방식에 대해 좀 더 자세히 설명하고 있습니다. – J0e3gan

관련 문제