Sublime Text 설정 4 - SublimeScriptSender 버전별 실행하기

요약
서브라임텍스트에서 c4d 버전별로 따로 스크립트 보내기
분류
sublime text
태그
설정
작성일
2020/06/23
이 플러그인은 Sublime Text 에서 작성중인 스크립트를 C4D로 바로 실행할 수 있다.
루프코드가 있을시 시포디가 다운되지만(이부분은 C4D 안에서 작성해도 동일하다.), 코드는 안전하다.
코드 수정과 단축키 지정방법을 설명하겠다.
sublime-script.zip
157.3KB
수정이 완료된 파일로 플러그인 폴더에 넣어주거나 플러그인으로 등록한다.
폴더안의 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
Today