2011-12-15 1 views
0

프로그램 Sublimetext2에 대한 플러그인을 작성하려고합니다.문자열을 파이썬으로 바꾸고 브라우저를 열어 결과를

파이썬으로 코딩 된 플러그인을 사용합니다. 이 지금까지

import sublime, sublime_plugin 
import webbrowser 

settings = sublime.load_settings('openonserver.sublime-settings') 
settings.get('file_path_prefix') 
settings.get('server_url') 

class OpenonServerCommand(sublime_plugin.TextCommand): 
    def run(self,edit): 
     file_path = self.view.file_name() 

파이썬 파일의 시작입니다 ...

나는 기존 플러그인을보고 전혀하지만로부터 파이썬 지식이없고 여기 내 PHP 지식 내가 도움이 필요 무엇 무엇을 ...

file_path 내가 그렇게 말할 수에서이 작업을 실행하고 파일 경로가 될 설정 값을 생각해야 할

E:\Server\htdocs\mytest_project_\some\folder_\test.php

,

설정

file_path_prefixE:\Server\htdocs\ 될 것

server_url 내가 가진 E:\Server\htdocs\를 교체해야 http://localhost/ 내가 file_path_prefixfile_path에 존재하는 경우가 않는 경우 볼 필요가

,

될 것입니다 http://localhost/을 입력하고 \/으로 바꾼 다음이 새 것을 저장하십시오. 변수

의 시간은 그래서 ... E:\Server\htdocs\mytest_project_\some\folder_\test.php 내가 다음 브라우저에이를 보낼 필요가

http://localhost/mytest_project_/some/folder_/test.php

될 것입니다.

은 어떤 도움이 크게 외부 프로그램을 실행하려면

os.system("path_to_browser url") 

사용

+0

'os.path'는 친구입니다 : http://docs.python.org/library/os.path.html'os.path.join' (경로를 수동으로 연결하는 대신)과'os.getcwd' (현재 작업 디렉토리). –

답변

0

확인 후 많은 시간을 한 번 봐 (I 파이썬 싫어 지금) 내 솔루션 (나는 매우 감동 아니에요)하지만 부분적으로

#Context.sublime-menu 
[ 
    { "command": "openserver", "caption": "Open on Server" } 
] 

#Default (Windows).sublime-keymap 
[ 
     { "keys": ["ctrl+shift+b"], "command": "openserver" } 
] 

#Main.sublime-menu 
[ 
    { 
     "caption": "Tools", 
     "mnemonic": "T", 
     "id": "tools", 
     "children": 
     [ 
      { "command": "openserver", "caption": "Open on Server" } 
     ] 
    } 
] 

#Openserver.sublime-commands 
[ 
    { 
     "caption": "Open file on Server in Browser", 
     "command": "openserver" 
    } 
] 


#Openserver.sublime-settings 
{ 
    "file_path_prefix": "E:/Server/htdocs", 
    "url_prefix": "http://localhost" 
} 

홈페이지 파일을 작동 취할 권 해드립니다

#openserver.py 

import sublime, sublime_plugin 
import os 
import webbrowser 
import re 
import os2emxpath 
import logging 
import sys 

class OpenserverCommand(sublime_plugin.TextCommand): 
    def run(self,edit): 
    file_path = self.view.file_name() 

    settings = sublime.load_settings('Openserver.sublime-settings') 

    file = os2emxpath.normpath(file_path) 

    url = re.sub(settings.get('file_path_prefix'), settings.get('url_prefix'), file) 
    #logging.warning(url) 

    #webbrowser.open_new(url) 
    if sys.platform=='win32': 
     os.startfile(url) 
    elif sys.platform=='darwin': 
     subprocess.Popen(['open', url]) 
    else: 
     try: 
      subprocess.Popen(['xdg-open', url]) 
     except OSError: 
      logging.warning(url) 

이제는 작동하지만 부분적으로는 작동하지 않는다면 파일 이름을 사용하고 설정 파일에서 내 경로와 서버 URL을 바꾼 다음 적절한 URL로 브라우저를 실행하십시오.

Sublimetext2에서 이것을 .py 파일이나 웹 브라우저에서 열 수 없도록 설정된 파일에서 실행하는 경우를 제외하고 웹 브라우저에서 파일을 여는 대신 창 팝업을 요구합니다 아주 성가신, 파일을 열 기본 프로그램을 설정합니다!

1

을 감사합니다. 또한 this comment

+0

''a '' "b"'는''ab ''를 반환합니다. 공간을 추가하십시오. – eumiro

관련 문제