Remote development questions... Follow
I really like the PhpStorm IDE but I have a few questions about remote development.
I usually use an editor with built in FTP and just do live edits. I see that PhpStorm has a remote file viewer, but I was wondering if I can just edit those files directly?
I tried mapping a drive to the FTP location and creating a project but the IDE puts some files there that I do not want (.idea, etc) as the code is under version control.
I hope this makes sense. I guess my question(s) is this: What is the best way to go about remote development?
Please sign in to leave a comment.
No, you can't use IDE w/out making a local copy first. There is a principal *technical* restriction. Same goes for all kinds of mapped remote folders. This is strictly unsupported. Please use "File|Create project from remote..." wizard to quickly setup remote project.
Thanks so much! Just downloaded the update and all is working well.
> No, you can't use IDE w/out making a local copy first.
Damn... That’s really bad...
> There is a principal *technical* restriction.
So. WHY is that so??
> This is strictly unsupported.
> Please use "File|Create project from remote..."
That won't work. I have about 50 different FTP servers with php projects which I want to edit live on the ftp server. I cannot download all of the files from each server, simply because my local harddisk is not big enough to hold all the data! Also I would have to sync every project again prior to edit only one tiny thing in one file. That takes too long.
So do I realy have to install an FTP-to-FileExplorer-Drive Tool just to work with phpstorm? That’s ridiculous...
I really hope there is a solution for this!
"All kinds of mapped remote folders" that are "strictly unsupported" surely encompass any FTP-to-FileExplorer-Drive tools.
"Unsupported" here means that it MAY work but you WILL encounter various problems, including freeses and performance hiccups and we'll not accept related bug reports and alike on such a set up.
I repeat: "you can't use IDE w/out making a local copy first."
Its completely possible that current version of product is not suitable for your requirements, you have your trial period to carefully verify it.
You didn’t answer my question :-)
Komodo Edit/IDE also has this stupid limitation, so right now I have no choice but to try to install Zend 5.5 on Win7 (which is also not supported).
WHY? It makes absolutely no sense.
Is it just me? How am I supposed to work with my ftp servers? I often only have to check something or edit one line of code. I would always have to re-sync the whole project; with gigabytes of image/swf/video/logs etc. that changed since the last sync and that I don't need on my harddisk, just because in the meantime someone else could have changed something on the server.
There is no technical reason to prevent live editing. And I see lots of people asking for this. So why is it "strictly unsupported"??
"FTP-to-FileExplorer-Drive tools" would map a normal, local drive to the windows explorer, so it would be supported, bypassing the stupid "no live ftp editing" rule anyway.
All required technical information may be obtained from "IntelliJ IDEA community edidtion" open source project sources, that is basis for our IDEs including PhpStorm.
You may contribute your time to making all these restrictions go away.
Ah, the standard "it’s open source, do it yourself" answer ;-) But coming from a commercial company: that’s new.
But that’s not my or your point. You say: "There is a principal *technical* restriction." and "This is strictly unsupported."
There is more to it then "we just didn't had time to implement it" I think. Otherwise Komodo would have it.
I sense some sort of idealism to this. Someone just doesn’t want it to happen, maybe because you shouldn't live edit on ftp servers??
I am left behind with no solution, and with me at least a dozen other who need to have live development :-(
On Kubuntu you can use Konqueror as an FTP client then Kate as a text editor to make changes like you are wanting. (without storing a local copy.)
I think in reality it still downloads a copy saves it to the /temp/ folder and re-uploads it once your finished, but feels like live FTP editing.
Its not an IDE and I don't know the equivelant for Windows, but it shows there are options.
Do you understand that for autocompletion, error checks, quick jumps to parent class, includes etc. IDE MUST have all project files. When you open file from ftp - IDE can't build indicies for files on the FTP, it must have them on local disk for that. If you don't understand this simple thing then you don't need IDE at all, use any ftp client and any notepad-like editor.
Dmitriy, that is just plain wrong.
Just look at the old Zend Studio 5.5: You ONLY do live editing on ftp servers, and it can still autocomplete your functions and do quick jumps. The only requirement is, that you opened your class/functions file once, so the IDE has it in its cache.
This is exactly the way I want to work. And it does not need to download the WHOLE ftp server at first!
I still can't believe that nobody cares about that...
@michael: There are tools for Windows which simulate ftp access through a normal windows local drive. I think I have to use one of these: http://www.netdrive.net
Let me give my two cents as the current responsible person of deployment features.
Currently IDE relies on project concept, so it needs all the project files to be local to provide instant code checking and completion. Eventually we need to improve this by allowing to edit individual files (please see my last comment at http://devnet.jetbrains.net/message/5271223 and watch/vote http://youtrack.jetbrains.net/issue/WI-1398).
Unfortunately, the only current workaround is to use Create Project from Existing Files welcome screen/main menu action, choose parent directory for your remote file and ensure 'Upload changed files automatically' option is enabled.
We clearly understand your reasons and realize the importance of the issue (see votes).
Before phpStorm i use phpEd (Nusphere). It was one of the best features of phpEd, that you could have a project opened and open a file from any FTP-Server. The codecompletion ... from the project also worked in the opened file. This was great.
I understand, that phpStorm doesn't work this way and i can accept it.
Suggestion for a workaround:
wouldn't it be possible to add the option in the remoteserver-view "Edit from server"? You could simply copy the file into the project and automatically update when it is saved.
This way, you dont need to download / sync the whole livesite. Just create an empty (or with basic files) project and configure the server settings. everything else could be done in the remote-server view. If you want to, you could also add your framework as directory to the "empty" project to have all the tools available.
This would help me very much, too. We are offering support for Joomla / Virtuemart. So we have to work on a lot of servers only a short time and mostly, we only need up to 5 files from a 2000+ files webserver.
Thank you! That is exactly what I too would like to have as a workaround.
Me too. I wonder what all the other people wo work like this do? Download all 2000 files every time they have to edit one line of code?
I really want to switch to a better IDE and would love to work with phpStrom. But not being able to live edit single files locally or on ftp servers, that is a huge dealbreaker for me :-(
Interesting Links! So, I am not alone. Good to know :-)
However, the request from Arvids is 6 Month old... :-/
so just make a project with those 5 files in it.
In the case of something like Drupal where everything your ever going to edit is under the /sites/ folder, If you just want that folder and not all of the core installation you dont have to go get everything. You can just get the /sites/ folder.
whenever i start to edit a site that exists on the server i use this setup pattern.
1.) open FILE->OPEN DIRECTORY
2.) select a location where you want the project to go. (I put all mine in /PhpStorm_projects)
3.) create a new directory for the site /PhpStorm_projects/example_site.com
4.) click OK, then select the example_site.com folder and click ok
you now have a blank project open with nothing in it.
5.) go to TOOLS->DEPLOYMENT->CONFIGURATION
6.) click the + sign to add a new server. On the CONNECTION tab add all the connection details. and click the ... button to select the web root directory.
7.) on the MAPPINGS tab click the 'Use this server as default' and set the deployment path to '/' and web path to '/'
8.) click OK to close the DEPLOYMENT dialog.
9.) (optional) click on TOOLS->DEPLOYMENT->OPTIONS and turn off 'preserve files timestamps' (as it always throws an error for me on shared hosting) and turn ON 'Upload changed files automatically to the default server.'
10.) open the REMOTE HOST box (on the right hand side of the IDE (the quick key for me is alt+2 but i might have assigned that, cant remember.))
11.) select the host that you have just created from the dropdown list and you should see a standard FTP view of all files on your server.
12.) right click on the file or folder that you want to download and click the 'Download from here.'
You now have just the files your interested in in your local project folder. open them in the editor and move the mouse off the editor and they will be automatically uploaded back to the server. (if you did step #9)
thanks for the tips. This is exactly how i'm working today. It is just a bit quicker to combine the steps 11 and 12 (+13: navigate to the downloaded file and open it) into one context-menu-item "Edit from server". It would also be helpful if you only work on such server from time to time and you want to make sure that you always use the most recent file version.
As i wrote - i can accept the way it is now... but it would make life a bit easier.
BTW: is there an option to check automatically if the file in the project and the online version are the same? When i now open a file i haven't edited for some time i manually check with "Compare local file with deployed version".
ah ha! THE question.
This is the feature I am most waiting for. The feature request is here:
add your vote to the others there to give it weight. It was scheduled for the 2.0 release, but is now due for the 2.0.x release.
-- edit --
for step #13 you could also use "edit local file" from the remote host view to save opening the project panel and looking for the file you just downloaded.
Yes, to my deep regret we didn't make it to appear in 2.0 release :(
Currently not while editing, but if you enable 'Warn when uploading over newer file' option, on upload IDE will check that remote file have not been changed since its last sync and show you merge dialog otherwise.
Indeed, it needs some delicate changes to platform... hope we'll be working on it soon :)