添加长字符串时,语法突出显示会停止工作

Kra*_*ime 7 c# syntax-highlighting visual-studio-2013

这与此问题无关

破解语法高亮示例

我使用的IDE是Visual Studio Ultimate 2013

出于演示目的,长字符串是base64编码的图像44,517个字符长(太大而无法粘贴到代码块中,所以我在这里将它放在pastebin上)

我将图像直接嵌入到课堂中的原因是出于懒惰.我不希望将所有图像作为资源添加到我希望在其中使用此类的每个项目中,并且因为Resources无论如何从base64编码版本加载图像,这在功能上没有什么不同,但具有使类成为一个下降的优点 -在对象中(嵌入式,未编译为额外的dll).

CodeSense继续工作,但是你可以想象缺乏语法突出显示,让我觉得我的开发环境只是时间扭曲了20多年.

有关如何纠正此问题的任何建议仍然将图像直接嵌入到类中.(是的,我知道,我想吃蛋糕然后吃它 - 否则为什么要吃蛋糕呢?)

Bol*_*ock 9

这个问题似乎已在Visual Studio 2015中得到修复.我无法使用您的pastebin中的代码重现它.然而,我能够在VS2013中重现它,所以它不仅仅是你.

与此同时,立即想到的一个解决方法是将文字拆分成块,因为如果文字足够短,突出显示就可以正常工作.在我的情况下,即使只有两个20千字节的块也可以.我不确定这个神奇的数字是什么,但它可能不值得尝试找出来.

划痕 - 正如我所怀疑的那样,神奇的数字是32,768,通过自由使用复制和粘贴找到.此限制特别是单行代码的总长度,包括空格和标点符号(引号,parens等),因此在对字符串文字进行分块时,请确保每个代码块都在其自己的行上.只要语句跨行分割,就可以在单个语句中将它们连接起来.