VSCode: เปิดไฟล์จาก file explorer ด้วยปุ่ม Enter บน Mac OSX


112

เมื่อใช้ VSCode บน Windows ฉันสามารถนำทาง explorer ไฟล์และกดEnterที่ไฟล์ที่โฟกัสแล้วไฟล์จะเปิดในตัวแก้ไข อย่างไรก็ตามบน Mac ของฉันเมื่อฉันทำสิ่งนี้ VSCode จะเปิดอินพุตเปลี่ยนชื่อดังนี้:

ป้อนคำอธิบายภาพที่นี่

ฉันไม่แน่ใจว่าทำไมมันถึงทำแบบนี้ แม้ในการแก้ไขข้อความอื่น ๆ (เช่น Atom) Enterพฤติกรรมเริ่มต้นคือการเปิดไฟล์บน มีวิธีที่จะเปลี่ยนพฤติกรรมนี้เพื่อให้เปิดแฟ้มที่ใดEnter? วิธีแก้ปัญหาเดียวที่ฉันพบจนถึงตอนนี้คือCTRL+ Enterซึ่งจะเปิดไฟล์ในบานหน้าต่างใหม่ แต่ด้วยขีด จำกัด 3 บานใน VSCode สิ่งนี้ค่อนข้าง จำกัด


จากเอกสารของพวกเขาฉันคิดว่าวิธีเดียวคือคลิกขวาและเลือกเปิดเผยใน Finder (คุณยังสามารถนำทางไปยังตำแหน่งของไฟล์หรือโฟลเดอร์ใน Explorer ดั้งเดิมได้โดยคลิกขวาที่ไฟล์หรือโฟลเดอร์และเลือกเปิดเผยใน Explorer (หรือเปิดเผยใน Finder บน Mac)) พื้นฐานและการผูกคีย์
rmjoia

1
@rmjoia ขออภัยฉันไม่ชัดเจน ฉันไม่ได้พยายามเปิดเผยไฟล์ใน Explorer หรือ Finder ฉันแค่ต้องการเปิดไฟล์ เมื่อฉันคลิก Enter VSCode ต้องการให้ฉันเปลี่ยนชื่อไฟล์บน Mac ฉันไม่ต้องการเปลี่ยนชื่อไฟล์ฉันแค่ต้องการเปิดมัน ทำงานได้ตามที่คาดไว้ใน Windows แต่ไม่ใช่ Mac
Johnny Oshika

1
เปิดใน VS รหัส? ชอบสำหรับการแก้ไข? เปิดอย่างไร?
rmjoia

2
ใช่ฉันแค่ต้องการเปิดไฟล์ใน VSCode เพื่อแก้ไขโดยไม่ต้องละนิ้วออกจากแป้นพิมพ์ ฉันทำตลอดเวลาใน Atom, Visual Studio และแม้แต่ VSCode สำหรับ Windows แต่ดูเหมือนจะทำใน VSCode สำหรับ Mac ไม่ได้ มันพยายามเปลี่ยนชื่อไฟล์เมื่อฉันกด Enter (ตามภาพหน้าจอด้านบน)
Johnny Oshika

1
โอเคฉันกำลังลบคำตอบของฉันเนื่องจากมันไม่ได้เพิ่มอะไรให้กับคำถาม ฉันอยากจะแนะนำให้ใช้ฟอรัม VSCode เพื่อขอเป็นฟีเจอร์หรืออาจได้รับคำแนะนำจากชุมชน
rmjoia

คำตอบ:


199

หากใครก็ตามที่พบปัญหานี้แป้นพิมพ์ลัดเพื่อเปิดไฟล์จาก file explorer ใน VSCode บน Mac คือ:

CMD+Down

นอกจากนี้ยังใช้งานได้ใน Finder


5
+1 แต่สิ่งนี้จะแทนที่แท็บไฟล์ที่เปิดอยู่ที่มีอยู่ มีความคิดที่จะเปิดในแท็บใหม่ แต่อยู่ในแผงควบคุมเดียวกันหรือไม่?
pavsaund

7
@ johnny-oshika คุณสามารถปิดใช้งานพฤติกรรมการแสดงตัวอย่างในการตั้งค่าของคุณได้โดยการเพิ่ม"workbench.editor.enablePreview": falseและ"workbench.editor.enablePreviewFromQuickOpen": false
Dima Kuzmich

2
@DimaKuzmich ที่ทำงานได้ดีมาก! การตั้งค่าเพียงไฟล์แรก"workbench.editor.enablePreview": falseก็เพียงพอแล้วที่จะเปิดแต่ละไฟล์ในแท็บของตัวเอง
Brad Cupit

7
ขอบคุณฉันสงสัยว่าทำไมพวกเขาถึงทำเรื่องนี้ยากมาก ฉันไม่พบคำสั่งสำหรับ Cmd + Down ในรายการคำสั่ง
gerrytan

ดูเหมือนว่าพวกเขากำลังดำเนินการแก้ไขซึ่งควรจะออกพร้อมกับรุ่นต่อไปของบุคคลภายใน
skube

25

ในเวอร์ชัน 1.19.2 บน Mac ฉันสามารถไปที่แป้นพิมพ์ลัด (แถบเมนู> โค้ด> ค่ากำหนด> แป้นพิมพ์ลัด) ค้นหา "เปลี่ยนชื่อ" และแก้ไข "เปลี่ยนชื่อไฟล์" (ค่า "เมื่อ" เป็น "explorerViewletVisible && filesExplorerFocus &&! inputFocus ") เปลี่ยนทางลัดเป็น" cmd + enter "

นอกจากนี้คุณยังสามารถวางสิ่งต่อไปนี้ใน keybindings.json ของคุณได้ (มีลิงค์ไปที่หน้าแป้นพิมพ์ลัด):

{
  "key": "cmd+enter",
  "command": "renameFile",
  "when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
}

Enter ตอนนี้เปิดไฟล์ที่ไฮไลต์ใน explorer และ ctrl + enter ทำให้อยู่ในโหมดเปลี่ยนชื่อ / แก้ไข


–Edit–

หลังจากที่ฉันอัปเกรดเป็น 1.21.0 แล้วปุ่ม Enter ก็เริ่มทำงานเป็น renameFile อีกครั้ง cmd + enter ยังคงทำหน้าที่เป็น renameFile เช่นกัน ในการแก้ไขปัญหานี้ให้ไปที่แถบเมนู> รหัส> การตั้งค่า> แป้นพิมพ์ลัดและคลิกขวาที่รายการที่ไม่เหมาะสมและลบออกหรือเพิ่มเครื่องหมายยัติภังค์ / ลบที่จุดเริ่มต้นของคำสั่งใน keybindings.json:

{
  "key": "enter",
  "command": "-renameFile",
  "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
}

22

ฉันลงเอยด้วยการรวบรวมโซลูชันสองสามอย่างไว้ด้วยกันเพื่อรับkeybinding.jsonรุ่นต่อไปนี้(เปิดผ่านCode > Preferences > Keyboard Shortcuts > keybindings.json):

  {
    "key": "cmd+enter",
    "command": "renameFile",
    "when": "explorerViewletVisible && filesExplorerFocus"
  },
  {
    "key": "enter",
    "command": "-renameFile",
    "when": "explorerViewletVisible && filesExplorerFocus"
  },
  {
    "key": "enter",
    "command": "list.select",
    "when": "listFocus && !inputFocus"
  }

1
สิ่งนี้ทำให้หน้าต่าง explorer สามารถนำทางได้อย่างสมบูรณ์ ตอนนี้ฉันไม่ต้องคลิกเพื่อนำทาง file-tree ฉันเพียงแค่ CMD-SHIFT-E จากตัวแก้ไขเพื่อเลื่อนโฟกัสไปที่ตัวสำรวจไฟล์กดปุ่มลูกศรไปที่ไฟล์อื่นแล้วกด Enter เพื่อเปิดไฟล์และเลื่อนโฟกัสกลับไปที่ตัวแก้ไข ใช้งานง่ายอย่างสมบูรณ์แบบ ขอบคุณ.
ObjectiveTC

1
ถ้าคุณเป็นเหมือนฉันคุณแค่ใส่มันลงในไฟล์ JSON .... command + shift + p เปิดชุดคำสั่งและค้นหา "Preferences: Open Keyboard Shortcuts (JSON)" และนั่นจะนำไปสู่ไฟล์นี้
iamnotsam

11

ดังนั้นผมจึงวิ่งเข้าไปในนี้เช่นกัน แต่แป้นพิมพ์ลัดที่ฉันสิ้นสุดการใช้คือการ map cmd+enterที่จะเปลี่ยนชื่อและลบ renameFile enterจาก

{
  "key": "cmd+enter",
  "command": "renameFile",
  "when": "explorerViewletVisible && filesExplorerFocus"
},
{
  "key": "enter",
  "command": "-renameFile",
  "when": "explorerViewletVisible && filesExplorerFocus"
}

1
สิ่งนี้ไม่ได้ผลสำหรับฉัน การผูกแบบลบที่ยาวขึ้นเล็กน้อยจากคำตอบของ bkiddคือสิ่งที่สร้างขึ้นใน keybindings.json หลังจากเลือก "ลบ" โดยใช้ GUI-editor สิ่งนี้ใช้ได้ผลสำหรับฉันใน VSCode 1.24.1
AdamAL

9

cmd+down ไม่ได้ผลสำหรับฉันโดยใช้ VSCode 1.10.2 บน Mac 10.10.5

อย่างไรก็ตาม cmd+enterไม่ได้ผลสำหรับฉัน

หรือหากคุณต้องการตั้งค่าการผูกคีย์ของคุณเองเพื่อเปิดไฟล์จาก File Explorer ให้เพิ่มบรรทัดเหล่านี้ในkeybindings.json:

// open file from File Explorer
{ "key": "enter", "command": "list.select",
                     "when": "explorerViewletVisible && filesExplorerFocus" },

(แน่นอนคุณสามารถเปลี่ยนenterเป็นการผสมคีย์ใดก็ได้ที่คุณต้องการ)



6

ฉันพยายามลบทางลัดของ "เปลี่ยนชื่อ" ซึ่งมี Keybinding เป็น "Enter" จากนั้นจะเปิดไฟล์อย่างถูกต้องเมื่อฉันกด "Enter"


2

สำหรับฉันฉันต้องทำcommand 0แล้วทำสิ่งcommand down นี้จะนำฉันไปที่ explorer จากนั้นเปิดไฟล์ที่ฉันเลือก ใน Atom ฉันต้องกดenterเพื่อเปิดไฟล์ฉันพบว่านี่เป็นพฤติกรรมแปลก ๆ vscode v 1.21.1บนOSX


0
  • SPACE: เปิด แต่ให้ความสำคัญกับ Explorer ( filesExplorer.openFilePreserveFocusคำสั่ง)
  • CMD+Down: เปิดและโฟกัสไฟล์ที่เปิด ( explorer.openAndPassFocusคำสั่ง)

คุณสามารถเปลี่ยนได้ใน "รหัส - ค่ากำหนด - แป้นพิมพ์ลัด": แป้นพิมพ์ลัด (รหัส - ค่ากำหนด - แป้นพิมพ์ลัด)


-1

ในการตั้งค่า:

รหัส -> การตั้งค่า -> แป้นพิมพ์ลัด

เพิ่มสิ่งนี้ใน keybindings.json ของคุณ

{

    "key": "ctrl+n",
    "command": "workbench.action.files.newFile"
}

ภายในอาร์เรย์ที่อาจมีหรือไม่มีการเชื่อมโยงคีย์อื่น ๆ ที่คุณตั้งไว้ บันทึก keybindings.json

จากนั้นเมื่อคุณไปที่ไดเร็กทอรีใน file explorer คุณสามารถสร้างไฟล์ใหม่ด้วย ctrl + n


อืมเป็นไปได้ไหมที่คุณกำลังตอบคำถามอื่น คำถามนี้เกี่ยวกับการเปิดไฟล์ที่มีอยู่
Johnny Oshika

-3

ไม่แน่ใจว่าเหตุใดพฤติกรรม "enter" จึงแตกต่างกันฉันไม่แน่ใจว่า "enter" เพียงอย่างเดียวถูกตั้งค่าไว้ในการเชื่อมโยงคีย์บนระบบของคุณหรือเป็นเพียงค่าเริ่มต้นของพฤติกรรมที่แตกต่างกันตามมาตรฐาน OS ...

ข่าวดีก็คือสิ่งที่คุณกำลังมองหาคือ CTRL + P หรือ CTRL + O

CTRL + P ช่วยให้คุณค้นหาไฟล์และ CTRL + O ควรเปิดขึ้นมา (ลักษณะการทำงานที่คุณต้องการ)

นอกจากนี้คุณยังสามารถเพิ่ม "Enter" เป็นความเป็นไปได้สำหรับคำสั่ง "workbench.action.files.openFile" แต่ไม่แน่ใจว่าจะทำลายอะไรหรือไม่ถ้าคุณทำ ลองใช้งานหรือทำความคุ้นเคยกับการใช้ CTRL + O บนทั้งสองแพลตฟอร์ม!

ข้อมูลเพิ่มเติม:

https://code.visualstudio.com/Docs/customization/keybindings


2
ฉันใช้ CTRL + P ค่อนข้างครอบคลุม แต่บางครั้งฉันต้องการนำทาง file explorer (CMD + 0 หรือ CMD + SHIFT + E) จากนั้นเปิดไฟล์ทั้งหมดโดยใช้แป้นพิมพ์ น่าแปลกที่สิ่งนี้ไม่สามารถทำได้บน Mac
Johnny Oshika

2
ฉันด้วย @JohnnyOshika ฉันเป็นVIMผู้ใช้และฉันคุ้นเคยกับการมีผู้แสดงความคิดเห็นที่น่าเบื่อที่แสดงแถบด้านข้างที่มีโครงสร้างไฟล์เช่นsublimeหรือAtom. ฉันเดาว่าฉันต้องคุ้นเคยกับการใช้vscode
พิกเซล 67

ฉันอยู่ในเรือลำเดียวกับ @JohnnyOshika - ฉันมักจะใช้ CTRL + P แต่บางครั้งก็ต้องการใช้มุมมอง explorer เพื่อนำทางจากนั้นเปิดไฟล์
Sam J
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.