小编ale*_*hro的帖子

需要解决方法使WebStorm的自动完成能够解析第三方模块方法

几乎所有第三方模块WebStorm的自动获取都无法解析方法/字段.在自动完成下,我的意思是所有类似intellisense的功能.例如:

var async = require('async');
async.series() //WebStorm's tooltip says: Unresolved function or method series()
Run Code Online (Sandbox Code Playgroud)

同时它解决了

async.exports.series(). 
Run Code Online (Sandbox Code Playgroud)

但这会导致运行时错误:

TypeError: Cannot call method 'series' of undefined
Run Code Online (Sandbox Code Playgroud)

对于我自己的模块,我找到了解决方法.如果我在模块中:

var myModule = module.exports;
myModule.someMethod = function(){
...
}
Run Code Online (Sandbox Code Playgroud)

然后someMethod的自动缩放工作正常.

关于以上所有,我有一堆问题.
1.为什么ide无法解析async.series()?
2.为什么async.exports.series()会导致运行时错误?
3.如何进行自动化工作?

WebStorm 5.0.4.

javascript node.js webstorm

15
推荐指数
2
解决办法
6057
查看次数

数据绑定窗口标题到应用程序资源

目前我这样做:

    public MainWindow()
    {
        InitializeComponent();
        Title = Properties.Resources.WindowName;
    }
Run Code Online (Sandbox Code Playgroud)

如何通过WPF绑定做同样的事情?

编辑:它仍然无法在XAML中工作.
环境:VS2010,.NET 4.0,Windows 7.
复制步骤:
使用代码创建类库ClassLibrary1:

 namespace ClassLibrary1
 {
    static public class Class1
    {
        static public string Something
        {
            get { return "something"; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在VS2010 .NET 4.0中创建WPF Windows应用程序.
编辑主窗口的XAML:

<Window x:Class="ahtranslator.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        
    xmlns:ClassLibrary1="clr-namespace:ClassLibrary1;assembly=ClassLibrary1" 
    Title="{Binding Source={x:Static ClassLibrary1:Class1}, Path=Something}"
    Height="350" Width="525" Icon="/ahtranslator;component/Icon1.ico"    WindowStyle="SingleBorderWindow" ShowInTaskbar="False" DataContext="{Binding}">
Run Code Online (Sandbox Code Playgroud)

...

编译错误消息:
MainWindow.xaml(7,130):错误MC3029:'ClassLibrary1:Class1'成员无效,因为它没有合格的类型名称.

另外我在WPF XAML中发现了这个话题My.Resources?.似乎一切都应该有效,但事实并非如此.

Microsoft未提供此错误消息的说明.帮助论坛http://social.msdn.microsoft.com/Forums/en/wpf/thread/4fe7d58d-785f-434c-bef3-31bd9e400691中只有另一个主题,这也无济于事.

c# data-binding wpf xaml

8
推荐指数
2
解决办法
8157
查看次数

为什么"在Setter.Value结构中设置事件处理程序"会出现编译错误?

我完全按照在Setter.Value结构设置事件处理程序中所述的方式来解决问题.但我想理解为什么问题的作者提供的解决方案不起作用.看起来我错过了一些概念.

wpf events styles

8
推荐指数
1
解决办法
3230
查看次数

如何在VS2010中保存和管理Debug-> Exceptions首选项?

例如:
1.我正在修复一个错误,需要打破异常.我打算打破所有例外.
然后我决定不打破一些例外并禁用它们.
我解决了这个bug并禁用了所有异常.糟糕,所有偏好都消失了.
我发现了另一个错误,需要重复真正讨厌的第2步.

那么,如何避免重复步骤2?

debugging exception visual-studio-2010

6
推荐指数
1
解决办法
706
查看次数

$ compile(html)(范围)忽略我手动创建的范围

这是我的代码:

HTML:

<div id="container" ng-controller="MyCtrl">    {{model.name}}   </div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var app=angular.module('myApp', []);

var $injector =angular.injector(['ng']); 
$injector.invoke(function($compile, $rootScope) {
    var html = '<div ng-controller="MyCtrl1">{{model.name}}</div>'

    var scope = $rootScope.$new();

    scope.model = {name:'MyCtrl1'};
    //alert(scope.model.name);
    var e3 = $compile(html)(scope);

    $('#container').append(e3[0]);
});

function MyCtrl($scope) {
    $scope.model={};
    $scope.model.name = 'MyCtrl';

};
function MyCtrl1($scope) {   
    //alert('MyCtrl1');
};
Run Code Online (Sandbox Code Playgroud)

这是一个显示行为的小提琴

如你所见,它呈现两个'MyCtrl'字符串.即angular忽略我手动创建的范围对象.

问题是:如何$compile使用我创建的范围?


更新:丑陋的解决方法:

在打电话再次$compile申请模型之后:

angular.element(e3[0]).scope().$apply(function(scope) {
    scope.model = {name:'MyCtrl1'};
});
Run Code Online (Sandbox Code Playgroud)

jquery angularjs

4
推荐指数
1
解决办法
5175
查看次数

Visual Studio中F#callstack的问题

看起来F#调试器在VS 2015中无法正常工作.让我在简单的控制台程序上进行说明:

let f1 =
    printf "hello 1" 
    printf "hello 2" //1

[<EntryPoint>]
let main argv = 
    f1 //2
    0
Run Code Online (Sandbox Code Playgroud)

我在第1行和第2行设置断点并启动调试器.

被击中的第一个BP是// 1,而它应该是// 2.这是为什么?

此时此刻我无法导航到callstack的最顶层.即当我双击callstack条目时,它应该导航我行// 2 VS告诉我"Source Not Available".这是为什么?

这两个问题并没有阻止我调试,但仍然让人很不高兴.

f# visual-studio-debugging

3
推荐指数
1
解决办法
76
查看次数

实体框架兼容POCO的最短语法

我需要F#与Entity Framework一起使用.我试图从这里改编示例:https://blogs.msdn.microsoft.com/visualstudio/2011/04/04/f-code-first-development-with-entity-framework-4-1/ 问题是那个记录声明在那里太可怕了,这对我来说是不可接受的.

type public Car() =
    let mutable m_ID : int = 0
    let mutable m_name : string = ""

    [<Key>]
    member public this.ID        with    get()   = m_ID
                                 and     set v   = m_ID <- v
    member public this.Name      with    get()   = m_name
                                 and     set v   = m_name <- v
Run Code Online (Sandbox Code Playgroud)

我以这种方式尝试过CLIMutable:

module Program    

[<CLIMutable>]
type Car = {        
    Name:string        
}        
let c = new Car(Name = "Honda")
Run Code Online (Sandbox Code Playgroud)

它会导致错误:"没有可用于'Car'类型的构造函数".据我所知,这个答案可能是一个解释:https: //stackoverflow.com/a/28845368/585819

我也尝试过这样的事情:

[<CLIMutable>]
type Car = 
    { …
Run Code Online (Sandbox Code Playgroud)

f# entity-framework poco

2
推荐指数
1
解决办法
144
查看次数

MSBuild构建解决方案但无法构建项目

我有F#项目,我想用命令行构建(稍后在FAKE配置中使用).问题是,当我直接在项目文件上使用它时,MSBuild无法解决程序集依赖性.当我使用包含此单个项目的解决方案文件时,它可以正常运行.

我真的没有想法了.解决方案文件似乎不包含任何关键信息.

另一个奇怪的事情是VSCode也无法解析其中一个程序集.我希望当我修复MSBuild配置时,我可能会看到VSCode有什么问题.

命令行:

"C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe" FSharpWeb1\FSharpWeb1.fsproj /t:rebuild
Run Code Online (Sandbox Code Playgroud)

错误信息:

C:\work\MNP\testMSBuild1\FSharpWebApi\FSharpWeb1\FSharpWeb1.fsproj(173,5): error MSB4062: The "MSBuild.ExtensionPack.FileSystem.File" task could not be loaded from the assembly C:\work\MNP\testMSBuild1\FSharpWebApi\FSharpWeb1\*Undefined*\packages\MSBuild.Extension.Pack.1.3.0\tools\net40\MSBuild.ExtensionPack.dll. Could not load file or assembly 'file:///C:\work\MNP\testMSBuild1\FSharpWebApi\FSharpWeb1\*Undefined*\packages\MSBuild.Extension.Pack.1.3.0\tools\net40\MSBuild.ExtensionPack.dll' or one of its dependencies. The filename, directory name, or volume label syntax is incorrect. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.Done Building Project "C:\work\MNP\testMSBuild1\FSharpWebApi\FSharpWeb1\FSharpWeb1.fsproj" (rebuild target(s)) -- FAILED. …
Run Code Online (Sandbox Code Playgroud)

msbuild f# visual-studio-code

2
推荐指数
1
解决办法
719
查看次数

为什么类型推断不能自动确定属性上存在的属性?

我需要比较不同类型的对象,我知道它们都有属性Id和Legacy_id.不幸的是我无法为它们添加接口,因为类型来自数据库模式.我希望以下比较器可以工作:

type Comparer<'T >()=
  interface System.Collections.Generic.IEqualityComparer<'T> with 
    member this.Equals (o1:'T,o2:'T)=
      o1.Legacy_id=o2.Legacy_id
    member this.GetHashCode(o:'T)=
      o.Id+o.Legacy_id
Run Code Online (Sandbox Code Playgroud)

此外,我还有类型的比较器类型的实例化.所以,理论上编译器有足够的信息.

但是它给出了一个错误:"基于此程序点之前的信息查找不确定类型的对象.在此程序点之前可能需要类型注释来约束对象的类型.这可以允许解析查找. "

我想知道为什么F#在这里失败了?是否有任何实际/理论限制或者它没有实施?这种推断可能非常有用.

我怀疑解释是关于F#编译器只是向前走.C#的限制没有.这是错误消息抱怨的内容.是这样吗?

f# type-inference

1
推荐指数
2
解决办法
106
查看次数