วิธี (อย่างง่ายดาย) รับเส้นทางไฟล์ปัจจุบันใน Sublime Text 3


120

วิธี (อย่างง่ายดาย) รับเส้นทางไฟล์ปัจจุบันใน Sublime Text 3

ฉันไม่ได้ใช้คอนโซล ST บ่อยๆ ( ฉันใช้เพียงครั้งเดียวเพื่อติดตั้งตัวจัดการแพ็คเกจ ) แต่ฉันคิดว่ามันอาจเป็นวิธีที่ดีในการ:

  • รับเส้นทางไฟล์ปัจจุบันเช่นคำสั่งpwdบางประเภท
  • แต่มันไม่ได้ผล

มีใครรู้วิธีง่ายๆในการรับเส้นทางไฟล์ปัจจุบันหรือไม่?

  • ไปที่คลิปบอร์ด: ดีกว่าไม่ใช่วัตถุประสงค์ที่เข้มงวดในคำตอบ
  • ไม่จำเป็นโดยคำสั่ง ST อาจจะเป็นแพ็คเกจ?

2
หากคุณอยากรู้อยากเห็นในคอนโซลคุณจะได้รับเส้นทางโดยใช้view.file_name()และคัดลอกไปยังคลิปบอร์ดโดยใช้sublime.set_clipboard(view.file_name())
sergioFC

หากคุณต้องการดูเส้นทางเพียงแค่วางเมาส์ไว้เหนือแท็บจากนั้นคำแนะนำเครื่องมือที่มีเส้นทางจะปรากฏขึ้น
becko

คำตอบ:


229

คลิกขวาที่ใดที่หนึ่งในไฟล์ (ไม่ใช่บนแท็บชื่อเรื่อง) -> คัดลอกเส้นทางไฟล์

หากคุณไม่ต้องการใช้เมาส์คุณสามารถตั้งค่าแป้นพิมพ์ลัดตามที่อธิบายไว้ที่นี่/superuser/636057/how-to-set-shortcut-for-copy-file-path-in -sublime ข้อความ-3


1
ทำงานในข้อความประเสริฐ 2 เช่นกัน สุดยอดมาก แต่เรียบง่ายมาก
beautifulcoder

1
การคลิกขวาที่รูปภาพดูเหมือนจะใช้ไม่ได้: /
ส.ค.

2
@aug คำหลักเป็น 'ข้อความ' ในชื่อ Sublime Text
Mike Kormendy

4
เคยมาที่นี่มาก่อน ... ไอ้ฉันคลิกที่แท็บชื่อเพื่อรับมัน
zok

3
แย่เกินไปที่แท็บนั้นเป็นไปไม่ได้คุณต้องเปลี่ยนแท็บก่อนที่จะทำเช่นนั้นบางครั้งก็น่ารำคาญเล็กน้อย
Rafiki

21

ในการคัดลอกเส้นทางไฟล์ปัจจุบันอย่างง่ายดายให้เพิ่มสิ่งต่อไปนี้ในKey Bindings - User:

{ "keys": ["ctrl+alt+c"], "command": "copy_path" },

แหล่ง

Key Bindings - Userสามารถเปิดผ่านจานคำสั่ง ( command + pบน OSX)


3
คุณรู้ได้อย่างไรว่าcopy_pathเป็นคำสั่งที่ถูกต้อง? เราจะรู้ได้อย่างไรว่ามีอะไรบ้าง? มีเอกสารใดบ้างที่ฉันคิดถึง?
cyber8200

2
@ihue - คำถามที่ดี; ไม่สามารถค้นหาcopy_pathในเอกสารได้ sublime.log_commands(True)ถ้าคุณตรวจสอบแหล่งที่มาที่ผมให้ไว้ข้างต้นผู้ใช้ที่เปิดการบันทึกคำสั่งผ่านทาง
cheshireoctopus

13

เข้าใจง่ายโดยใช้ภาพ เมื่อคลิกขวาคุณจะได้รับสิ่งนี้

ใส่คำอธิบายภาพที่นี่

รหัสถอดเสียงในภาพเพื่อความสะดวก:

import sublime, sublime_plugin, os

class CopyFilenameCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        if len(self.view.file_name()) > 0:
            filename = os.path.split(self.view.file_name())[1]
            sublime.set_clipboard(filename)
            sublime.status_message("Copied file name: %s" % filename)

    def is_enabled(self):
        return self.view.file_name()...  # can't see


2

มีแพ็คเกจ Sublime ซึ่งให้ตำแหน่งไฟล์ปัจจุบันของคุณอยู่ในแถบสถานะ ฉันเพิ่งโคลนพวกมันโดยตรงไปยังโฟลเดอร์ / sublime-text-3 / Packages ของฉัน

git clone git@github.com:shagabutdinov/sublime-shell-status.git ShellStatus;

git clone git@github.com:shagabutdinov/sublime-status-message.git StatusMessage;

คุณต้องตรวจสอบ / อ่านคำอธิบายบน GitHub แม้ว่าจะอยู่ในการควบคุมแพ็คเกจ แต่ก็ไม่สามารถติดตั้งได้อย่างถูกต้องสำหรับฉัน คุณสามารถแก้ไขเอาต์พุตเชลล์ได้ตามที่คุณต้องการ หากคุณมีทักษะที่เหมาะสมกับ python / shell

หน้าตาแบบนี้ (Material Theme) ใส่คำอธิบายภาพที่นี่


2

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

การติดตั้งสามารถทำได้ผ่าน Package Control (แม้ว่าหน้าเว็บจะกล่าวถึงการติดตั้งผ่านการดาวน์โหลดด้วยตนเองเท่านั้น)

หมายเหตุ:แพคเกจ“ส่งพื้นฐานสถิติที่ไม่ระบุชื่อ” หน้าเว็บอธิบายวิธีการเลือกไม่ใช้

SublimeSideBarEnhancementsScreenshot


1

ไปที่ลิงค์นี้ รหัสในการเชื่อมโยงที่จะได้รับจากrobertcollier4

สร้างไฟล์ชื่อCpoyFileName.pyหรืออะไรก็ได้ที่คุณต้องการด้วยนามสกุล. py

บันทึกไฟล์ในSublime Text 3\Packages\Userโฟลเดอร์ จากนั้นวางการผูกคีย์ที่ระบุไว้ด้านบนในPreferences: Key Bindingsไฟล์ของคุณ

ตอนนี้คุณสามารถใช้การผูกคีย์ที่ระบุเพื่อคัดลอกเฉพาะชื่อไฟล์หรือพา ธ ไฟล์ทั้งหมด (สัมบูรณ์)

โปรดทราบว่าชื่อไฟล์หรือเส้นทางไฟล์มีนามสกุลไฟล์


0

คำตอบเหล่านี้จำนวนมากเกี่ยวข้องกับการแตะเมาส์ ต่อไปนี้เป็นวิธีรับเส้นทางโดยไม่ต้องคลิกเมาส์โดยใช้SideBarEnhancements

  1. ติดตั้ง SideBarEnhancements โดยใช้ PackageControl
  2. คลิก super + shift + P เพื่อเปิดชุดคำสั่ง
  3. ในจานคำสั่งเริ่มพิมพ์pathจนกว่าคุณจะเห็นFile: Copy Path
  4. เลือก File: Copy Path

ขณะนี้เส้นทางไปยังไฟล์ที่คุณกำลังทำงานอยู่จะถูกคัดลอกไปยังคลิปบอร์ดของคุณ

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