Điểm:3

WSL2 - Lệnh shell của VSCode `code` không còn hoạt động trong thiết bị đầu cuối Linux

lá cờ ng

Tôi còn rất mới với Linux và WSL nói chung. tôi đã có thể sử dụng mã số . để mở thư mục hiện tại của tôi trong VSCode, nhưng sau khi xóa thứ gì đó mà tôi không nhớ thì nó không hoạt động nữa. Tôi đặt lệnh và nó chỉ treo ở đó.

Tôi đã xóa phiên bản Ubuntu-20.04 của mình và tạo lại nó, nhưng nó vẫn không hoạt động. Cũng đã kiểm tra $PATH của tôi và nó dường như ở đó.

Ngoài ra, các thêm lệnh shell trong VSCode không xuất hiện, vì vậy tôi không thể gỡ cài đặt và cài đặt lại phím tắt trình bao.

Bất cứ ai có bất cứ ý tưởng?

drawbie@drewbie:/$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib :/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows /System32/OpenSSH/:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/dotnet/:/ mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32 /OpenSSH/:/mnt/c/Tệp chương trình (x86)/QuickTime/QTSystem/:/mnt/c/Tệp chương trình/Git/cmd:/mnt/c/Tệp chương trình/Go/bin:/mnt/c/Chương trình Tệp/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Andrew/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Andrew/AppData /Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/heroku/bin:/mnt/c/Users/Andrew/AppData/Local/GitHubDesktop/bin:/mnt/c/Users/Andrew/go /bin:/snap/bin

Sau khi nhập mã. nó chỉ ngồi đó

ở đâu và cái nào

drawbie@drewbie:~$ mã whereis
mã: /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code.cmd
drawbie@drewbie:~$ mã nào
/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code

Sau khi làm những gì @NotTheDr01ds đã nói trong chủ đề bên dưới

drawbie@drewbie:~$ vi "$(mã nào)"
drawbie@drewbie:~$ code .
+ [ = đúng ]
+ CAM KẾT=899d46d82c4c95423fb7e10e68eba52050e30ba3
+ APP_NAME=mã
+ CHẤT LƯỢNG=ổn định
+ TÊN=Mã
+ DATAFOLDER=.vscode
+ đường dẫn thực /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code
+ dirname /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code
+ dirname /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin
+ VSCODE_PATH=/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code
+ ELECTRON=/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/Code.exe
+ IN_WSL=sai
+ [ -n Ubuntu-20.04 ]
+ IN_WSL=true
+ [ đúng = đúng ]
+ xuất WSLENV=ELECTRON_RUN_AS_NODE/w:WT_SESSION::WT_PROFILE_ID
+ wslpath -m /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
+ CLI=C:/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
+ WSL_EXT_ID=ms-vscode-remote.remote-wsl
+ ELECTRON_RUN_AS_NODE=1 /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/Code.exe C:/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli .js --ms-enable-electron-run-as-node --locate-extension ms-vscode-remote.remote-wsl
NotTheDr01ds avatar
lá cờ vn
Bạn có thể gỡ cài đặt và cài đặt lại phần mở rộng *Remote - WSL* trong VSCode không? Tệ nhất, còn việc gỡ cài đặt và cài đặt lại VSCode thì sao? Tôi thường không dùng đến "cài đặt lại" làm câu trả lời đầu tiên, nhưng với (a) bạn không chắc mình đã xóa những gì và (b) cài đặt lại khá nhanh và không gây đau đớn, tôi nghĩ nó đáng để thử đầu tiên.
drewkiimon avatar
lá cờ ng
@NotTheDr01ds Tôi đã gỡ cài đặt và cài đặt lại tiện ích mở rộng `Remote - WSL` nhưng vẫn không khắc phục được. Tôi hơi do dự khi gỡ cài đặt VSCode. Như một mưa đá cuối cùng, có thể. Nhưng chưa hết.
NotTheDr01ds avatar
lá cờ vn
Đủ công bằng. `code` thực sự là một tập lệnh shell, vì vậy bạn có thể thử gỡ lỗi nó để có khả năng xem nó đang treo ở đâu. `vi $( which code)` và thêm `set -x` làm dòng đầu tiên sau shebang. Sau đó thử chạy và thêm đầu ra cho câu hỏi. Tôi có thể so sánh nó với của tôi, ít nhất.
drewkiimon avatar
lá cờ ng
Tôi đã cố gắng làm những gì bạn đã làm, không có kết quả. :( Tôi đã có thể tìm ra mã nó đang sử dụng và nó ở đâu. Không chắc liệu tôi có cần phải làm một số liên kết tượng trưng không? Đôi khi tôi thấy mã đó bị ném lung tung.
NotTheDr01ds avatar
lá cờ vn
Ah, xin lỗi, có thể là do khoảng trắng trong đường dẫn. Đó là tật xấu của tôi - tôi nên biết trích dẫn những điều như thế. Hãy dùng thử với dấu ngoặc kép - `vi "$(mã nào)"`?
drewkiimon avatar
lá cờ ng
@NotTheDr01ds Tôi đã làm được rồi! Đăng nó trong câu hỏi của tôi ở trên. Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn cho đến nay!
Điểm:3
lá cờ jp

Tôi nghĩ rằng sự cố này xảy ra với tôi do bản cập nhật VSCode tự động xảy ra.

Để giải quyết nó:

  1. mở VSCode trong Windows

  2. mở Remote Explorer

    thám hiểm từ xa

  3. nhấp vào một thư mục trong mục tiêu WSL quan tâm: bạn sẽ thấy rằng điều này gây ra một số cài đặt lại

  4. bây giờ bạn có thể quay lại sử dụng mã $ . lệnh từ một thư mục trong WSL2, giống như bạn đã từng

drewkiimon avatar
lá cờ ng
Đặng. Tôi sẽ kiểm tra điều này, nhưng tôi quyết định chỉ khởi động kép Linux thay vì trên một ổ đĩa riêng. Nếu bất cứ ai có thể xác nhận điều này, tôi sẽ biến nó thành câu trả lời!
mickmackusa avatar
lá cờ ve
@Ando mặc dù đã là thành viên hơn 7 năm nhưng bạn vẫn chưa tham gia [tour]; vui lòng làm.
Điểm:2
lá cờ ng

Cuối cùng tôi đã làm cho nó hoạt động. Tôi tin rằng đó là điều sau đây đã sửa nó.

  1. Chuyển đến Terminal của bạn và xóa cài đặt.json tập tin. Bạn muốn lưu một bản sao lưu trước. Tệp đã nói được mở từ thiết bị đầu cuối

  2. bạn đang đi đến ctrl-a, xóa hết rồi LƯU TỆP.

  3. Bước rất quan trọng. Khi bạn quay lại Terminal, hãy nhấp vào LƯU ở góc dưới cùng bên phải. Lưu nút bấm vào nó!

  4. Bây giờ, điều này không thú vị, nhưng chúng tôi sẽ hủy đăng ký Ubuntu-20.04 từ hộp quyền lực.

    Ghi chú: Đây là một phá hoại và tất cả dữ liệu bên trong hệ thống tệp của phiên bản WSL sẽ bị mất. Một lần nữa, trước bước này, bạn có thể muốn sao lưu trước với wsl --export Ubuntu-20.04 <backup-filename.tar> để được an toàn. Khi bạn đã sẵn sàng, từ powershell, hãy viết wsl --unregister Ubuntu-20.04 hoặc bất kể Distro của bạn là gì.

  5. Khởi động lại máy tính của bạn!!!

  6. Khi máy tính của bạn bật lại, bạn sẽ cài đặt lại bản phân phối của mình và đặt nó làm mặc định. wsl --install -d <Tên phân phối>

  7. Đi qua các thiết lập, sau đó tất cả những gì tôi đã làm là mã số . và nhận được sự tương tác bên dưới. Nó bây giờ làm việc cho tôi.

drawbie@drewbie:~$ cd ~
drawbie@drewbie:~$ ls
drawbie@drewbie:~$ ls -la
tổng số 24
drwxr-xr-x 3 drawbie drawbie 4096 ngày 12 tháng 1 18:12 .
drwxr-xr-x 3 root root 4096 Ngày 12 tháng 1 18:12 ..
-rw-r--r-- 1 drawbie drawbie 220 ngày 12 tháng 1 18:12 .bash_logout
-rw-r--r-- 1 Drawbie Drawbie 3771 Ngày 12 tháng 1 18:12 .bashrc
drwxr-xr-x 2 drawbie drawbie 4096 Ngày 12 tháng 1 18:12 .landscape
-rw-r--r-- 1 drawbie drawbie 0 ngày 12 tháng 1 18:12 .motd_shown
-rw-r--r-- 1 Drawbie Drawbie 807 Ngày 12 tháng 1 18:12 .profile
drawbie@drewbie:~$ code .
Cài đặt VS Code Server cho x64 (899d46d82c4c95423fb7e10e68eba52050e30ba3)
Đang tải xuống: 100%
Giải nén: 100%
Đã giải nén 1722 tệp và thư mục vào /home/drewbie/.vscode-server/bin/899d46d82c4c95423fb7e10e68eba52050e30ba3.
NotTheDr01ds avatar
lá cờ vn
Tuyệt vời - Thật vui khi biết bạn đã làm cho nó hoạt động! Dù sao cũng hơi quyết liệt, với việc xóa WSL/Ubuntu và xóa cài đặt Windows Terminal, nhưng rất vui vì bạn đã khắc phục được sự cố. Tôi sẽ thực hiện một chỉnh sửa nhỏ cho câu trả lời của bạn vì mục đích "an toàn", nhưng không có vấn đề gì.
drewkiimon avatar
lá cờ ng
@NotTheDr01ds cảm ơn bạn đã sửa đổi! Đúng là họ sẽ mất tất cả trong trường hợp của họ :(

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.