Sublime 플러그인을 어떻게 쓰는지 (2)
생방송으로 여러분과 함께 Sublime 플러그인을 쓰세요.
어떤 플러그인을 쓸까요?
평소 PlainTasks로 하루의 일을 세분화하지만 알림 기능이 없다.타이머 종류의 플러그인을 찾고 싶은데,github에서 찾은 것은 모두 쓰기에 좋지 않습니다.그러니까 자기가 하나 써.
생방송 때문에 플러그인을 아직 다 못 썼을 거예요.https://github.com/FloydaGitHub/WorkTime https://coding.net/u/Floyda/p/WorkTime/git
참고 자료
API
관리 시간이 필요하므로 "심장 박동 라인"을 만듭니다.
import sublime, sublime_plugin
class TimeManager():
def __init__(self):
self.thread_flag = False
self.total_time = 0
#
def tick(self):
#
if self.thread_flag is False:
return
self.total_time += 1
sublime.status_message(str(self.total_time))
sublime.set_timeout_async(self.tick, 1000) # 1 , , .
def start(self):
self.thread_flag = True
sublime.set_timeout_async(self.tick, 0) # , .
time_manager = TimeManager()
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
time_manager.start()
플러그인, F1 을 다시 시작하고 왼쪽 아래에 있는 상태 표시줄을 보면 타이머 하나가 완성됩니다:)
토마토 타임 타이머 만들기.
import sublime, sublime_plugin
class TimeManager():
def __init__(self):
self.thread_flag = False
self.total_time = 0
def tick(self):
if self.thread_flag is False:
return
# if self.total_time >= 60 * 25: # 25 .
if self.total_time >= 3:
self.stop()
sublime.message_dialog("Have a rest!") # .
return
self.total_time += 1
sublime.status_message(str(self.total_time))
sublime.set_timeout_async(self.tick, 1000)
def start(self):
self.thread_flag = True
sublime.set_timeout_async(self.tick, 0)
def stop(self):
self.total_time = 0
self.thread_flag = False
time_manager = TimeManager()
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
time_manager.start()
상태 표시줄에 시간 진행률 표시
import sublime, sublime_plugin
class TimeManager():
def __init__(self):
self.thread_flag = False
self.total_time = 0
# self.finish_time = 60 * 25
self.finish_time = 5
def tick(self):
if self.thread_flag is False:
return
self.show_status()
if self.total_time >= self.finish_time:
self.stop()
sublime.message_dialog("Have a rest!")
return
self.total_time += 1
# sublime.status_message(str(self.total_time))
sublime.set_timeout_async(self.tick, 1000)
def start(self):
self.thread_flag = True
sublime.set_timeout_async(self.tick, 0)
def stop(self):
self.total_time = 0
self.thread_flag = False
sublime.status_message('')
def show_status(self):
progress = int(self.total_time / self.finish_time * 100)
msg = "|" + \
progress * "-" + \
"o" + \
(100 - progress) * "-" + \
"|"
sublime.status_message(msg)
time_manager = TimeManager()
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
time_manager.start()
기본적으로 토마토 시간의 플러그인 하나가 완성되었다.가장 좋은 것은 스스로 한 번 써서 쓰면서 디버깅하는 것이다.
-- Floyda --
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.