Disable local changes toolbar in PhpStorm - phpstorm

How to disable the local changes toolbar in PhpStorm?
It shows up when working with remote files.

Unfortunately, there is no known way to disable it.
Technically, this toolbar reminds you that you are editing remote file and it is not automatically saved apart from local files.
You may want to configure deployment with automatic upload. In this way, you will always edit your files locally and these will be auto-uploaded on save action (by timeout or changing editor focus).
More about deployment:
https://www.jetbrains.com/help/phpstorm/creating-a-remote-server-configuration.html

Related

PhpStorm - Autodownload certain folders

I've set up PhpStorm to auto-deploy changed files to the vagrant box.
However, I run the build scripts in the box, and I can't count the times I shipped some module without copying back (downloading) those compressed JavaScript files, out of vagrant, into my local working directory.
Is there a way to make PhpStorm monitor the deployment server, and download changed files?
Is there a way to make PhpStorm monitor the deployment server, and download changed files?
There is no auto-download.
The IDE is build around "local code first" idea where local is the source and any remote is just a copy.
If you need to download remote stuff I suggest to manually use Sync With Deployed action from Deployment menu: it allows to manually sync files and folders both ways: https://www.jetbrains.com/help/phpstorm/deploying-applications.html
https://youtrack.jetbrains.com/issue/WI-1284 I guess (as it's about syncing remote to local)... Watch this ticket (star/vote/comment) to get notified on any progress.

Console command for opening files inside already opened project in PhpStorm

I've faced the problem. I use PhpStorm to edit files from FTP server using WinSCP client. In WinSCP client I've set command for using external editor. So, when I try to open php-file from remote FTP server WinSCP downloads this file in temporary file and open it using command provided by me - "C:\Program Files\JetBrains\PhpStorm 2020.1.1\bin\phpstorm64.exe" "!.!"
Earlier, when I used PhpStorm 2019 or 2018, it opened file in already opened window/project. But when I've upgraded to PhpStorm 2020, it started to open file from FTP in separate windows. It's so annoying and some functionality doesn't work in such case (auto suggestions and others).
I know that I can use built-in remote files browser within PhpStorm to view and edit remote files, but I accustomed to use separate FTP client for such purposes.
Does somebody know how to fix this problem? What console command should I use so as to open separate file in already opened window/project?
It's a LightEdit mode: https://blog.jetbrains.com/idea/2020/04/lightedit-mode/
Since 2020.2 you can use the -p (--project) option instead to force opening files in already opened project windows. For example idea -p myfile.txt. IDEA-237118
You can also permanently disable that mode by following these steps:
Invoke Help | Find Action... (or via Search Anywhere: use Double Shift and switch to Actions tab)
Search for Registry... action and select it
Once in the Registry dialog locate light.edit.file.open.enabled entry (just start typing, speed search will narrow it down) and set it to false (uncheck the box).
Not sure if IDE restart is needed (probably not).

PhpStorm does not sync with the server

Here's the problem :
My project on phpStorm use a remote access to the server by FTP.
When I save a modified file, the file is uploaded normally to the serv, but when I create a folder on the serv, i don't see it in phpStorm.
Any idea?
PhpStorm is built around "local project files are the main ones -- deployed are secondary" idea. It's natural to have "automatically upload to remote host" (sync local with remote) functionality to follow such an idea.
At the same time the IDE does not have anything to "automatically sync remote with local" (the reverse: to automatically copy remote stuff back to local). Simply because it contradicts such an idea: local files are the main ones.
Therefore:
The "Synchronize" button that you are referring to does not do what you are expecting it to do. It syncs what the IDE knows about project files on a local file system. In other words: it checks if there were any changes to local files done outside of the IDE. It does not do anything with remote files.
NOTE: In modern 202x.x versions it has been renamed to "Reload All from Disk" to avoid such a confusion).
To manually sync with remote files (any direction) you have these main options:
Use Remote Host side panel (can be accessed via Tools | Deployment | Browse Remote Host if it’s closed/hidden) and download any files or folders manually (drag and drop can also be used, just make sure that you are copying files because by default IDE tries to "move" (copy+delete) instead of just "copy"). It has a "Refresh" button to refresh the remote location.
Use two-way synchronisation (with preview) accessible via right click on desired folder(s)/files and choosing Deployment | Synch with Deployed... where you can sync those files/folders both ways (by default newer stuff will override older regardless of the direction).
The IDE can automatically sync one way (from local to remote): just ensure that automatic deployment is enabled and you have one server (or a group) marked as Default for this project.
Settings (Preferences on macOS) | Build, Execution, Deployment | Deployment | Options | Upload changed files automatically to the default server is the option. Check other options there to better suit your needs.
Please refer to the official help pages for more info on deployment (including a simple video tutorial): https://www.jetbrains.com/help/phpstorm/deploying-applications.html
And the funny thing about it, it is not completly correct. The option underneath is missing.. 'skip external changes' should not be ticked.
In Mac -> PHPStorm -> preferences -> Build, Execution, Deployment -> options
Set the Upload as seen in the picture to always and make sure skip external changes is unticked.
It works for me in PhpStorm 2020.1

Live Reload not working (WIN7)

I have the windows application installed, Live Reload extension for chrome and i'm using Sublime Text with Live Refresh and Live Reload plugins. For some reason any HTML doc i edit on sublime text is not auto updating on chrome. The extension is stuck on "Live Reload is connecting" when i enable it. What exactly am i missing, do i need to setup a local web server or something like that?
I think your issue may be that you did not add the folder that contains your HTML document to the LiveReload windows application so that it can monitor for changes to the file.
If you open up the LiveReload app, it should have a list of site folders. Try adding your test project's folder to the list.
If you load from local file it does work you must runt the local file through a web server e.g python -m http.server in the folder your .html exists otherwise the option match to local file never appears and then you can have the save and reload functionality.
I mention it because I hadn't found the problem through reading the post

Saving in SFTP like its a normal folder

So I was using sublime-text 2 to modify some php files held on a remote server. I used nautilus sftp://... address to server to open up the folder then clicked on the files and pressed open with sublime text. Whenever I did this it automatically saved the changes on the server. For various annoying reasons I had to restore the machine to factory settings. Now whenever I try to open up the files in the way I use to be able to it just opens a blank file titled sftp in my /user/dev directory. Is there anything I need to do to get it back to the way it used to be?
Not sure anyone else has ever experienced this behavior but I never replicated the nautilus effect that I had originally. The best alternative I found was sublime sftp.
Installed by sublime package control:
https://sublime.wbond.net/installation
Then install sublime sftp:
http://wbond.net/sublime_packages/sftp
I was a student coding in php for a class so I was only using it temporarily and never paid for the license. Probably should do that if you are gonna be using it long term.