sublime如何实现SSH远程开发 sublime连接服务器的完整教程

sublime text可通过sftp插件实现基础ssh远程开发,但功能有限;推荐使用vs code或jetbrains ide等更专业的替代方案。1. 安装package control并添加sftp插件;2. 配置sftp-config.json文件,填写主机、用户、远程路径等信息;3. 推荐使用ssh密钥登录,提升安全性;4. 设置upload_on_save和download_on_open实现自动同步;5. 若连接慢,可优化transfer_buffer_size、concurrent_connections等参数,检查网络、防火墙及服务器ssh配置;6. 为实现代码补全和语法检查,需安装lsp插件并配置对应语言服务器(如pylsp、typescript-language-server),同时安装flake8等linter工具;7. 可安装tabnine插件增强ai智能补全能力。通过上述步骤可显著提升sublime text的远程开发体验,但复杂项目仍建议使用vs code remote-ssh或pycharm等专业工具完成。

sublime如何实现SSH远程开发 sublime连接服务器的完整教程

sublime text 结合插件可以实现简单的SSH远程开发,但功能相对有限,不如专业的IDE。核心在于利用插件同步本地文件到服务器,并在本地编辑后自动上传。

解决方案

Sublime Text 本身不具备原生的SSH远程开发功能,需要借助插件来实现。比较流行的选择是

SFTP

插件。以下是使用

SFTP

插件连接服务器的完整教程:

  1. 安装 Package Control: 如果还没有安装,先安装 Sublime Text 的 Package Control。打开 Sublime Text,按下
    Ctrl+

    (windows/linux) 或

    Cmd+

    (macos),打开控制台。然后粘贴以下代码并回车:

import urllib.request,os,hashlib; h = '6f4c264a24d733298e1133470ef90c6a' + 'bf40d613300f94c59ca7baa5438b559'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

重启 Sublime Text。

  1. 安装 SFTP 插件: 按下

    Ctrl+Shift+P

    (Windows/Linux) 或

    Cmd+Shift+P

    (macOS),打开命令面板,输入

    Install Package

    并选择。然后在列表中搜索

    SFTP

    并安装。

  2. 配置 SFTP: 安装完成后,在 Sublime Text 中打开一个项目文件夹(

    Project -> Add Folder to Project...

    )。然后在侧边栏的项目文件夹上右键,选择

    SFTP/FTP -> Setup Server...

    。 Sublime Text 会自动创建一个名为

    sftp-config.JSon

    的配置文件。

  3. 编辑

    sftp-config.json

    : 编辑

    sftp-config.json

    文件,填入服务器连接信息。例如:

{     "type": "sftp",     "host": "your_server_ip",     "user": "your_username",     "password": "your_password", // 强烈建议使用密钥登录,避免明文密码     "remote_path": "/path/to/your/project",     "ignore_regexes": [         ".sublime-(project|workspace)", ".*.pyc", ".*.pyo", ".*.DS_Store", ".*.git", ".*.hg", ".*.svn", "CVS", "_darcs", ".*[Mm]erge"     ],     "connect_timeout": 30,     "upload_on_save": true,     "download_on_open": true }
  • host

    : 服务器 IP 地址或域名。

  • user

    : 用户名。

  • password

    : 密码(不推荐)。

  • remote_path

    : 服务器上的项目目录。

  • upload_on_save

    : 设置为

    true

    ,保存文件时自动上传。

  • download_on_open

    : 设置为

    true

    ,打开文件时自动下载。

  1. 使用密钥登录 (推荐): 为了安全起见,强烈建议使用 SSH 密钥登录。首先在本地生成 SSH 密钥对(如果还没有):
ssh-keygen -t rsa -b 4096

然后将公钥 (通常是

~/.ssh/id_rsa.pub

) 复制到服务器的

~/.ssh/authorized_keys

文件中。

sftp-config.json

中,删除

"password"

行,并添加以下内容:

    "ssh_key_file": "~/.ssh/id_rsa"

确保

ssh_key_file

指向你的私钥文件。

  1. 同步文件: 在侧边栏的项目文件夹上右键,选择

    SFTP/FTP -> Sync Remote -> Local

    下载服务器上的文件到本地。 或者选择

    SFTP/FTP -> Sync Local -> Remote

    上传本地文件到服务器。

  2. 自动上传: 如果

    "upload_on_save"

    设置为

    true

    ,每次保存文件时,Sublime Text 会自动将文件上传到服务器。

如何解决SFTP插件连接服务器速度慢的问题?

SFTP 连接速度慢可能是多种原因造成的。

  1. 网络延迟: 首先检查本地网络和服务器的网络连接是否稳定。可以使用

    ping

    命令测试服务器的连通性。

  2. SFTP 配置优化: 可以尝试调整

    sftp-config.json

    中的一些参数:

    • connect_timeout

      : 增加连接超时时间,例如设置为 60。

    • transfer_buffer_size

      : 调整传输缓冲区大小,例如设置为 4194304 (4MB)。

    • concurrent_connections

      : 增加并发连接数,例如设置为 4。

  3. 服务器配置: 检查服务器的 SSH 配置。确保服务器的 SSH 配置允许 TCP 窗口缩放 (TCP window scaling) 和 TCP keep-alive。 在

    /etc/ssh/sshd_config

    文件中,确保以下选项没有被注释掉或设置为

    no

    TCPKeepAlive yes ClientAliveInterval 60 ClientAliveCountMax 3

    重启 SSH 服务:

    sudo systemctl restart sshd
  4. 使用更快的 SSH 客户端: 虽然

    SFTP

    插件很方便,但性能可能不如专业的 SSH 客户端。 可以考虑使用 visual studio Code 的

    Remote - SSH

    插件,或者使用专业的 SSH 客户端(如 MobaXterm)进行文件传输。

  5. 检查防火墙: 确保防火墙没有阻止 SFTP 连接。 SFTP 默认使用 22 端口。

Sublime Text远程开发有哪些替代方案?

虽然 Sublime Text 结合 SFTP 插件可以实现远程开发,但功能相对简单。以下是一些更强大的替代方案:

  1. visual studio code: Visual Studio Code (VS Code) 是一个非常流行的代码编辑器,它拥有强大的远程开发功能。 通过

    Remote - SSH

    插件,可以直接连接到远程服务器,并在本地编辑、调试代码。VS Code 的远程开发体验非常流畅,并且支持各种编程语言。

  2. JetBrains IDEs (PyCharm, IntelliJ idea, webstorm): JetBrains 旗下的 IDEs 提供了强大的远程开发支持。 例如,PyCharm 可以通过 SSH 连接到远程服务器,并在本地运行、调试 python 代码。JetBrains IDEs 的远程开发功能非常强大,但需要付费订阅。

  3. atom: Atom 是 github 开发的一个开源代码编辑器,它也支持远程开发。 通过

    remote-atom

    插件,可以连接到远程服务器,并在本地编辑代码。Atom 的性能可能不如 VS Code,但它是一个不错的免费选择。

  4. vim/Neovim: 对于喜欢终端操作的开发者,Vim 或 Neovim 是一个强大的选择。 通过

    scp

    rsync

    命令,可以方便地在本地和服务器之间同步文件。 此外,还可以使用

    tmux

    screen

    在服务器上运行 Vim,并在本地通过 SSH 连接到服务器。

如何在Sublime Text中实现代码自动补全和语法检查?

Sublime Text 本身的代码补全功能比较基础,需要借助插件来增强。

  1. 安装 LSP (Language Server Protocol) 插件: LSP 是一种标准化的协议,用于连接代码编辑器和语言服务器。 安装 LSP 插件后,Sublime Text 可以与各种语言服务器通信,实现代码自动补全、语法检查、代码格式化等功能。

    • 首先安装
      LSP

      插件:在 Package Control 中搜索并安装

      LSP

  2. 安装语言服务器: 根据你使用的编程语言,安装相应的语言服务器。 例如,对于 Python,可以安装

    python-lsp-server

    pip install python-lsp-server

    对于 JavaScript/TypeScript,可以安装

    typescript-language-server

    npm install -g typescript-language-server
  3. 配置 LSP: 在 Sublime Text 中,打开

    Preferences -> Package Settings -> LSP -> Settings

    ,配置 LSP。 例如,对于 Python,可以添加以下配置:

{     "clients": {         "pylsp": {             "command": ["pylsp"],             "settings": {                 "pylsp": {                     "configurationSources": ["flake8", "pycodestyle"]                 }             },             "languageId": "python",             "enabled": true         }     } }
  1. 安装代码检查工具 (Linters): 为了实现更强大的语法检查功能,可以安装代码检查工具,例如

    flake8

    pylint

    (Python)。

    pip install flake8

    然后配置 LSP,使其使用这些代码检查工具。

  2. 使用 TabNine: TabNine 是一个基于 AI 的代码补全工具,它可以根据你的代码上下文提供更智能的补全建议。 安装 TabNine 插件后,Sublime Text 的代码补全功能会得到显著提升。

通过以上步骤,可以在 Sublime Text 中实现强大的代码自动补全和语法检查功能,提高开发效率。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享