C# 添加长字符串时,语法高亮显示将停止工作

C# 添加长字符串时,语法高亮显示将停止工作,c#,visual-studio-2013,syntax-highlighting,C#,Visual Studio 2013,Syntax Highlighting,这与这个问题没有任何关系 我使用的IDE是Visual Studio Ultimate 2013 出于演示目的,长字符串是一个base64编码的图像,长度为44517个字符(太大,无法粘贴到代码块中,因此我将其放在pastebin上) 我将图像直接嵌入到类中的原因是出于懒惰。我不希望将所有图像添加为我希望在其中使用此类的每个项目的资源,而且由于resources无论如何都从base64编码版本加载图像,这在功能上没有什么不同,但其优点是使类成为一个插入对象(嵌入,而不是编译为额外的dll) C

这与这个问题没有任何关系

我使用的IDE是Visual Studio Ultimate 2013

出于演示目的,长字符串是一个base64编码的图像,长度为44517个字符(太大,无法粘贴到代码块中,因此我将其放在pastebin上)

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

CodeSense继续工作,但正如您可以想象的,缺少语法突出显示,让我感觉我的开发环境只是时间倒转了20多年


关于如何纠正此问题并将图像直接嵌入到类中的任何建议。(是的,我知道,我想要吃蛋糕——否则为什么要吃蛋糕?

您试图声明静态变量并从TXT文件加载它?并将byt值放入TXT文件中。
或者可以将字符串拆分为多个变量

这个问题似乎已在Visual Studio 2015中修复。我无法使用你的粘贴库中的代码在那里复制它。然而,我能够在VS2013中复制它,所以不仅仅是你

同时,一个立即浮现在脑海中的解决方法是将文字分割成块,因为如果文字足够短,高亮显示就可以正常工作。在我的例子中,即使只有两个20KB的块也能做到这一点。我不确定这个神奇的数字是什么,但可能不值得去尝试去发现


从头开始——正如我所怀疑的,神奇的数字是32768,通过自由使用复制和粘贴找到的。这一限制特别适用于一行代码的总长度,包括空格和标点符号(引号、括号等),因此在对字符串文本进行分块时,请确保每个分块位于自己的行上。只要语句跨行拆分,就可以将它们连接到一个语句中。

第一句中的“此问题”是否意味着指向不同主题的链接?
Resources
从base64编码版本加载图像=>我相信它作为base64存储在resx XML文件中,但它在编译时转换为二进制资源。此外,您可以使用位于声明您的类的同一程序集中的resx文件。@Lucastzesniewski-为该程序集拥有一个resx意味着每当我想使用该类时,都需要我手动将资源添加到每个项目中。这可以通过将对象直接嵌入类中来消除。通过使所有内容尽可能独立,最大限度地减少分布混乱。(例如,可移植单文件可执行文件或某些人所说的“单片”构建)@Sanuel nope,您只将资源添加到一个项目中,然后从其他项目中使用它们,或者编写一个类来封装对共享资源的访问。我认为这里不需要重复资源。当然,如果你最后只想要一个assemlby,那就另当别论了——你需要像ILMerge或LibZ这样的东西。@lucastzesniewski——添加到另一个项目中会创建另一个程序集,正如你所提到的,这个程序集必须使用一个合并应用程序嵌入,该应用程序基本上只是围绕主文件构建一个包装器——一个具有从历史上看,这会增加麻烦。另一个选择是尝试找出如何将这个lib编译为obj/lib,并在编译时链接它,但如果内存也有作用,现在这是一个痛苦的过程。感谢您的回复:)。。。我只是希望在没有外部依赖的情况下保持紧凑(当然除了.NET framework之外):)我会尝试一下,因为我相信你是正确的。你不会碰巧知道我能把它塞进的最大尺寸是多少?@Sanuel Jackson:我不想知道,但我很快就发现了它,而且有点胡闹。刚刚更新了我的答案。刚刚测试了这个,它很有效。请更新您的答案,注意限额包括
(报价单)在字符串周围。从技术上讲,最大字符串长度是32766,带引号。更新:32768字符限制包括所有字符,包括字符串前后的制表符/空格/引号,如果添加到字符串末尾,则除
+
字符外。如果在字符串之前添加
+
字符,则萨纽尔·杰克逊:是的,这就是我所说的“一行代码的总长度”“最初。事实证明,它根本不是字符串文字的长度。@SanuelJackson您可以将任何内容放入资源中。@PetSerAl~关键是“我不希望将所有图像添加为我希望在其中使用此类的每个项目的资源”。换句话说,对于任何我希望在没有外部依赖的情况下使用内部类的项目,保持其紧凑、自包含和完全自然的嵌入式代码。解决了问题,并控制住了一切。