Qui*_*do3 8 c# constants csproj visual-studio-code
编辑:我编辑了整个问题,因为这不仅适用于Unity3D,而且适用于所有.sln项目.
我在工作中的Macbook上安装了Visual Studio Code(非Visual Studio,但是这个:https://code.visualstudio.com/).对于普通和Unity3D项目,VSCode正常工作.我在所有类上获得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
}
}
Run Code Online (Sandbox Code Playgroud)
Main中的函数调用导致编辑器上找不到异常,但它编译得很好,因为.csproj文件有这一行:
<DefineConstants>DEBUG;TRACE</DefineConstants>
Run Code Online (Sandbox Code Playgroud)
如果这是VSCode的正常行为的任何验证将非常感激.此外,如果有人知道任何解决方案,甚至是hacky,解决这个错误并强制Intellisense自动完成也会有所帮助.
我得到的错误是:
The name 'tester' does not exist in the current context [DummyConsoleApplication]
Run Code Online (Sandbox Code Playgroud)
我的硬件是带Yosemite的Macbook,我的编译器是dnx-mono.1.0.0-beta4.
这是OmniSharp的一个已知限制,OmniSharp 是 Visual Studio Code所围绕的 C# 引擎。有一个关于添加支持的开放增强请求,但它与MSBuild 支持<DefineConstants>
方面的一个更大问题相关。
目前,这不是 Visual Studio Code 下支持的配置。您可以尝试通过launch.json来定义常量,但支持最多是最少的。
归档时间: |
|
查看次数: |
1749 次 |
最近记录: |