在Resharper 9.2和Visual Studio 14(2015)中,我想在清除代码(Ctrl + E,Ctrl + C)上的左括号前删除空白行.我找不到这个设置.这是一些示例代码.
是)我有的:
namespace TestApp.Test
{
public class Program
{
private string _foo;
private string _bar;
public string Qux { get; set; }
private Program()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是:
namespace TestApp.Test
{
public class Program
{
private string _foo;
private string _bar;
public string Qux { get; set; }
private Program()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
选项'删除声明'和'之前的"{"和之前的空白行'和'删除代码'之后的"{"和"}"之前的空白行不适用于此问题.
当我将选项'保留声明中的最大空行'设置为'0'时,删除空白行,同时删除字段和属性之间的所有空行.因此,我想把它保持在'1'.
我不想要的:
namespace TestApp.Test
{
public class Program
{
private string _foo;
private string _bar;
public string …Run Code Online (Sandbox Code Playgroud) 我正在将 .net 4.7 项目移植到 .net 标准,它使用 T4 生成一些代码。我遍历类、属性和方法。这使用完美,但现在 DTE 的返回类型是“System.__ComObject”类型,我无法转换它们。
错误:无法将“System.__ComObject”类型的 COM 对象转换为接口类型“EnvDTE.CodeClass”。此操作失败,因为 IID 为“{B1F42514-91CD-4D3A-8B25-A317D8032B24}”的接口的 COM 组件上的 QueryInterface 调用失败,原因如下:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .
任何想法如何解决这一问题?
例子:
public static bool CheckBase(CodeClass codeClass, string baseName)
{
var bases = codeClass.Bases;
if (bases != null)
{
foreach (CodeClass baseClass in bases)
{
if(baseClass.Name == baseName) return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)