แป้นพิมพ์ลัด Sublime Text 2 เพื่อเปิดไฟล์ในเบราว์เซอร์ที่ระบุ (เช่น Chrome)


109

ฉันพัฒนาเว็บและกำลังทดลองใช้ Sublime Text 2 มีแป้นพิมพ์ลัดเพื่อเปิดไฟล์ปัจจุบันในเบราว์เซอร์ที่ระบุหรือไม่ (เช่น Chrome)

ขอความช่วยเหลือในการตั้งค่า Sublime Text สำหรับการพัฒนาเว็บ!

คำตอบ:


168

ฉันไม่แน่ใจจริงๆว่าคำถามนี้เหมาะกับที่นี่ แต่คุณสามารถเพิ่ม "Build System" ใหม่ได้ใน Tools -> Build System -> New Build System...

เช่นเดียวกับการกำหนดค่าทั้งหมดใน Sublime Text เป็นเพียง JSON ดังนั้นจึงควรตรงไปตรงมา สิ่งสำคัญที่คุณต้องการกำหนดค่าคือ"cmd"คีย์ / ค่า นี่คือการกำหนดค่าการสร้างสำหรับการเปิดใช้งาน chrome บนเครื่อง Mac ของฉัน

{
    "cmd": ["open", "-a", "Google Chrome", "$file"]
}

บันทึกเป็นChrome.sublime-buildเปิด Sublime Text อีกครั้งและคุณจะเห็นChromeตัวเลือกใหม่ในรายการบิลด์ เลือกจากนั้นคุณควรจะสามารถเปิด Chrome ด้วยCmd+ Bบนเครื่อง Mac ได้ (หรือปุ่มลัดใด ๆ ที่คุณกำหนดค่าสำหรับการสร้างอาจเป็นF7หรือCtrl+ Bบนเครื่อง Windows)

อย่างน้อยสิ่งนี้จะช่วยผลักดันให้คุณไปในทิศทางที่ถูกต้อง

แก้ไข:

อีกสิ่งหนึ่งที่ฉันทำได้มากใน Sublime Text 2 คือถ้าคุณคลิกขวาในเอกสารรายการใดรายการหนึ่งในเมนูบริบทคือCopy File Pathซึ่งจะใส่เส้นทางแบบเต็มของไฟล์ปัจจุบันลงในคลิปบอร์ดเพื่อให้วางลงในเบราว์เซอร์ที่คุณต้องการได้อย่างง่ายดาย


Sublime Text 3 (ตัวอย่าง linux) "shell_cmd": "google-chrome '$ file'"


5
ขอบคุณ! สิ่งนี้ช่วยได้อย่างมาก
wwwuser

53
สำหรับ Window OS ให้ใช้ cmd นี้: {"cmd": ["PATH_TO_YOUR_CHROME", "$ file"]}
didxga

15
ระวังแบ็กสแลชในพา ธ ของ Windows ทำให้เป็นสองเท่าหรือจะถือว่าเป็นลำดับการหลีกเลี่ยงที่ไม่ถูกต้องจึงไม่ทำงาน
Angel

13
นอกจากนี้สำหรับ linux มันเป็นเพียง{ "cmd": ["google-chrome", "$file"] }
lambda

13
ใน Sublime Text 3 คำสั่งถูกเปลี่ยนเป็น"shell_cmd": "open -a your_app '$file'".
คริส

48

"เปิดในเมนูบริบทของเบราว์เซอร์สำหรับไฟล์ HTML" ได้ถูกเพิ่มในบิลด์ล่าสุด (2207) วันที่วางจำหน่ายคือ 25 มิถุนายน 2555


2
ฉันต้องมองข้ามเมนูบริบทด้วยการคลิกขวา ขอบคุณสำหรับเคล็ดลับนี้!
orschiro

17
และคุณสามารถกำหนดทางลัดสำหรับสิ่งนี้ได้อย่างง่ายดาย: ไปที่การตั้งค่า> การเชื่อมโยงคีย์ - ผู้ใช้ จากนั้นในไฟล์. sublime-keymap ที่เปิดขึ้นเพิ่ม{ "keys": ["ctrl+alt+b"], "command": "open_in_browser"}(หรือคีย์ผสมอื่น ๆ ที่คุณต้องการ)
Jarón Barends

1
Jaron พูดถูก แต่โปรดทราบว่าคีย์ผสมไม่สามารถขัดแย้งกับคีย์ที่มีอยู่ได้มิฉะนั้นจะไม่ทำงานและไม่มีคำเตือนความขัดแย้งทางลัดในประเสริฐเท่าที่ฉันสามารถบอกได้
Philip007

1
[{"keys": ["super +;"], "command": "run_macro_file", "args": {"file": "Packages / User / Semicolon.sublime-macro"}}] นี่คือเนื้อหาใน ไฟล์ config? ฉันจะเพิ่มของคุณในการกำหนดค่าที่มีอยู่ได้อย่างไร ขอบคุณ!
Nicolas S.Xu

2
@NeilMonroe เปิดใช้งานคำสั่งการบันทึกในคอนโซลเพื่อดูข้อผิดพลาดที่อาจเกิดขึ้นsublime.log_commands(True)
aanton

33

Windows7 FireFox / Chrome:

    {
       "cmd":["F:\\Program Files\\Mozilla Firefox\\firefox.exe","$file"]
    }

เพียงใช้เส้นทางของคุณเองของ firefox.exe หรือ chrome.exe เพื่อแทนที่ของฉัน

แทนที่ firefox.exe หรือ chrome.exe ด้วยเส้นทางของคุณเอง


1
C:\\Users\\$User$\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exeเป็นเส้นทางทั่วไปสำหรับ chrome บน windows (แทนที่ $ User $ ด้วยชื่อผู้ใช้ของคุณ)
เบ็น

1
ใช่ แต่จะใช้การสร้างอัตโนมัติหรือไม่หรือฉันต้องระบุโครงสร้าง เนื่องจากฉันมีบิวด์อื่น ๆ มากมายและฉันใช้ตัวเลือกการสร้างอัตโนมัติดังนั้นมันจะทำงานกับการสร้างอัตโนมัติหรือไม่
IGRACH

14

สิ่งนี้ใช้ได้กับ Sublime 3:


ในการเรียกดูไฟล์ html ด้วยแอพเริ่มต้นโดยปุ่มลัด Alt + L:

เพิ่มบรรทัดนี้เพื่อPreferences -> Key Bindings - Userเปิดไฟล์:

{ "keys": ["alt+l"], "command": "open_in_browser"}


ในการเรียกดูหรือเปิดด้วยแอปภายนอกเช่น chrome:

เพิ่มบรรทัดนี้เพื่อTools -> Build System -> New Build System...เปิดไฟล์และบันทึกด้วยชื่อ"OpenWithChrome.sublime-build"

"shell_cmd": "C:\\PROGRA~1\\Google\\Chrome\\APPLIC~1\\chrome.exe $file"

จากนั้นคุณสามารถเรียกดู / เปิดไฟล์โดยเลือกTools -> Build System -> OpenWithChromeและกดF7หรือCtrl+Bคีย์


1
นี่เป็นวิธีที่ตรงไปตรงมาที่สุดในการดำเนินการนี้ การเพิ่มบรรทัดในการผูกคีย์เป็นสิ่งที่คนส่วนใหญ่ต้องการ
Shawn Erquhart

1
คุณอาจแทนที่แบ็คแชชคู่\` with single slashaes / ซึ่ง Sublime Text จะเข้าใจใน Windows ด้วย
kleinfreund

1
วิธีนี้ใช้งานได้ แต่ฉันพบว่าฉันต้องการชื่อไฟล์ในเครื่องหมายคำพูดในกรณีที่ไฟล์ของฉันอยู่ในไดเร็กทอรีที่มีช่องว่างในชื่อ เช่น "C: \ My Folder \ test.html" จะทำให้ Chrome สองแท็บเปิด "C: \ My" และ "Folder \ test.html" ซึ่งไม่ถูกต้อง การห่อส่วน $ file ด้วยเครื่องหมายคำพูดที่ใช้ Escape แล้วจะใช้งานได้ดี (แทนที่ $ file ด้วย \ "$ file \" ในคำสั่งด้านบน)
แพนเค้ก

13

ติดตั้งปลั๊กอินView In Browserโดยใช้Package Controlหรือดาวน์โหลดแพ็คเกจจากgithubและเปิดเครื่องรูดแพ็คเกจนี้ในโฟลเดอร์แพ็กเกจของคุณ (จากการเรียกดูแพ็คเกจ)

หลังจากนี้ไปที่การตั้งค่าการเชื่อมโยงคีย์ - ผู้ใช้วางสิ่งนี้

[{"keys": ["f12"], "command": "view_in_browser"}]

ตอนนี้ F12 จะเป็นคีย์ลัดของคุณ


ฉันต้องเปลี่ยนบรรทัดสุดท้ายPreferences --> PackageSettings--> view in Browser -- > default settingsด้วย เป็น "chrome 64" (เดิมคือ "firefox") จากนั้นใช้งานได้อย่างสมบูรณ์กับทางลัดใด ๆ ;)
kolboc

12

คุณสามารถติดตั้งปลั๊กอิน SideBarEnhancementsซึ่งจะช่วยให้คุณสามารถเปิดไฟล์ในเบราว์เซอร์ได้โดยคลิกที่ F12

เพื่อเปิดว่าใน Chrome คุณจะต้องแก้ไขปัญหาขึ้น“ด้าน Bar.sublime การตั้งค่า” แฟ้มและการตั้งค่าที่จะเป็น"default_browser""chrome"

ฉันขอแนะนำให้เรียนรู้วิดีโอสอนเรื่อง Sublime Text 2 นี้


1
Errandir วิดีโอนี้อยู่ที่ไหนกันแน่? มีวิดีโอหลายรายการในลิงก์ที่คุณระบุไว้ด้านบน ฉันใช้ windows 7 ไม่ใช่ mac ขอบคุณ.
ริส 22

8

บน windows เปิดเบราว์เซอร์เริ่มต้นด้วย url ที่กำหนดไว้ล่วงหน้า:

เครื่องมือ> สร้างระบบ> ระบบสร้างใหม่:

{
    "cmd": ["cmd","/K","start http://localhost/projects/Reminder/"]
}

ctrl+ Bและ voila!


1
ยอดเยี่ยมสิ่งที่ฉันกำลังมองหา ขอบคุณ!
jonschlinkert

8

ดูเหมือนจะมีวิธีแก้ปัญหามากมายสำหรับ Windows ที่นี่ แต่เป็นวิธีที่ง่ายที่สุด:

Tools -> Build System -> New Build Systemพิมพ์ด้านบนบันทึกเป็นBrowser.sublime-build:

{
    "cmd": "explorer $file"
}

จากนั้นกลับไปที่ไฟล์ HTML ของคุณ เครื่องมือ -> สร้างระบบ -> เบราว์เซอร์ จากนั้นกดCTRL-Bและไฟล์จะเปิดขึ้นในเบราว์เซอร์ใดก็ได้ที่เป็นเบราว์เซอร์เริ่มต้นของระบบของคุณ


4

นี่เป็นอีกวิธีหนึ่งหากคุณต้องการรวมเบราว์เซอร์ต่างๆไว้ในไฟล์ หากคุณและผู้ใช้ Mac จากเมนูประเสริฐให้ไปที่เครื่องมือ> ปลั๊กอินใหม่ ลบรหัสที่สร้างขึ้นและผ่านสิ่งต่อไปนี้:

import sublime, sublime_plugin
import webbrowser


class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self,edit,keyPressed):
      url = self.view.file_name()
      if keyPressed == "1":
         navegator = webbrowser.get("open -a /Applications/Firefox.app %s")
      if keyPressed == "2":
         navegator = webbrowser.get("open -a /Applications/Google\ Chrome.app %s")
      if keyPressed == "3":
         navegator = webbrowser.get("open -a /Applications/Safari.app %s")
      navegator.open_new(url)

บันทึก จากนั้นเปิด User Keybindings (เครื่องมือ> Command Palette> "การเชื่อมโยงคีย์ผู้ใช้") และเพิ่มสิ่งนี้ลงในรายการ:

{ "keys": ["alt+1"], "command": "open_browser", "args": {"keyPressed": "1"}},
{ "keys": ["alt+2"], "command": "open_browser", "args": {"keyPressed": "2"}},
{ "keys": ["alt+3"], "command": "open_browser", "args": {"keyPressed": "3"}}

ตอนนี้เปิดไฟล์ html ใด ๆ ใน Sublime และใช้หนึ่งในการเชื่อมโยงคีย์ซึ่งจะเปิดไฟล์นั้นในเบราว์เซอร์ที่คุณชื่นชอบ



3

เครื่องมือ -> สร้างระบบ -> ระบบสร้างใหม่ ประเภทต่อไปนี้เป็นระบบปฏิบัติการของคุณบันทึกเป็นChrome.sublime-build

ระบบปฏิบัติการ Windows

  {
        "cmd": ["C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "$file"]
  }

ระบบ MAC

{
   "cmd": ["open", "-a", "/Applications/Google Chrome.app", "$file"]
}

บันทึกไฟล์ - Chrome.sublime-buildในตำแหน่ง

C:\Users\xnivirro\Downloads\Software-Installed\Sublime-2\Data\Packages\User

Sublime View ใน Browswer - https://github.com/adampresley/sublime-view-in-browser (ลองกับ Linux และใช้งานได้)


ตรวจสอบให้แน่ใจว่าจะบันทึกเป็น.sublime สร้างเป็นส่วนขยายตัวอย่างเช่นถ้า Firefox:Firefox.sublime-build
เมีย Tzar

1

คำตอบของ egyamado มีประโยชน์มาก! คุณสามารถปรับปรุงสำหรับการตั้งค่าเฉพาะของคุณด้วยสิ่งต่อไปนี้:

import sublime, sublime_plugin
import webbrowser

class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self, edit, keyPressed, localHost, pathToFiles):  
      for region in self.view.sel():  
         if not region.empty():  
            # Get the selected text  
            url = self.view.substr(region)  
            # prepend beginning of local host url 
            url = localHost + url  
         else:
            # prepend beginning of local host url 
            url = localHost + self.view.file_name()
            # replace local path to file
            url = url.replace(pathToFiles, "")


         if keyPressed == "1":
            navigator = webbrowser.get("open -a /Applications/Firefox.app %s")
         if keyPressed == "2":
            navigator = webbrowser.get("open -a /Applications/Google\ Chrome.app %s")
         if keyPressed == "3":
            navigator = webbrowser.get("open -a /Applications/Safari.app %s")
         navigator.open_new(url)

จากนั้นในการเชื่อมโยงคีย์ของคุณ:

{ "keys": ["alt+1"], "command": "open_browser", "args": {"keyPressed": "1", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"}},
{ "keys": ["alt+2"], "command": "open_browser", "args": {"keyPressed": "2", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"}},
{ "keys": ["alt+3"], "command": "open_browser", "args": {"keyPressed": "3", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"}}

เราจัดเก็บ URL ตัวอย่างไว้ที่ด้านบนสุดของเทมเพลตทั้งหมดของเราดังนั้นส่วนแรกให้คุณไฮไลต์ URL ตัวอย่างนั้นและเปิดใช้ในเบราว์เซอร์ หากไม่มีการเน้นข้อความก็จะใช้ชื่อไฟล์ คุณสามารถปรับการเรียกใช้คำสั่งในการเชื่อมโยงคีย์ไปยัง localhost url ของคุณและเส้นทางระบบไปยังเอกสารที่คุณกำลังทำงานอยู่


1

ฉันมีสถานการณ์คล้าย ๆ กับคุณ ฉันไม่ต้องการตัวแก้ไขที่เปิดกว้างสำหรับไบนารีเช่นไฟล์ jpg png แอปพลิเคชันเริ่มต้นของระบบเปิดแทนจะเหมาะสมกว่า

  1. สร้างหนึ่งบิลด์ เช่นเดียวกับคำตอบที่ยอมรับ แต่จะเปิดแอปพลิเคชันเริ่มต้นและตัวแก้ไขฐานสิบหก
  2. Pulgin OpenDefaultApplication https://github.com/SublimeText/OpenDefaultApplication มันจะมีบริบทคลิกขวาเมนู OpenInDefaultApplication แต่ทั้งสองจะเปิดแอปพลิเคชันเริ่มต้นและตัวแก้ไขฐานสิบหกด้วย
  3. Pulgin: ไฟล์ข้อความที่ไม่ใช่ https://packagecontrol.io/packages/Non%20Text%20Files เพิ่มการกำหนดค่าในการตั้งค่าของผู้ใช้

    "binary_file_patterns": ["*.JPG","*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],
    "prevent_bin_preview": true,
    "open_externally_patterns": [
       "*.JPG",
       "*.jpg",
       "*.jpeg",
       "*.JPEG",
       "*.png",
        "*.PGN",
       "*.gif",
        "*.GIF",
        "*.zip",
        "*.ZIP",
        "*.pdf",
        "*.PDF"
    ]
    

ฉันเลือกวิธีที่สามมันค่อนข้างตอบโจทย์สำหรับฉัน มันจะเปิดไฟล์ jpg ในแอปพลิเคชันเริ่มต้นของระบบและปิดโหมดแก้ไขอย่างรวดเร็วโดยอัตโนมัติในเวลาเดียวกัน ในสองวิธีแรกคุณสามารถตั้งค่า "preview_on_click": false เพื่อหยุดการเปิดโปรแกรมแก้ไขเลขฐานสิบหกโดยอัตโนมัติ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.