Acum dacă tot testez Sublime Text să merg mai departe, nu? Poate mă voi îndrăgosti la el, deşi preţul e puţin cam pipărat. Din fericire e funcţional forever, doar că te invită periodic să îl înregistrezi. Să vedem noul meu obiectiv: să poţi deschide rapid, din taste, un fişier pe care îl editezi în navigator. Acum la mine cazul e special, pentru că am şi IIS pentru ASP, şi Apache pentru PHP. Dar pentru moment merg de dragul clarităţii pe un prim scenariu clar: lucrăm pe un fişier HTML şi dorim să îl vedem în navigatorul setat ca implicit în sistemul de operare.
Din meniul Tools alegeţi New Plugin. Puneţi conţinutul următor şi salvaţi-l cu ce nume doriţi. După cum vedeţi, codul e foarte simplu. Chiar şi fără să ştim Python înţelegem ce face. Ia numele fişierului (cu tot cu cale) şi îl deschide în brower. Punct.
import sublime, sublime_plugin import webbrowser class DeschideNavigatorCommand(sublime_plugin.TextCommand): def run(self,edit): url = self.view.file_name() webbrowser.open_new(url)
Lucrurile se complică puţin când vrem să deschidem pe un server fişierul. Nu ne mai ajută calea lui, ci dimpotrivă trebuie să scăpăm de prima parte (C:\\calea\spre\server). Acum desigur că se pot găsi soluţii mai elegante, cu “variabile” definite în setările Sublime Text. Eu am mers pe ceva foarte simplu. Adaptând la datele calculatorului Dvs (adică locaţia serverului) puteţi folosi codul. După cum vedeţi mai sus, pentru moment le-am separat pe două taste (F8 şi F9), pentru că uneori lucrez pe fişiere HTML care nu sunt sub structura serverului.
import sublime, sublime_plugin import webbrowser import re class DeschideLocalhostCommand(sublime_plugin.TextCommand): def run(self,edit): url = self.view.file_name() url=re.sub("E:\\\\webroot","",url) webbrowser.open_new_tab("http://localhost:8080/" + url)
La mine nu a mers varianta cu localhost, dar am mai gasit o alternativa:
// Begin Code
import sublime, sublime_plugin
import os
import webbrowser
import re
import os2emxpath
import logging
import sys
class DeschideLocalhostCommand(sublime_plugin.TextCommand):
def run(self, edit):
file_path = self.view.file_name()
file = os2emxpath.normpath(file_path)
url = re.sub(„C:/wamp/www/”, „http://localhost/”, file)
if sys.platform == ‘win32’:
webbrowser.open_new_tab(url)
#os.startfile(url)
elif sys.platform == ‘darwin’:
subprocess.Popen([‘open’, url])
else:
try:
subprocess.Popen([‘xdg-open’, url])
except OSError:
logging.warning(url)
// End Code