You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Visual Studio复制多行字符串后语法识别异常求助

解决VS中多行字符串复制粘贴后的语法高亮问题

我之前也碰到过一模一样的情况!这种明明是合法的多行字符串,却被VS标得五颜六色报错,还要手动删换行的操作真的太浪费时间了,给你几个亲测有效的解决方案:

  • 换成模板字符串(反引号):如果你的字符串用的是单/双引号,VS对多行的支持本来就有限,换成ES6的模板字符串(```` ```)就能完美解决多行识别问题。模板字符串天生支持换行,粘贴进去后VS能正确解析,不会再乱标错。修改后的示例代码如下:

    <div> 
      {multipleParagraphs( 
        [ 
          { 
            body: `formed from a group of international misfits enticed by the weird, wacky and wonderful allure of the cultural party experience of`, 
            items: [""] 
          } 
        ], 
        "paragraph centered-text" 
      )} 
    </div>
    

    如果需要多行内容,直接在模板字符串里换行就行,完全没问题。

  • 重启VS窗口清除语法缓存:有时候是VS的语法解析缓存出了bug,明明代码没问题却报错。按Ctrl+Shift+P(Windows/Linux)或者Cmd+Shift+P(Mac)调出命令面板,输入Reload Window重启窗口,大部分缓存导致的误判都会消失。

  • 调整语法校验设置:如果是ESLint、TSLint这类校验插件在搞鬼,可以临时禁用当前文件的校验(右键菜单找"Disable ESLint for this file"之类的选项),或者在VS设置里搜索javascript.validate.enable(JS项目)或typescript.validate.enable(TS项目),暂时关掉内置的语法校验,看是不是规则误判。

  • 无格式粘贴避免特殊字符:复制粘贴的时候偶尔会带入看不见的特殊字符(比如非打印空格),导致VS识别异常。可以用Ctrl+Shift+V(Windows/Linux)或Cmd+Shift+V(Mac)进行无格式粘贴,去掉多余的格式字符后再试试。

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

火山引擎 最新活动