I'm writing a VSCode extension and need to copy some files to a remote machine (this is not a remote development scenario, but rather I've cross compiled and need to copy binaries and supporting files to the device).
My initial plan was to use SSH and SCP the files to the remote target. However, I see that the VSCode FS API allows working with local and remote filesystems. Is this possible and how would I use this API to copy the files I need?
Related
VSCode just introduced a new local history feature built into the application. However I cannot find where the older version of files I worked on are stored on my computer when local history is turned on.
Does anyone know where the local history of older file versions are stored on Windows and Linux computers?
From https://github.com/microsoft/vscode/issues/26339#issuecomment-1070884696
That depends on how VSCode is run:
local desktop client with local workspace: local file system
local desktop client with remote file system backed workspace: remote file system
web client with remote file system backed workspace: remote file system
web client with non-file-system-backed workspace (e.g. vscode.dev): IndexedDB in the browser
When stored in the file system, there is a folder called History in
the folder User that is stored at the user-data-dir, which depends
on the OS you are on. That is the same location where e.g. also
backups go or UI state.
Following those directions, on Windows 11 local file system I found it at
C:\Users\Mark\AppData\Roaming\Code\User\History
for Stable and
C:\Users\Mark\AppData\Roaming\Code - Insiders\User\History
for Insiders.
I can't answer it for Linux. But see https://stackoverflow.com/a/70453798/836330 for more on user-data-dir and Linux. It says it is in ~/.config/Code on Linux but I can't personally verify that.
Linux
/home/USER/.config/VSCodium/User/History/
Windows
C:\Users\USER\AppData\Roaming\VSCodium\User\History
I am using VSCodium, so I imagine you will replace VSCodium with Visual Studio Code in the path.
I have a machine without internet access on which I'd like to install a list of VSCode extensions.
Is there an automated way of downloading the extensions while online, so I can copy the files to the offline machine and install them there? Ideally I'd like to be able to re-run the process to download updates.
I'm aware it's possible to manually download each extension, but given the number of extensions and their frequency of updates, I'd ideally like a repeatable process.
Would something like running a script in Portable Mode help?
Thanks!
If you can have vscode installed in the machine which has internet access you can use it to download the extensions and copy it to the other machine.
Let's say machine A has internet connection and machine B has no internet access.
Download the portable version of vscode i.e. .zip version from https://code.visualstudio.com/Download
After unzipping the VS Code download in machine A, create a data folder within VS Code's folder.
The data folder can be moved to other VS Code installations.
Copy the complete vscode directory to the machine B from machine A, this way you will have a portable version of vscode there.
Now whenever you need to update the extensions in the machine B, you can update the extension in machine A and copy the data folder or more precisely copy the extensions folder in the machine B.
FYR. I just copied entensions from below folder to the private network machine and they worked:
C:\Users\{xxx}\.vscode\extensions
I'm working remotely and I need to access files on a server that's only accessible through ssh from another machine.
For example if my files are on server2, I need to ssh me#server1 then once I'm on that machine, ssh me#server2
Is there a way to set up remote systems in eclipse (I'm using Zend Studio) to get access to my files?
Thanks.
The short answer is No, however you you do have some options...
Eclipse is only aware of files in an Eclipse workspace (with some exceptions), thus you need to make your files available to your Eclipse instance. To do so, you could download the remote files and make them available locally or make te files accessible via a network share.
All in all, you need to make those files available on a file system visible to the local Eclipse instance. Once that is done, you can add/import the file into your Eclipse workspace.
Is it possible to set up a remote NetBeans C++ project where the source files are only accessible via SSH?
My project needs to build on a Linux box, but I'd like to develop it on a Windows machine.
Checking out the code via SVN to my Windows machine is not an option since there are a few files that differ only by case, and NTFS is not case sensitive (unfortunately, I can not change them).
I'm well aware that Windows can be kind-of forced be case-aware and the ideal solution is to just re-name those file to something sane.
However, I'm just trying to solve this using NetBeans. Since it's a remote project anyway, why bother to keep any files locally.
Thanks
Currently, no. In general programming files with different cases of the same name is a bad practice.
You can enable case sensitivity in Windows - you may need to have a Professional version or better.
For Windows XP: http://support.microsoft.com/kb/817921
For Windows 7: http://technet.microsoft.com/en-us/library/cc732389.aspx
See also: Windows Services for Unix
Another solution would be to setup VNC/RDP on the remote Unix system. The overall solution should be to conform to a better file naming convention:
Programmer 1: "Hey man, take a look at noCamelCase.cs - I just rewrote it."
Programmer 2: "Um, nocamelcase.cs is blank."
There are two ways of doing remote builds with Netbeans. The first, the project is stored locally. You just create a regular project and on the 2nd page of the wizard you specify the network directory with the source and the remote build host. I've used this for Solaris client to Linux server, but not from Windows as we don't have the mounts exported by SMB. This uses ssh and some shared lib interposers to get the build info.
The second way is to create a remote project. In this case the project is created on the remote host and date is copied on demand to the client. I've only doe a few tests with this as I preferred the first method as it had much better latency.
Lastly, you could either use vnc or install X on your windows machine and do everything on the Linux machine.
I need the package having below features:
needs client based secure file transfer machanism for getting files from multiple directories at the remote machine.
Must have features to do ls at remote machine.
Must have functions to know the file permissions at remote machine.
It have to use single connection for all file transfers.
That package have to use less number of resources and it have to do transfer at fast.
zipping the files at the remote machine.
Is this homework? And, have you tried searching CPAN? There are several modules that do what you need, such as Net::SCP and IO::Compress::Gunzip.
You can get most of this done with Net::SFTP. How well the remote server complies with the compression part is mainly a function of that machine. If it supports it, you can probably issue a site command to do it.