ssh-to-code 1.0.0__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssh-to-code
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: Terminal-based SSH directory browser with VS Code integration
5
5
  Author-email: Rajesh <rajesh-cs18@users.noreply.github.com>
6
6
  License-Expression: MIT
@@ -33,7 +33,7 @@ Dynamic: license-file
33
33
 
34
34
  # SSH Directory Browser
35
35
 
36
- A terminal-based directory browser that lets you SSH into a remote server, navigate through directories interactively, and open selected directories directly in VS Code using the Remote-SSH extension.
36
+ A terminal-based directory browser that lets you SSH into a remote server, navigate through directories interactively, and open selected directories or `.code-workspace` files directly in VS Code using the Remote-SSH extension.
37
37
 
38
38
  ![Terminal UI](https://img.shields.io/badge/Terminal-Based-blue)
39
39
  ![Python](https://img.shields.io/badge/Python-3.7+-green)
@@ -46,6 +46,7 @@ A terminal-based directory browser that lets you SSH into a remote server, navig
46
46
  - 🔐 **Secure SSH Connection** - Support for key-based and password authentication
47
47
  - 📂 **Visual File Browser** - Clear indicators for directories, files, executables, and symlinks
48
48
  - 💻 **VS Code Integration** - Open any remote directory directly in VS Code with one keystroke
49
+ - 🧩 **Workspace File Support** - Open remote `.code-workspace` files directly in VS Code
49
50
  - ⚙️ **Configuration Management** - Save frequently used SSH hosts for quick access
50
51
  - 🎨 **Keyboard Navigation** - Fast and efficient navigation using arrow keys
51
52
 
@@ -57,14 +58,42 @@ A terminal-based directory browser that lets you SSH into a remote server, navig
57
58
 
58
59
  ## Installation
59
60
 
60
- ### 1. Clone the repository
61
+ ### 1. Install from PyPI (recommended)
62
+
63
+ ```bash
64
+ pip install ssh-to-code
65
+ ```
66
+
67
+ ### 2. Linux/Ubuntu (recommended): install with pipx
68
+
69
+ Ubuntu and other modern Debian-based systems may block global `pip` installs with PEP 668 (`externally-managed-environment`).
70
+ For CLI tools like `ssh-to-code`, `pipx` is the safest option:
71
+
72
+ ```bash
73
+ sudo apt update
74
+ sudo apt install -y pipx
75
+ pipx ensurepath
76
+
77
+ # Restart terminal, then:
78
+ pipx install ssh-to-code
79
+ ssh-browse --help
80
+ ```
81
+
82
+ ### 3. Verify CLI installation
83
+
84
+ ```bash
85
+ ssh-browse --help
86
+ ```
87
+
88
+ ### 4. (Optional) Install from source for development
61
89
 
62
90
  ```bash
63
91
  git clone <repository-url>
64
92
  cd ssh-to-code
93
+ pip install -e .
65
94
  ```
66
95
 
67
- ### 2. Install Python dependencies
96
+ ### 5. (Source install only) Install dependencies manually
68
97
 
69
98
  ```bash
70
99
  pip install paramiko
@@ -76,13 +105,13 @@ Or use the provided requirements file:
76
105
  pip install -r requirements.txt
77
106
  ```
78
107
 
79
- ### 3. Make the script executable
108
+ ### 6. (Source install only) Make the script executable
80
109
 
81
110
  ```bash
82
111
  chmod +x ssh_dir_browser.py
83
112
  ```
84
113
 
85
- ### 4. (Optional) Add to PATH
114
+ ### 7. (Optional, source install only) Add to PATH
86
115
 
87
116
  For easy access from anywhere:
88
117
 
@@ -101,42 +130,41 @@ sudo ln -s /path/to/ssh-to-code/ssh_dir_browser.py /usr/local/bin/ssh-browse
101
130
  Connect to a remote server and start browsing:
102
131
 
103
132
  ```bash
104
- # Option 1: Use the wrapper script (automatically activates venv)
105
- ./ssh-browse user@hostname
133
+ # Installed from PyPI or pip install -e .
134
+ ssh-browse user@hostname
106
135
 
107
- # Option 2: Activate venv manually
108
- source venv/bin/activate
136
+ # If running directly from source without install:
109
137
  python ssh_dir_browser.py user@hostname
110
138
  ```
111
139
 
112
140
  ### With Custom Port
113
141
 
114
142
  ```bash
115
- ./ssh-browse user@hostname -p 2222
143
+ ssh-browse user@hostname -p 2222
116
144
  ```
117
145
 
118
146
  ### With SSH Key
119
147
 
120
148
  ```bash
121
- ./ssh-browse user@hostname -i ~/.ssh/my_key
149
+ ssh-browse user@hostname -i ~/.ssh/my_key
122
150
  ```
123
151
 
124
152
  ### Start in Specific Directory
125
153
 
126
154
  ```bash
127
- ./ssh-browse user@hostname --start-path /var/www
155
+ ssh-browse user@hostname --start-path /var/www
128
156
  ```
129
157
 
130
158
  ### Password Authentication
131
159
 
132
160
  ```bash
133
- ./ssh-browse user@hostname --password
161
+ ssh-browse user@hostname --password
134
162
  ```
135
163
 
136
164
  ### AWS EC2 Example
137
165
 
138
166
  ```bash
139
- ./ssh-browse ubuntu@ec2-12-34-56-78.compute.amazonaws.com -i ~/Downloads/aws-key.pem
167
+ ssh-browse ubuntu@ec2-12-34-56-78.compute.amazonaws.com -i ~/Downloads/aws-key.pem
140
168
  ```
141
169
 
142
170
  ## Usage
@@ -147,7 +175,7 @@ python ssh_dir_browser.py user@hostname
147
175
  |-----|--------|
148
176
  | `↑` / `↓` | Navigate up/down |
149
177
  | `Enter` | Open directory |
150
- | `o` | Open current directory in VS Code |
178
+ | `o` | Open current directory, or selected `.code-workspace` file, in VS Code |
151
179
  | `n` | Create new folder |
152
180
  | `h` | Go to home directory |
153
181
  | `r` | Refresh directory listing |
@@ -160,14 +188,15 @@ python ssh_dir_browser.py user@hostname
160
188
  3. Select `..` to go to parent directory
161
189
  4. Press `n` to create a new folder in the current directory
162
190
  5. Press `r` to refresh the directory contents
163
- 6. Press `o` when you want to open the current directory in VS Code
191
+ 6. Press `o` to open the current directory in VS Code
192
+ 7. Select a `.code-workspace` file and press `o` to open that workspace in VS Code
164
193
 
165
194
  ### VS Code Integration
166
195
 
167
196
  When you press `o`, the application will:
168
197
  1. Open VS Code
169
198
  2. Connect to the remote server via Remote-SSH
170
- 3. Open the selected directory
199
+ 3. Open the current directory, or the selected `.code-workspace` file
171
200
  4. Exit the browser
172
201
 
173
202
  Make sure you have:
@@ -311,7 +340,17 @@ Install it from VS Code:
311
340
  Install the required dependency:
312
341
 
313
342
  ```bash
314
- pip install paramiko
343
+ pip install ssh-to-code
344
+ ```
345
+
346
+ ### Externally Managed Environment (Ubuntu/Debian)
347
+
348
+ If you see `externally-managed-environment`, use `pipx` instead of system `pip`:
349
+
350
+ ```bash
351
+ sudo apt install -y pipx
352
+ pipx ensurepath
353
+ pipx install ssh-to-code
315
354
  ```
316
355
 
317
356
  ## Advanced Features
@@ -1,6 +1,6 @@
1
1
  # SSH Directory Browser
2
2
 
3
- A terminal-based directory browser that lets you SSH into a remote server, navigate through directories interactively, and open selected directories directly in VS Code using the Remote-SSH extension.
3
+ A terminal-based directory browser that lets you SSH into a remote server, navigate through directories interactively, and open selected directories or `.code-workspace` files directly in VS Code using the Remote-SSH extension.
4
4
 
5
5
  ![Terminal UI](https://img.shields.io/badge/Terminal-Based-blue)
6
6
  ![Python](https://img.shields.io/badge/Python-3.7+-green)
@@ -13,6 +13,7 @@ A terminal-based directory browser that lets you SSH into a remote server, navig
13
13
  - 🔐 **Secure SSH Connection** - Support for key-based and password authentication
14
14
  - 📂 **Visual File Browser** - Clear indicators for directories, files, executables, and symlinks
15
15
  - 💻 **VS Code Integration** - Open any remote directory directly in VS Code with one keystroke
16
+ - 🧩 **Workspace File Support** - Open remote `.code-workspace` files directly in VS Code
16
17
  - ⚙️ **Configuration Management** - Save frequently used SSH hosts for quick access
17
18
  - 🎨 **Keyboard Navigation** - Fast and efficient navigation using arrow keys
18
19
 
@@ -24,14 +25,42 @@ A terminal-based directory browser that lets you SSH into a remote server, navig
24
25
 
25
26
  ## Installation
26
27
 
27
- ### 1. Clone the repository
28
+ ### 1. Install from PyPI (recommended)
29
+
30
+ ```bash
31
+ pip install ssh-to-code
32
+ ```
33
+
34
+ ### 2. Linux/Ubuntu (recommended): install with pipx
35
+
36
+ Ubuntu and other modern Debian-based systems may block global `pip` installs with PEP 668 (`externally-managed-environment`).
37
+ For CLI tools like `ssh-to-code`, `pipx` is the safest option:
38
+
39
+ ```bash
40
+ sudo apt update
41
+ sudo apt install -y pipx
42
+ pipx ensurepath
43
+
44
+ # Restart terminal, then:
45
+ pipx install ssh-to-code
46
+ ssh-browse --help
47
+ ```
48
+
49
+ ### 3. Verify CLI installation
50
+
51
+ ```bash
52
+ ssh-browse --help
53
+ ```
54
+
55
+ ### 4. (Optional) Install from source for development
28
56
 
29
57
  ```bash
30
58
  git clone <repository-url>
31
59
  cd ssh-to-code
60
+ pip install -e .
32
61
  ```
33
62
 
34
- ### 2. Install Python dependencies
63
+ ### 5. (Source install only) Install dependencies manually
35
64
 
36
65
  ```bash
37
66
  pip install paramiko
@@ -43,13 +72,13 @@ Or use the provided requirements file:
43
72
  pip install -r requirements.txt
44
73
  ```
45
74
 
46
- ### 3. Make the script executable
75
+ ### 6. (Source install only) Make the script executable
47
76
 
48
77
  ```bash
49
78
  chmod +x ssh_dir_browser.py
50
79
  ```
51
80
 
52
- ### 4. (Optional) Add to PATH
81
+ ### 7. (Optional, source install only) Add to PATH
53
82
 
54
83
  For easy access from anywhere:
55
84
 
@@ -68,42 +97,41 @@ sudo ln -s /path/to/ssh-to-code/ssh_dir_browser.py /usr/local/bin/ssh-browse
68
97
  Connect to a remote server and start browsing:
69
98
 
70
99
  ```bash
71
- # Option 1: Use the wrapper script (automatically activates venv)
72
- ./ssh-browse user@hostname
100
+ # Installed from PyPI or pip install -e .
101
+ ssh-browse user@hostname
73
102
 
74
- # Option 2: Activate venv manually
75
- source venv/bin/activate
103
+ # If running directly from source without install:
76
104
  python ssh_dir_browser.py user@hostname
77
105
  ```
78
106
 
79
107
  ### With Custom Port
80
108
 
81
109
  ```bash
82
- ./ssh-browse user@hostname -p 2222
110
+ ssh-browse user@hostname -p 2222
83
111
  ```
84
112
 
85
113
  ### With SSH Key
86
114
 
87
115
  ```bash
88
- ./ssh-browse user@hostname -i ~/.ssh/my_key
116
+ ssh-browse user@hostname -i ~/.ssh/my_key
89
117
  ```
90
118
 
91
119
  ### Start in Specific Directory
92
120
 
93
121
  ```bash
94
- ./ssh-browse user@hostname --start-path /var/www
122
+ ssh-browse user@hostname --start-path /var/www
95
123
  ```
96
124
 
97
125
  ### Password Authentication
98
126
 
99
127
  ```bash
100
- ./ssh-browse user@hostname --password
128
+ ssh-browse user@hostname --password
101
129
  ```
102
130
 
103
131
  ### AWS EC2 Example
104
132
 
105
133
  ```bash
106
- ./ssh-browse ubuntu@ec2-12-34-56-78.compute.amazonaws.com -i ~/Downloads/aws-key.pem
134
+ ssh-browse ubuntu@ec2-12-34-56-78.compute.amazonaws.com -i ~/Downloads/aws-key.pem
107
135
  ```
108
136
 
109
137
  ## Usage
@@ -114,7 +142,7 @@ python ssh_dir_browser.py user@hostname
114
142
  |-----|--------|
115
143
  | `↑` / `↓` | Navigate up/down |
116
144
  | `Enter` | Open directory |
117
- | `o` | Open current directory in VS Code |
145
+ | `o` | Open current directory, or selected `.code-workspace` file, in VS Code |
118
146
  | `n` | Create new folder |
119
147
  | `h` | Go to home directory |
120
148
  | `r` | Refresh directory listing |
@@ -127,14 +155,15 @@ python ssh_dir_browser.py user@hostname
127
155
  3. Select `..` to go to parent directory
128
156
  4. Press `n` to create a new folder in the current directory
129
157
  5. Press `r` to refresh the directory contents
130
- 6. Press `o` when you want to open the current directory in VS Code
158
+ 6. Press `o` to open the current directory in VS Code
159
+ 7. Select a `.code-workspace` file and press `o` to open that workspace in VS Code
131
160
 
132
161
  ### VS Code Integration
133
162
 
134
163
  When you press `o`, the application will:
135
164
  1. Open VS Code
136
165
  2. Connect to the remote server via Remote-SSH
137
- 3. Open the selected directory
166
+ 3. Open the current directory, or the selected `.code-workspace` file
138
167
  4. Exit the browser
139
168
 
140
169
  Make sure you have:
@@ -278,7 +307,17 @@ Install it from VS Code:
278
307
  Install the required dependency:
279
308
 
280
309
  ```bash
281
- pip install paramiko
310
+ pip install ssh-to-code
311
+ ```
312
+
313
+ ### Externally Managed Environment (Ubuntu/Debian)
314
+
315
+ If you see `externally-managed-environment`, use `pipx` instead of system `pip`:
316
+
317
+ ```bash
318
+ sudo apt install -y pipx
319
+ pipx ensurepath
320
+ pipx install ssh-to-code
282
321
  ```
283
322
 
284
323
  ## Advanced Features
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ssh-to-code"
7
- version = "1.0.0"
7
+ version = "1.0.2"
8
8
  description = "Terminal-based SSH directory browser with VS Code integration"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.7"
@@ -122,20 +122,30 @@ class DirectoryBrowser:
122
122
  host = self.ssh_handler.hostname
123
123
  user = self.ssh_handler.username
124
124
  port = self.ssh_handler.port
125
-
126
- # VS Code Remote-SSH URI format
127
- # vscode://vscode-remote/ssh-remote+user@host:port/path
128
- remote_uri = f"vscode://vscode-remote/ssh-remote+{user}@{host}"
125
+
126
+ # By default open the current directory. If a .code-workspace file is
127
+ # selected, open that workspace file instead.
128
+ target_path = self.current_path
129
+ target_label = "directory"
130
+ if self.items and 0 <= self.selected_index < len(self.items):
131
+ selected_name, selected_type = self.items[self.selected_index]
132
+ if selected_type == "file" and selected_name.endswith('.code-workspace'):
133
+ target_path = os.path.join(self.current_path, selected_name)
134
+ target_label = "workspace"
135
+
136
+ ssh_target = f"{user}@{host}"
129
137
  if port != 22:
130
- remote_uri += f":{port}"
131
- remote_uri += self.current_path
132
-
138
+ ssh_target += f":{port}"
139
+
133
140
  # Open VS Code
134
- subprocess.Popen(['code', '--remote', f'ssh-remote+{user}@{host}', self.current_path],
141
+ subprocess.Popen(['code', '--remote', f'ssh-remote+{ssh_target}', target_path],
135
142
  stdout=subprocess.DEVNULL,
136
143
  stderr=subprocess.DEVNULL)
137
-
138
- return True, f"Opening {self.current_path} in VS Code..."
144
+
145
+ if target_label == "workspace":
146
+ return True, f"Opening workspace {target_path} in VS Code..."
147
+
148
+ return True, f"Opening {target_path} in VS Code..."
139
149
  except Exception as e:
140
150
  return False, f"Error opening VS Code: {str(e)}"
141
151
 
@@ -153,7 +163,7 @@ class DirectoryBrowser:
153
163
  stdscr.addstr(1, 0, path_line[:width-1], curses.A_BOLD)
154
164
 
155
165
  # Help line
156
- help_text = "↑/↓: Navigate | Enter: Open | 'o': VS Code | 'n': New Folder | 'r': Refresh | 'q': Quit"
166
+ help_text = "↑/↓: Navigate | Enter: Open | 'o': VS Code (dir/.code-workspace) | 'n': New Folder | 'r': Refresh | 'q': Quit"
157
167
  stdscr.addstr(2, 0, help_text[:width-1], curses.A_DIM)
158
168
 
159
169
  # Separator
@@ -183,6 +193,9 @@ class DirectoryBrowser:
183
193
  elif item_type == "link":
184
194
  display = f"🔗 {name}@"
185
195
  attr = curses.A_DIM
196
+ elif name.endswith('.code-workspace'):
197
+ display = f"🧩 {name}"
198
+ attr = curses.A_NORMAL
186
199
  else:
187
200
  display = f"📄 {name}"
188
201
  attr = curses.A_NORMAL
@@ -246,7 +259,10 @@ class DirectoryBrowser:
246
259
  self.navigate_to(name)
247
260
  self.status_message = ""
248
261
  else:
249
- self.status_message = f"'{name}' is not a directory"
262
+ if name.endswith('.code-workspace'):
263
+ self.status_message = f"Select 'o' to open workspace: {name}"
264
+ else:
265
+ self.status_message = f"'{name}' is not a directory"
250
266
  elif key == ord('o') or key == ord('O'):
251
267
  # Open in VS Code
252
268
  success, message = self.open_in_vscode()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssh-to-code
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: Terminal-based SSH directory browser with VS Code integration
5
5
  Author-email: Rajesh <rajesh-cs18@users.noreply.github.com>
6
6
  License-Expression: MIT
@@ -33,7 +33,7 @@ Dynamic: license-file
33
33
 
34
34
  # SSH Directory Browser
35
35
 
36
- A terminal-based directory browser that lets you SSH into a remote server, navigate through directories interactively, and open selected directories directly in VS Code using the Remote-SSH extension.
36
+ A terminal-based directory browser that lets you SSH into a remote server, navigate through directories interactively, and open selected directories or `.code-workspace` files directly in VS Code using the Remote-SSH extension.
37
37
 
38
38
  ![Terminal UI](https://img.shields.io/badge/Terminal-Based-blue)
39
39
  ![Python](https://img.shields.io/badge/Python-3.7+-green)
@@ -46,6 +46,7 @@ A terminal-based directory browser that lets you SSH into a remote server, navig
46
46
  - 🔐 **Secure SSH Connection** - Support for key-based and password authentication
47
47
  - 📂 **Visual File Browser** - Clear indicators for directories, files, executables, and symlinks
48
48
  - 💻 **VS Code Integration** - Open any remote directory directly in VS Code with one keystroke
49
+ - 🧩 **Workspace File Support** - Open remote `.code-workspace` files directly in VS Code
49
50
  - ⚙️ **Configuration Management** - Save frequently used SSH hosts for quick access
50
51
  - 🎨 **Keyboard Navigation** - Fast and efficient navigation using arrow keys
51
52
 
@@ -57,14 +58,42 @@ A terminal-based directory browser that lets you SSH into a remote server, navig
57
58
 
58
59
  ## Installation
59
60
 
60
- ### 1. Clone the repository
61
+ ### 1. Install from PyPI (recommended)
62
+
63
+ ```bash
64
+ pip install ssh-to-code
65
+ ```
66
+
67
+ ### 2. Linux/Ubuntu (recommended): install with pipx
68
+
69
+ Ubuntu and other modern Debian-based systems may block global `pip` installs with PEP 668 (`externally-managed-environment`).
70
+ For CLI tools like `ssh-to-code`, `pipx` is the safest option:
71
+
72
+ ```bash
73
+ sudo apt update
74
+ sudo apt install -y pipx
75
+ pipx ensurepath
76
+
77
+ # Restart terminal, then:
78
+ pipx install ssh-to-code
79
+ ssh-browse --help
80
+ ```
81
+
82
+ ### 3. Verify CLI installation
83
+
84
+ ```bash
85
+ ssh-browse --help
86
+ ```
87
+
88
+ ### 4. (Optional) Install from source for development
61
89
 
62
90
  ```bash
63
91
  git clone <repository-url>
64
92
  cd ssh-to-code
93
+ pip install -e .
65
94
  ```
66
95
 
67
- ### 2. Install Python dependencies
96
+ ### 5. (Source install only) Install dependencies manually
68
97
 
69
98
  ```bash
70
99
  pip install paramiko
@@ -76,13 +105,13 @@ Or use the provided requirements file:
76
105
  pip install -r requirements.txt
77
106
  ```
78
107
 
79
- ### 3. Make the script executable
108
+ ### 6. (Source install only) Make the script executable
80
109
 
81
110
  ```bash
82
111
  chmod +x ssh_dir_browser.py
83
112
  ```
84
113
 
85
- ### 4. (Optional) Add to PATH
114
+ ### 7. (Optional, source install only) Add to PATH
86
115
 
87
116
  For easy access from anywhere:
88
117
 
@@ -101,42 +130,41 @@ sudo ln -s /path/to/ssh-to-code/ssh_dir_browser.py /usr/local/bin/ssh-browse
101
130
  Connect to a remote server and start browsing:
102
131
 
103
132
  ```bash
104
- # Option 1: Use the wrapper script (automatically activates venv)
105
- ./ssh-browse user@hostname
133
+ # Installed from PyPI or pip install -e .
134
+ ssh-browse user@hostname
106
135
 
107
- # Option 2: Activate venv manually
108
- source venv/bin/activate
136
+ # If running directly from source without install:
109
137
  python ssh_dir_browser.py user@hostname
110
138
  ```
111
139
 
112
140
  ### With Custom Port
113
141
 
114
142
  ```bash
115
- ./ssh-browse user@hostname -p 2222
143
+ ssh-browse user@hostname -p 2222
116
144
  ```
117
145
 
118
146
  ### With SSH Key
119
147
 
120
148
  ```bash
121
- ./ssh-browse user@hostname -i ~/.ssh/my_key
149
+ ssh-browse user@hostname -i ~/.ssh/my_key
122
150
  ```
123
151
 
124
152
  ### Start in Specific Directory
125
153
 
126
154
  ```bash
127
- ./ssh-browse user@hostname --start-path /var/www
155
+ ssh-browse user@hostname --start-path /var/www
128
156
  ```
129
157
 
130
158
  ### Password Authentication
131
159
 
132
160
  ```bash
133
- ./ssh-browse user@hostname --password
161
+ ssh-browse user@hostname --password
134
162
  ```
135
163
 
136
164
  ### AWS EC2 Example
137
165
 
138
166
  ```bash
139
- ./ssh-browse ubuntu@ec2-12-34-56-78.compute.amazonaws.com -i ~/Downloads/aws-key.pem
167
+ ssh-browse ubuntu@ec2-12-34-56-78.compute.amazonaws.com -i ~/Downloads/aws-key.pem
140
168
  ```
141
169
 
142
170
  ## Usage
@@ -147,7 +175,7 @@ python ssh_dir_browser.py user@hostname
147
175
  |-----|--------|
148
176
  | `↑` / `↓` | Navigate up/down |
149
177
  | `Enter` | Open directory |
150
- | `o` | Open current directory in VS Code |
178
+ | `o` | Open current directory, or selected `.code-workspace` file, in VS Code |
151
179
  | `n` | Create new folder |
152
180
  | `h` | Go to home directory |
153
181
  | `r` | Refresh directory listing |
@@ -160,14 +188,15 @@ python ssh_dir_browser.py user@hostname
160
188
  3. Select `..` to go to parent directory
161
189
  4. Press `n` to create a new folder in the current directory
162
190
  5. Press `r` to refresh the directory contents
163
- 6. Press `o` when you want to open the current directory in VS Code
191
+ 6. Press `o` to open the current directory in VS Code
192
+ 7. Select a `.code-workspace` file and press `o` to open that workspace in VS Code
164
193
 
165
194
  ### VS Code Integration
166
195
 
167
196
  When you press `o`, the application will:
168
197
  1. Open VS Code
169
198
  2. Connect to the remote server via Remote-SSH
170
- 3. Open the selected directory
199
+ 3. Open the current directory, or the selected `.code-workspace` file
171
200
  4. Exit the browser
172
201
 
173
202
  Make sure you have:
@@ -311,7 +340,17 @@ Install it from VS Code:
311
340
  Install the required dependency:
312
341
 
313
342
  ```bash
314
- pip install paramiko
343
+ pip install ssh-to-code
344
+ ```
345
+
346
+ ### Externally Managed Environment (Ubuntu/Debian)
347
+
348
+ If you see `externally-managed-environment`, use `pipx` instead of system `pip`:
349
+
350
+ ```bash
351
+ sudo apt install -y pipx
352
+ pipx ensurepath
353
+ pipx install ssh-to-code
315
354
  ```
316
355
 
317
356
  ## Advanced Features
File without changes
File without changes
File without changes
File without changes