Visual Studio Code luôn mở lại tệp hoặc thư mục trước đó


102

VSCode dường như luôn ghi nhớ phiên của tôi và mở lại các tệp và / hoặc dự án đã được mở vào lần cuối tôi sử dụng nó. Rõ ràng là nó hoạt động chính xác khi chạy nó từ dòng lệnh với một tệp hoặc thư mục được cung cấp, nhưng khi mở từ lối tắt trên thanh tác vụ, tôi muốn nó để mặc định ở một môi trường trống.

Có cách nào để thay đổi hành vi này không?


9
Làm sao?? VSCode của tôi không bao giờ nhớ các phiên trước đó. Nó luôn mở ra với một Untitled-1tab hoàn toàn mới . Nó khiến tôi phát điên lên
Green

1
@Green Hiện tại nó chỉ ghi nhớ các tệp trước đó nếu bạn đã mở một thư mục / không gian làm việc. Vì vậy, chỉ cần mở bất kỳ thư mục ngẫu nhiên nào (tôi đã chọn thư mục trên máy tính của mình) và bây giờ nó ghi nhớ bất kỳ tệp nào giữa các phiên, ngay cả những tệp không thuộc thư mục đó.
Cardin

3
Một +1 lớn từ tôi vì câu hỏi này thực sự tiết lộ rằng mã VS CÓ THỂ KHÔI PHỤC phiên trước. XD Cũng về những gì @Cardin nói rằng mọi thứ đã thay đổi. Tôi có mã VS mới nhất đang chạy trên Win10 và cài đặt "window.reopenFolders" : "all"mở mọi tệp đơn lẻ bất kể tệp đó có nằm trong thư mục hiện đang hoạt động hay không. Đáng buồn thay, có vẻ như mã VS vẫn không hỗ trợ có nhiều thư mục hoạt động vì tất cả "thư mục hoạt động = không gian làm việc".
rbaleksandar

@rbaleksandar Đó vẫn là một tiêu cực. VS Code không mở lại các tệp không bẩn hiện có kể từ phiên bản 1.11.2, ngay cả với "window.reopenFolders" : "all". Để kiểm tra, 1) truy cập File>Close Folder, 2) kéo và thả bất kỳ tệp ngẫu nhiên nào vào VS Code, 3) truy cập File>Exit, 4) Khởi chạy lại VS Code, 5) Lưu ý rằng bạn lại nhận được một trình soạn thảo VS Code trống. Để khôi phục phiên, bạn cần mở một thư mục hoạt động. Bất kỳ phiên nào, bất kể vị trí tệp, sẽ được ghi nhớ miễn là bạn có một thư mục hoạt động. Btw, bạn có thể cài đặt Project Managertiện ích mở rộng để nhảy giữa nhiều thư mục đang hoạt động.
Cardin

1
Hãy lưu ý, bạn có thể mất công với tính năng này , ít nhất là trong v1.19.3.
gman

Câu trả lời:


142

Bạn cũng có thể đi vào cài đặt của mình và sử dụng những thứ sau:

"window.reopenFolders": "không có"

sẽ không mở lại các thư mục bạn đang làm việc khi bạn đóng trình chỉnh sửa. Các tùy chọn khác là one(mặc định) và all.

Chỉnh sửa 2017-11-09:

Tùy chọn hiện đã được thay đổi trong các phiên bản mới nhất.

"window.restoreWindows": "none"

Xem câu trả lời của Mathieu DOMER .

Chỉnh sửa 2018-09-12:

Một cài đặt khác liên quan đến điều này là hotExitcài đặt. Điều này đã được thảo luận trong câu trả lời này cho một câu hỏi liên quan. Để ngăn việc mở lại và ghi nhớ các tệp chưa được lưu, bạn có thể đặt điều này thành:

"files.hotExit": "off"

Nhưng từ thử nghiệm tôi đã thực hiện, khi window.restoreWindowscài đặt được đặt thành none, điều này không cần thiết. Tôi đã không thử nghiệm mọi kết hợp có thể, vì vậy YMMV.

Và để trả lời một câu hỏi trong nhận xét, để chỉnh sửa cài đặt, bạn phải mở tệp cài đặt. Một số tài liệu có thể được tìm thấy ở đây (ít nhất là vào ngày tôi viết bài này).


1
Tôi đang thay đổi câu trả lời được chấp nhận cho câu trả lời này, vì tôi cảm thấy như cách tiếp cận cài đặt tốt hơn cách chuyển đổi dòng lệnh, chỉ ảnh hưởng đến một phím tắt.
Matt Peterson

2
Thư mục? Tôi không sử dụng thư mục. Làm thế nào về chỉ các tệp?
Màu xanh lá cây

2
Tôi không có window.reopenFolderstùy chọn cài đặt. Thay vào đó tôi cówindow.restoreWindows
Acidic9

2
Một điều có thể làm phiền một số người: VS Code vẫn sẽ khôi phục không gian làm việc nếu nó chứa một tab có tệp chưa được lưu.
Wells

1
"Tính năng" mặc định tệ nhất mà tôi từng thấy. Tôi đã mất rất nhiều thời gian làm việc hiệu quả để tự hỏi điều gì đang xảy ra và tại sao tệp văn bản của tôi không được cập nhật.
philologon

22

Với bản cập nhật mới nhất, có vẻ như thông số đã thay đổi, bây giờ hãy sử dụng:

"window.restoreWindows": "none"

17

Bạn có thể thêm -ntùy chọn vào phần khởi động của VS Code và nó sẽ luôn bắt đầu với một cửa sổ trống, không khôi phục phiên trước của bạn.


2
Tùy chọn chắc chắn ở đó ( code --helphiển thị -n, --new-window Force to open a new window.) nhưng nó vẫn mở lại tất cả các cửa sổ trước đó. Tôi nghĩ rằng nó chỉ có nghĩa là để làm một cái gì đó có ý nghĩa khi chương trình đã chạy.
Álvaro González

khởi động ở đâu? Tôi không thể tìm thấy nơi để thêm -n. Nó là một tập tin? Tôi có thể truy cập nó qua Cài đặt không?
snowleopard

Chỉ điều này hoạt động với tôi trên MacOs: "code -n ~ / myFolder / myCodeFolder"
Denis

13

Trong VS Mã, gõ Ctrl+ ,(hoặc chọn File / Preferences / Cài đặt ) để mở trang cài đặt, sau đó gõ restoreWindowsvào Cài đặt tìm kiếm đầu vào để lọc cho thiết lập này. Đặt nó thành nonevà khởi động lại trình duyệt.

restoreWindows


1

01 tháng 12, 2018

Điều này làm việc cho tôi. I E"C:\Users\Sampath\AppData\Local\Programs\Microsoft VS Code\Code.exe" -n

nhập mô tả hình ảnh ở đây


1

Dưới đây làm việc cho tôi

Nhấp chuột phải vào Phím tắt và thêm --disable-gpu vào Mục tiêu theo ảnh chụp màn hình.

nhập mô tả hình ảnh ở đây


0

Nếu "window.restoreWindows": "none"không giải quyết được sự cố,
hãy thử chạy mã dưới dạng sudo code --user-data-dirtệp gốc -> tệp mã và khởi động lại mã bình thường mà không cần root.


0

Đối với tôi, không có cái nào ở trên đang hoạt động trong khi tôi đang cố đóng các tệp chưa lưu "bẩn" mà tôi đã vô tình chỉnh sửa 1000 tệp và muốn bỏ qua việc lưu tất cả chúng.

Cách khắc phục của tôi là thêm dòng này vào settings.json:

    "files.hotExit": "off"

Mở vscode, đóng vscode và chỉ cần nhấp vào nút xác nhận để đóng tất cả các tệp mà không cần lưu.

Sau đó mở lại vscode và boom .. không còn tệp chưa lưu nào được hiển thị.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.