Hi all,
I seem to see a lot of people using VSC over ssh to see the files and folders on their servers and edit them more conveniently than compared to nano/vim but I’m looking for alternatives for VSC.
I have an increasing number of servers and hosting things with docker compose. Thus I have a lot of /app/docker folders with numerous docker-compose.yaml and other container specific config files.
I dislike VSC so as an alternative I use Notepad++ with nftp plugin (yap, I’m daily driving Windows) to connect to the servers to see and edit said files.
I also tried Jetbrain’ fleet but it seems to intall some kind of client on the servers it connects to which requires just enough resources to notably slow down my cheap VPSes.
So other than the 3 examples above, what kind of edit do you know/use to connect to servers and edit files there directly?
Usually on the remote i use lunarvim(neovim but with some default settings and plugins).
Other than that I usually have everything as a git repo, so i edit on my local/remote ide(pycharm, vscode or vscode server). I edit the files push them to the repo and then i just pull the files on my host.
I know this adds some steps to edit a simple file, but the version control etc can be a massive advantage depending on what you do.
sshfs-win is something if you don’t like vscode.
This is interesting. Thanks for mentioning.
Its just networks drives that are actually mounting a folder via SSH.
Does this work with SSH keys?
Yes.
ls
I use git to manage my compose files, manifests and config files etc.
I believe Github Actions has a docker workflow, not sure how to use it, but it might be worth looking at as a CI/CD to auto-deploy your containers once they are merged to main.
I use .gitignore for my persistent volume folders if the container will write to them.
For the most part I work directly on the server and use nano. Occasionally offload to VSC if it’s a bit more intensive.
I use VSC as my main Dev program at work though, I’m interested to know what you don’t like about it?
not the OP, but really interested on the following.
I was able to setup VSC etc for remote ssh and edit, but the problem is that when you need to sudo, then this does not translate.
VSC will use the credentials of the account you used to connect , but could not figure out how to elevate with sudo or another account when you need to.did you manage to do that?
I use Ansible+git to push changes to remote servers. And use ssh+vim sometimes too.
Nautilus on my linux laptop can mount sftp as if it were a physically attached drive. You can even right click empty space in the folder to get the option of “Open in Remote Terminal” or “Open in Local Terminal”.
iterm
I connect via winscp to browse files and it has an editor but you can have it open files using whichever program you want. I stick with VS Code.
- windows - mobaXterm
- linux - nnn file manager on the machine, with fzf plugin, and micro editor
For sure not best practice, but I have a SMB share on my servers for the Docker folder and mount it on my dev machine.
Recently switched to a dev VM on my hypervisor, which has VSCode Server from Coder running. It also has the different shares mounted. Now I can VPN in from anywhere, switch on my dev VM and do whatever needs doing with my full environment available to me.
`ssh` then `vim` but within a `screen` session, this way I maintain the state, e.g vim stays open on the configuration file or the code, and I can have multiple “windows” per project, all easy to switch to.
I reattach to the running session with `screen -raAD` and I made a shortcut so that if I type `s` in my terminal I’m in my server, ready to code.
Why not using VSCodium ? VSCode without the bullshit and extension still works !
Depends, but mostly ssh and vi, vim, or neovim depending on what was the default install.
College habits die hard, and I did 4 years of college work with vi/vim.
I usually use vim/nano directly. I don’t see the need to edit file directly very often.
Following good DevOps practice, I usually push server configuration with an ansible playbook and most application are running on Docker. The number of time I need to edit config file is very minimal.
But I would understand if ansible deployment is a bit too far for your self hosted need.