使用 Visual Studio 代码并使用定义的符号
Using Visual Studio Code and using defined symbols
编辑:我已经编辑了整个问题,因为这不仅适用于 Unity3D,而且适用于所有 .sln 项目。
我在我工作的 Macbook 上安装了 Visual Studio 代码(不是 Visual Studio,而是这个:https://code.visualstudio.com/)。 VSCode 在其他方面与普通项目和 Unity3D 项目工作得很好。我在所有 类 上都获得了 Intellisense,包括 Unity3D 特定的,比如 GameObject。所以我认为我的安装和启动顺序是正确的。
我唯一的问题是 VSCode 似乎无法识别 .csproj 文件中定义的常量。首先,我在一些 Unity3D 插件中注意到了这一点,但它在普通 Visual Studio 项目中也存在。
我的示例项目是一个从互联网上下载的虚拟应用程序,但它完全可以在 MonoDevelop 上运行。这是我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DummyConsoleApplication
{
class Program
{
static void Main(string[] args)
{
tester();
}
#if DEBUG
static void tester(){
}
#endif
}
}
Main 中的函数调用在编辑器中导致未找到异常,但编译正常,因为 .csproj 文件有这一行:
<DefineConstants>DEBUG;TRACE</DefineConstants>
如能验证这是否是 VSCode 的正常行为,我们将不胜感激。此外,如果有人知道任何解决方案,即使是 hacky 的解决方案,也可以解决这个错误并强制 Intellisense 自动完成。
我得到的错误是:
The name 'tester' does not exist in the current context [DummyConsoleApplication]
我的硬件是带有 Yosemite 的 Macbook,我的编译器是 dnx-mono.1.0.0-beta4。
它应该有效...
作为完整性检查,您是否:
- "Sync MonoDevelop Project"最近?
- 确保 Visual Studio 代码选择了 -csharp 解决方案 (.sln)? (点击状态栏火焰即可更改)
这是 OmniSharp, the C# engine that Visual Studio Code is built around. There is an open enhancement request for adding <DefineConstants>
support, but it is tied to a larger issue with regards to MSBuild Support 的已知限制。
目前,Visual Studio 代码不支持此配置。您可以尝试通过 launch.json 来定义您的常量,但最多支持很少。
编辑:我已经编辑了整个问题,因为这不仅适用于 Unity3D,而且适用于所有 .sln 项目。
我在我工作的 Macbook 上安装了 Visual Studio 代码(不是 Visual Studio,而是这个:https://code.visualstudio.com/)。 VSCode 在其他方面与普通项目和 Unity3D 项目工作得很好。我在所有 类 上都获得了 Intellisense,包括 Unity3D 特定的,比如 GameObject。所以我认为我的安装和启动顺序是正确的。
我唯一的问题是 VSCode 似乎无法识别 .csproj 文件中定义的常量。首先,我在一些 Unity3D 插件中注意到了这一点,但它在普通 Visual Studio 项目中也存在。
我的示例项目是一个从互联网上下载的虚拟应用程序,但它完全可以在 MonoDevelop 上运行。这是我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DummyConsoleApplication
{
class Program
{
static void Main(string[] args)
{
tester();
}
#if DEBUG
static void tester(){
}
#endif
}
}
Main 中的函数调用在编辑器中导致未找到异常,但编译正常,因为 .csproj 文件有这一行:
<DefineConstants>DEBUG;TRACE</DefineConstants>
如能验证这是否是 VSCode 的正常行为,我们将不胜感激。此外,如果有人知道任何解决方案,即使是 hacky 的解决方案,也可以解决这个错误并强制 Intellisense 自动完成。
我得到的错误是:
The name 'tester' does not exist in the current context [DummyConsoleApplication]
我的硬件是带有 Yosemite 的 Macbook,我的编译器是 dnx-mono.1.0.0-beta4。
它应该有效...
作为完整性检查,您是否:
- "Sync MonoDevelop Project"最近?
- 确保 Visual Studio 代码选择了 -csharp 解决方案 (.sln)? (点击状态栏火焰即可更改)
这是 OmniSharp, the C# engine that Visual Studio Code is built around. There is an open enhancement request for adding <DefineConstants>
support, but it is tied to a larger issue with regards to MSBuild Support 的已知限制。
目前,Visual Studio 代码不支持此配置。您可以尝试通过 launch.json 来定义您的常量,但最多支持很少。