Remote IDE?

xuanbao · · 41 次点击    
<p>Hello,</p> <p>I&#39;m just beginning to work with Go this week and haven&#39;t been able to find a remote IDE yet. Does anyone use these with Go or have another good solution? Basically all of my work has to be done on a remote server that has access to hardware in our company lab. So working on a local copy then pushing it to the server isn&#39;t an option. I tried installing vim-go, (maybe I need to look into it more/tweak the settings?) but I&#39;d really prefer something where I can begin typing and see what operations are possible, what they do, being able to click things and go to their deceleration, etc. Also visual debugging would be nice. I tried GoLand and liked it for local work, but it doesn&#39;t seem to have any remote support. </p> <hr/>**评论:**<br/><br/>dlsniper: <pre><p>There is a Remote Hosts plugin which allows you to work locally and automatically synchronize your work to a server (via a number of connectivity options from FTP to SFTP). Go to Settings | Plugins | Install JetBrains plugin... | search for Remote Hosts Access.</p> <p>You can see the documentation here: <a href="https://www.jetbrains.com/help/go/remote-host-tool-window.html" rel="nofollow">https://www.jetbrains.com/help/go/remote-host-tool-window.html</a></p> <p>Hope this helps.</p></pre>BaconBytes42: <pre><p>ssh + vi?</p></pre>scottjbarr: <pre><p>I&#39;m a fan of emacs, but the same concept applies. My editor works the same everywhere, local or remote.</p></pre>BaconBytes42: <pre><p>Emacs is nice. I still use it when I need to gdb something.</p></pre>scottjbarr: <pre><p>It&#39;s still my daily editor. It fits :)</p></pre>hell_0n_wheel: <pre><p>This. Leaning on your IDE to solve ALL your problems (including remote connectivity), you&#39;re going to run out of options very quickly. Solve your remote problem separate from your IDE problem, this is the way forward...</p></pre>ChristophBerger: <pre><p>Maybe <a href="https://code.visualstudio.com/" rel="nofollow">Visual Studio Code</a> plus the <a href="https://marketplace.visualstudio.com/items?itemName=rafaelmaiolla.remote-vscode" rel="nofollow">Remote VSCode extension</a> might meet your needs. You need to have an ssh connection to the server, and you need to be able (i.e., have the permission) to run a tool (rmate) on the server.</p> <p>Disclaimer: I have not yet tried this myself yet.</p> <p>VSCode does not come with a strictly <em>visual</em> debugger, but at least you can start Delve from within the UI, and see various info (locals, watchlist, call stack of each goroutine) while stepping through the code.</p> <p>(Edit: typo)</p> <p>Edited to add: Looks like rmate is only capable of serving one specific file at a time (specified when starting rmate). If someone knows a better option, I am all ears.</p></pre>kardianos: <pre><p>Look into <a href="https://github.com/b3log/wide" rel="nofollow">https://github.com/b3log/wide</a></p></pre>shadowh511: <pre><p><code>emacs --daemon</code> and ssh?</p></pre>Nikon_NLG: <pre><p>Also, you can use tramp ( <a href="https://www.emacswiki.org/emacs/TrampMode" rel="nofollow">https://www.emacswiki.org/emacs/TrampMode</a> ) for remote edit</p></pre>carsncode: <pre><p>Can you provide any details on what the setup is? Based on the mention of vim-go I&#39;m guessing this is Linux? Does it have X and/or VNC installed? My first choice would probably be to use a generic remoting solution to gain access to whatever IDE works best (personally I use VS Code in Linux with great success, but if you have generic remote desktop access you could use anything).</p></pre>gpdriver17: <pre><p>Sorry, should have mentioned that! The remote servers are running Linux, it has VNC installed, but they run really slow, so I&#39;d prefer not to go that route.</p></pre>Franke123: <pre><p><a href="http://vim.wikia.com/wiki/Editing_remote_files_via_scp_in_vim" rel="nofollow">http://vim.wikia.com/wiki/Editing_remote_files_via_scp_in_vim</a></p></pre>deranjer: <pre><p>You could go full bore and install a web ide like codiad, eclipse chi, or something else and use it from a web browser (depends on your control of access to the firewall etc). I think there might be one or 2 new web ides being developed for golang specifically.</p></pre>colek42: <pre><p>I have been looking for this for a long time, long story short. I have not been able to find anything that comes close to a native experience (i.e. code completion, debugging). I ended up just pimping out vim and running it all over ssh. After about 3 weeks my productivity is as good or better then using vs code. A big bonus is that I can ditch my bulky machine and just use a chromebook when I am coding away from my desk.</p></pre>SpokenSpruce: <pre><p>Sshfs? It mounts a directory on the remote server in your file system over ssh. It&#39;s not good over long distances or slow lines, though, and if it&#39;s a git repo it could get painfully slow if there&#39;s git features in the IDE.</p></pre>GentooMonk: <pre><p><a href="https://www.nomachine.com" rel="nofollow">https://www.nomachine.com</a> + some light WM (awesome, fluxbox, etc) + vscode works fine for me.</p></pre>kostix: <pre><p>Can you explain why you need remote <em>editing</em> at all?</p> <p>I mean, I can understand this for cases where a scripting language (like, say, PHP / Python / Ruby / JavaScript) is used, and you&#39;d like to, say, apply some last-time fixups on the server side.</p> <p>But Go is a compiled language; if you intend to use a loop like edit → <code>go run *.go</code> → re-edit on your server, please unlearn this right away ;-)</p> <p>With Go, the approach is to edit everything locally, use <code>go install</code> for building, test and then transfer the generated <em>binary</em> program file to the server.</p> <p>If your development platform is different from the server, then either use cross-compilation such as</p> <pre><code>$ GOOS=linux go build </code></pre> <p>and/or consider having a simple VM or a docker container to run tests.</p></pre>broady: <pre><p>I can explain: I do all of my development on a high powered Linux workstation, but physically access my workspace from multiple dumb terminals: MacBook, Mac Mini, Windows laptop.</p> <p>I don&#39;t want to handle synchronization of both the code and environment across these physical machines.</p> <p>The best solution I&#39;ve found is ssh + iTerm + tmux raw mode + vim.</p> <p>It has its flaws, though. Sometimes I wish I could use my mouse to navigate code, or just have a more graphical interface to browse, analyze, and write code.</p></pre>
41 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传