Visual Studio Code จะเปิดไฟล์หรือโฟลเดอร์ก่อนหน้าอีกครั้ง


112

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

มีวิธีใดบ้างที่จะเปลี่ยนพฤติกรรมนี้?


10
ยังไง ?? VSCode ของฉันไม่จำเซสชันก่อนหน้านี้ มันจะเปิดขึ้นพร้อมกับUntitled-1แท็บใหม่เสมอ มันทำให้ฉันบ้า
กรีน

1
@Green ปัจจุบันจะจำเฉพาะไฟล์ก่อนหน้านี้หากคุณเปิดโฟลเดอร์ / พื้นที่ทำงาน ดังนั้นเพียงแค่เปิดโฟลเดอร์สุ่มใด ๆ (ฉันเลือกโฟลเดอร์เดสก์ท็อปของฉัน) และตอนนี้มันจะจำไฟล์ใด ๆ ระหว่างเซสชันแม้ว่าจะไม่ได้มาจากโฟลเดอร์นั้นก็ตาม
Cardin

3
+1 อ้วนใหญ่จากฉันเพราะคำถามนี้เปิดเผยจริง ๆ แล้วว่ารหัส VS สามารถกู้คืนเซสชั่นก่อนหน้านี้ได้ XD นอกจากนี้ในแง่ของสิ่งที่ @Cardin ระบุว่ามีการเปลี่ยนแปลง ฉันมีรหัส VS ล่าสุดที่ทำงานบน Win10 และการตั้งค่าจะ"window.reopenFolders" : "all"เปิดทุกไฟล์ไม่ว่าจะอยู่ในไดเรกทอรีที่ใช้งานอยู่ในปัจจุบันหรือไม่ก็ตาม น่าเศร้าที่ดูเหมือนว่ารหัส VS ยังไม่รองรับการมีไดเรกทอรีที่ใช้งานอยู่หลายรายการเนื่องจาก "active directory = workspace" ทั้งหมดนั้น
rbaleksandar

@rbaleksandar นั่นยังคงเป็นลบ VS Code ไม่เปิดไฟล์ที่ไม่สกปรกที่มีอยู่ในเวอร์ชัน 1.11.2 อีกครั้งแม้จะมี"window.reopenFolders" : "all"ไฟล์. ในการทดสอบ 1) ไปที่File>Close Folder2) ลากและวางไฟล์สุ่มลงใน VS Code 3) ไปที่File>Exit4) เปิด VS Code ใหม่ 5) สังเกตว่าคุณได้รับตัวแก้ไข VS Code เปล่าอีกครั้ง ในการกู้คืนเซสชันคุณต้องเปิดไดเรกทอรีที่ใช้งานอยู่ เซสชันใด ๆ โดยไม่คำนึงถึงตำแหน่งไฟล์จะถูกจดจำตราบเท่าที่คุณมีไดเร็กทอรีที่ใช้งานอยู่ Btw คุณสามารถติดตั้งProject Managerส่วนขยายเพื่อข้ามไปมาระหว่างไดเรกทอรีที่ใช้งานอยู่หลายรายการ
Cardin

1
โปรดทราบว่าคุณอาจสูญเสียการทำงานกับคุณลักษณะนี้อย่างน้อยในเวอร์ชัน 1.19.3
gman

คำตอบ:


147

คุณยังสามารถเข้าไปที่การตั้งค่าของคุณและใช้สิ่งต่อไปนี้:

"window.reopenFolders": "ไม่มี"

ซึ่งจะไม่เปิดโฟลเดอร์ที่คุณใช้งานอยู่อีกครั้งเมื่อคุณปิดโปรแกรมแก้ไข ตัวเลือกอื่น ๆone(ค่าเริ่มต้น) allและ

แก้ไข 2017-11-09:

ขณะนี้ตัวเลือกมีการเปลี่ยนแปลงในเวอร์ชันล่าสุด

"window.restoreWindows": "none"

ดูคำตอบ Mathieu Domer ของ

แก้ไข 2018-09-12:

การตั้งค่าอื่นที่เกี่ยวข้องกับการตั้งค่านี้คือการhotExitตั้งค่า นี้ได้รับการกล่าวถึงในนี้คำตอบของคำถามที่เกี่ยวข้อง เพื่อป้องกันการเปิดขึ้นมาใหม่และจดจำไฟล์ที่ไม่ได้บันทึกคุณสามารถตั้งค่านี้เป็น:

"files.hotExit": "off"

แต่จากการทดสอบที่ฉันทำเมื่อwindow.restoreWindowsตั้งค่าnoneเป็นไม่จำเป็นต้องใช้ ฉันยังไม่ได้ทดสอบชุดค่าผสมที่เป็นไปได้ทั้งหมดดังนั้น YMMV

และในการตอบคำถามในความคิดเห็นหากต้องการแก้ไขการตั้งค่าคุณต้องเปิดไฟล์การตั้งค่า สามารถดูเอกสารบางส่วนได้ที่นี่ (อย่างน้อยก็ในวันที่ฉันเขียนสิ่งนี้)


1
ฉันกำลังเปลี่ยนคำตอบที่ยอมรับเป็นคำตอบนี้เนื่องจากฉันรู้สึกว่าวิธีการตั้งค่านั้นดีกว่าสวิตช์บรรทัดคำสั่งซึ่งมีผลกับทางลัดเดียวเท่านั้น
Matt Peterson

2
โฟลเดอร์? ฉันไม่ใช้โฟลเดอร์ แค่ไฟล์ล่ะ?
กรีน

2
ฉันไม่มีwindow.reopenFoldersเป็นตัวเลือกการตั้งค่า ฉันมีแทนwindow.restoreWindows
Acidic9

2
สิ่งที่อาจรบกวนบางคน: VS Code จะยังคงคืนค่าพื้นที่ทำงานหากมีแท็บที่มีไฟล์ที่ไม่ได้บันทึก
Wells

1
"คุณลักษณะ" เริ่มต้นที่แย่ที่สุดที่ฉันเคยเห็น ฉันเสียเวลาในการทำงานอย่างมีประสิทธิผลไปมากโดยสงสัยว่าเกิดอะไรขึ้นและเหตุใดไฟล์ข้อความของฉันจึงไม่ได้รับการอัปเดต
philologon

26

ด้วยการอัปเดตล่าสุดดูเหมือนว่าพารามิเตอร์มีการเปลี่ยนแปลงตอนนี้ใช้:

"window.restoreWindows": "none"

17

คุณสามารถเพิ่ม-nตัวเลือกในการเริ่มต้น VS Code และจะเริ่มต้นด้วยหน้าต่างว่างเสมอโดยจะไม่คืนค่าเซสชันก่อนหน้าของคุณ


2
ตัวเลือกนั้นแน่นอนอยู่ที่นั่น ( code --helpแสดง-n, --new-window Force to open a new window.) แต่ยังคงเปิดหน้าต่างก่อนหน้าทั้งหมดอีกครั้ง ฉันคิดว่าการทำสิ่งที่มีความหมายก็ต่อเมื่อโปรแกรมทำงานอยู่แล้วเท่านั้น
ÁlvaroGonzález

สตาร์ทอัพอยู่ที่ไหน ฉันไม่พบตำแหน่งที่จะเพิ่ม -n มันคือไฟล์? ฉันสามารถเข้าถึงผ่านการตั้งค่าได้หรือไม่?
snowleopard

สิ่งนี้ใช้ได้กับฉันใน MacO เท่านั้น: "code -n ~ / myFolder / myCodeFolder"
เดนิส

14

ใน VS รหัสพิมพ์Ctrl+ ,(หรือเลือกไฟล์ / การตั้งค่า / การตั้งค่า ) เพื่อเปิดหน้าการตั้งค่าแล้วพิมพ์restoreWindowsในการค้นหาการตั้งค่าเข้ากับตัวกรองสำหรับการตั้งค่านี้ ตั้งค่าเป็นnoneและรีสตาร์ทเบราว์เซอร์

คืนค่า Windows



1

ด้านล่างทำงานให้ฉัน

คลิกขวาที่ทางลัดและเพิ่ม --disable-gpu ไปยัง Target ตามภาพหน้าจอ

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


0

หาก"window.restoreWindows": "none"ไม่สามารถแก้ปัญหาได้ให้
ลองรันโค้ดเป็น root -> sudo code --user-data-dircode files และรีสตาร์ทโค้ดตามปกติโดยไม่ต้องรูท


0

สำหรับฉันข้างต้นไม่มีอะไรทำงานได้ในขณะที่ฉันพยายามปิดไฟล์ที่ไม่ได้บันทึก "สกปรก" ซึ่งฉันแก้ไขโดยไม่ได้ตั้งใจ 1,000 ไฟล์และต้องการที่จะเพิกเฉยต่อการบันทึกไฟล์ทั้งหมด

การแก้ไขของฉันคือการเพิ่มบรรทัดนี้ใน settings.json:

    "files.hotExit": "off"

เปิด vscode ปิด vscode แล้วคลิกปุ่มยืนยันเพื่อปิดไฟล์ทั้งหมดโดยไม่บันทึก

จากนั้นเปิด vscode และ boom กลับมา .. ไม่มีการแสดงไฟล์ที่ไม่ได้บันทึกอีกต่อไป


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