이 플러그인은 Sublime Text 에서 작성중인 스크립트를 C4D로 바로 실행할 수 있다.
루프코드가 있을시 시포디가 다운되지만(이부분은 C4D 안에서 작성해도 동일하다.), 코드는 안전하다.
코드 수정과 단축키 지정방법을 설명하겠다.
수정이 완료된 파일로 플러그인 폴더에 넣어주거나 플러그인으로 등록한다.
폴더안의 SublimeScriptSender 폴더는 심볼릭 링크나 폴더를 복사하여 Sublime Text 의 Browser Package... 에 옮겨준다. 심볼릭 링크를 이용하면 수정시 복사해주지 않아도 된다. 심볼릭 링크는 instance 같은 기능이다.
1. SublimeScriptServer.pyp 수정하기
486 번 줄의 main() 함수를 아래처럼 수정한다. 포트를 분리한다.
def main():
global plugins
if str(c4d.GetC4DVersion())[:2] == '22': #only R22
handler = CodeExecuterMessageHandler('localhost', 2901, 'alpine')
else: # ~ R21
handler = CodeExecuterMessageHandler('localhost', 2900, 'alpine')
handler.register()
plugins.append(handler)
JavaScript
복사
2. Main.sublime-menu 수정하기
SublimeScriptSender 폴더 안에 있다.
sublimetext 상단에 메뉴를 추가하기 위해서 8번째 줄에 코드를 추가한다.
SendPythonCodeR22Command 클래스를 실행하게된다.
{ "command": "send_python_code_r22", "caption": "Send Python Code R22" },
JavaScript
복사
3. send_python_code.py 수정하기
205 번 줄의 기본 세팅에 아이템을 추가한다.
'credentials': 'alpine/localhost:2900','credentials_r22': 'alpine/localhost:2901',
JavaScript
복사
254 ~ 291 번줄까지의 내용을 복사하여 맨 밑에 추가한다.
클래스 이름을 SendPythonCodeR22Command 으로 변경한다.
네번째줄을 credentials = settings['credentials_r22'] 로 변경한다.
class SendPythonCodeR22Command(sublime_plugin.ApplicationCommand):
def run(self):
global settings
credentials = settings['credentials_r22']
JavaScript
복사
4. Sublime Text 단축키 지정하기
설정 > key bindings 를 실행한다.
사용자 단축키 입력하는곳에 아래 코드를 절적히 추가한다.
[
{ "keys": ["f1"], "command": "send_python_code" },
{ "keys": ["f2"], "command": "send_python_code_r22" },
]
JavaScript
복사
아래는 사용중이 추가단축키 설정 전체 코드다.
[
{ "keys": ["f1"], "command": "send_python_code" },
{ "keys": ["f2"], "command": "send_python_code_r22" },
{ "keys": ["f3"], "command": "expand_tabs", "args": { "set_translate_tabs": true } },
{ "keys": ["f4"], "command": "reindent"},
{ "keys": ["super+f1"], "command": "upper_case" },
{ "keys": ["super+f2"], "command": "lower_case" },
{ "keys": ["super+f3"], "command": "swap_case" },
{ "keys": ["super+alt+n"], "command": "clone_file" },
{ "keys": ["super+alt+="], "command": "increase_local_font_size" },
{ "keys": ["super+alt+-"], "command": "decrease_local_font_size" },
{ "keys": ["super+alt+0"], "command": "reset_local_font_size" },
]
JavaScript
복사
실행결과
R21
R22