You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决VS Code SFTP上传后FileZilla下载文件的多余空行问题

解决SFTP上传后FileZilla下载出现多余空行的问题

这个问题本质是换行符格式不兼容:Windows系统默认用CRLF(回车+换行)作为换行符,而Linux服务器使用LF(仅换行),传输过程中换行符被错误转换,导致文件打开后出现大量多余空行。以下是具体解决方法:

1. 配置VS Code的SFTP扩展,强制使用LF上传

打开项目的.vscode/sftp.json配置文件,添加或修改uploadOptions字段,指定上传时统一使用LF换行符:

"uploadOptions": {
  "lineEnding": "lf"
}

也可以临时调整单个文件:在VS Code右下角点击当前文件的换行符标识(比如显示CRLF),选择LF后保存再上传。

2. 修正FileZilla的传输模式

  • 打开FileZilla,依次点击【编辑】→【设置】→【文件传输】→【ASCII/二进制】
  • 确保PHP等代码类文件被归类为ASCII传输模式,或者勾选「自动检测文件类型并使用合适的传输模式」
  • 传输单个文件时,右键选择【传输类型】→【ASCII】,避免二进制模式破坏换行符结构。

3. 统一本地VS Code的默认换行符

打开VS Code设置(快捷键Ctrl+,),搜索files.eol,将值设置为\n(即LF),让本地新建/编辑的文件默认使用Linux服务器兼容的换行符,从根源避免转换问题。

问题示例对比

上传前的代码:

<?php
class ControllerApiCart extends Controller {

public function add() {
    $this->load->language('api/cart');

    $json = array();

    if (!isset($this->session->data['api_id'])) {
        $json['error']['warning'] = $this->language->get('error_permission');
    }

下载后出现多余空行的代码:

<?php

class ControllerApiCart extends Controller {

public function add() {

    $this->load->language('api/cart');



    $json = array();



    if (!isset($this->session->data['api_id'])) {

        $json['error']['warning'] = $this->language->get('error_permission');
    }

内容的提问来源于stack exchange,提问作者bobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:15:06