小编Dar*_*iak的帖子

如何让gvim与Visual Studio 2010很好地配合?

在我上一份工作中,他们使用Visual Studio 2005(偶尔使用Visual Studio 97),为了方便命令行,我使用vim来编辑Mercurial版本控制配置文件,如hgrc和.hgignore

然而,我的同事很快就开始抱怨vim会改变文件的编码,并且会在Visual Studio中弹出一条消息,告诉他们编码差异.

之后我停止使用vim,最后编辑了Visual Studio中的文件.

我可以对vim的配置进行任何更改,以免发生这种情况吗?

我会使用记事本来编辑我的文件,但它总是把那个讨厌的.txt扩展名放在我文件的末尾.

我也知道像Notepad ++这样的解决方案,但我只是想知道在vim中是否有解决方案.

vim visual-studio-2010 visual-studio-97

5
推荐指数
1
解决办法
1261
查看次数

在 Windows 7 或 Vista 上安装 Visual Studio 2002

我想在 Window 7(32 位)上安装 Visual Studio 2002。当我尝试时,它给出了 .NET Framework 1.0 不兼容的错误。我可以安装框架1.1。在机器上没问题,但 VS 2002 需要 1.0。

笔记:

我知道 VS 2002 和 Framework 1.0 在 Windows 7 / Vista 上不兼容,但我已将其安装在另一台类似的计算机上并且已经使用了一段时间。不幸的是,我不记得当时我做了什么让它发挥作用。

任何建议、解决方法、想法或解决方案都非常感谢。

  1. 请不要告诉我它不兼容和/或否决,因为我 100% 确定我在一台机器上运行它。

  2. 另外,由于遗留应用程序,我必须使用 VS2002。

.net windows-vista visual-studio windows-7 visual-studio-2002

5
推荐指数
1
解决办法
4779
查看次数

为什么使用ttinclude而不是编译的程序集?

我一直在编写一个程序集来简化我的POCO类型生成.我有一个核心程序集,其中包含多个tt文件并用于生成代码.

我这样做的原因是因为无论我尝试哪种扩展(Devart T4,Tangible-T4或Visual T4)都没有Visual Studio的C#编辑器提供的智能感知和支持,所以在纯C#编写代码生成改进了经验很多.

我现在面临的最大问题是,实体框架辅助类(如事实Accessibility,CodeGenerationTools,MetadataTools等)是一个ttinclude文件,而不是一个组件内定义; 目前我不得不重写这些类提供的许多功能,以便可以从程序集中使用它.

我的问题是,为什么实体框架团队决定使用ttinclude文件而不是某些已编译的程序集?使用程序集方法似乎在更多情况下会更加可用,并且仍然不会影响T4代码生成(而不是使用<#@ include #><#@ assembly #>).

我想知道解决这个问题的最佳方法是什么,我已经考虑EF.Utility.CS.ttincludeTextTransform.exe,然后采用生成的C#并编译它,这是可取的吗?

谢谢,卢克

更新

目前我所做的是添加EF.Utility.CS.ttinclude到我的项目,将文件上的自定义工具设置为TextTemplatingFilePreprocessor.这将生成包含类的代码.然后我复制了这个cs文件,删除了负责编写输出的类(它有方法TransformText())并编译成程序集.我现在可以在程序集中使用实体框架实用程序类.

c# t4 entity-framework tangible-t4-editor clarius-visual-t4

5
推荐指数
1
解决办法
4318
查看次数

5
推荐指数
1
解决办法
2246
查看次数

T4中的扩展方法

我试图在VS2008的T4模板中使用PGK.Extensions for VB.NET,我得到:

RemoveAllSpecialCharacters不是字符串的成员..

我的T4标题:

<#@ template language="VB" hostspecific="false" debug="true" inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation" #>
<#@ output extension="vb" #>

<#@ assembly name="PGK.Extensions.dll" #> // the dll is found
<#@ import namespace="StringExtensions" #> //Try with and without namespace
Run Code Online (Sandbox Code Playgroud)

在块代码中使用扩展名:

<#
   Me.WriteLine(item.Name.RemoveAllSpecialCharacters.ToUpper)
#>
Run Code Online (Sandbox Code Playgroud)

RemoveAllSpecialCharacters是PGK.Extensions.dll的字符串扩展方法.

有谁能够帮我?

编辑:

好.它的:

<#@ template language="VBv3.5" ...
Run Code Online (Sandbox Code Playgroud)

但这打破了VS2008插件中的DevArt T4 Editor intellisense和语法高亮.请改用有形T4编辑器.

vb.net t4 .net-3.5 visual-studio-2008 tangible-t4-editor

5
推荐指数
1
解决办法
685
查看次数

在GitHub Pages上设置Gatsby

我一直在恶心自己设置一个reactjs Web应用程序/ webpack等。所以现在我正在使用Gatsby,它可以挽救生命!!!!

我已经使用NPM在本地安装了盖茨比。我想将其部署到我的Github页面上。

这是我遵循的说明:https : //www.gatsbyjs.org/docs/deploy-gatsby/#github-pages

这是我在GitHub.io页面上看到的内容:https ://reenaverma.github.io/

它不是默认的入门包索引页面/内容,我在本地主机8000上看到了。

我可以在我的Github存储库上看到正确的内容已部署到Github:https : //github.com/ReenaVerma/reenaverma.github.io

但是我实际上没有在URL上看到它。好像它是我的自述文件的第一篇...如何解决此问题?

有任何想法吗?

javascript github github-pages gatsby

5
推荐指数
1
解决办法
877
查看次数

flowlayoutpanel和水平滚动条问题

我正在使用一个flowlayoutpanel,每个逻辑都有很多按钮.我有一个问题,当我调整窗口大小时,我不是当窗口变小时我无法看到所有按钮水平排列.而当窗口变小时,按钮会下降到下一行.任何人都可以帮我解决这个问题吗?我只想让按钮水平排列,当窗口变小时,有一个水平滚动条.以下是我所拥有的.

fLayoutPnl.Controls.Add(btn1);
// snipped adding buttons from 2 to 15
fLayoutPnl.Controls.Add(btn16);
fLayoutPnl.Dock = System.Windows.Forms.DockStyle.Top;
fLayoutPnl.Location = new System.Drawing.Point(0, 10);
fLayoutPnl.Name = "fLayoutPnl";
fLayoutPnl.Size = new System.Drawing.Size(1245, 30);
Run Code Online (Sandbox Code Playgroud)

c# flowlayoutpanel winforms

4
推荐指数
3
解决办法
2万
查看次数

深度优先使用Queue进行搜索

如何在c#中使用队列进行深度优先搜索?

以下是我的数据结构:

public class Node
{
  public string Name{get;set}
  public IEnumerable<Node> Children{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个Node对象的集合,每个对象都带有子节点,它们还有子节点等等.

我想访问每个节点并将其转换为不同的形式.

像下面这样的东西:

public IEnumerable<IContent> BuildContentFrom(IEnumerable<Node> nodes)
        {
            var queue = new Queue<Node>(nodes);

            while (queue.Any())
            {
                var next = queue.Dequeue();
                yield return BuildContentFromSingle(next);

                foreach (var child in next.Children)
                {
                    queue.Enqueue(child);
                }
            }
        }

        public IContent BuildContentFromSingle(Node node)
        {
            var content = _contentFactory.Create(node);
            return content;
        }  
Run Code Online (Sandbox Code Playgroud)

由于某些原因,上面并没有给我深度.你能帮忙吗?

c# tree tree-traversal .net-3.5 depth-first-search

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

如何引用当前项目中已存在的T4文本模板中的类?

我正在尝试使用T4模板在我的项目中自动生成一些代码使用.我从小开始让我的'脚湿了'这就是我到目前为止所拥有的.

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".cs" #>
<#@ assembly name="C:\Users\username\Documents\Visual Studio 2012\Projects\MyProjectSolution\MyProject\bin\Debug\MyProject.exe" #>
namespace KY_ADJRATE_CLAIM
{
    public class OutboundClaim
    {
<#
    ClaimConfig cc;
 #>
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过这个

<#@ assembly name="C:\Users\username\Documents\Visual Studio 2012\Projects\MyProjectSolution\MyProject\bin\Debug\MyProject.exe" #>
Run Code Online (Sandbox Code Playgroud)

还有这个

<#@ assembly name="MyProject.exe" #>
Run Code Online (Sandbox Code Playgroud)

但每当我尝试创建一个类的实例时,我得到这个:

命名空间不能直接包含字段或方法等成员.编译转换:找不到类型或命名空间名称'ClaimConfig'(您是否缺少using指令或程序集引用?)

我想要做的是通过T4模板访问我的项目中的ClaimConfig类.

任何帮助将不胜感激.

c# t4 c#-4.0

4
推荐指数
2
解决办法
4242
查看次数

每次在C++中生成相同的随机数

这是我的代码:

int main(int argc, char** argv) {

    int sleeptime = atoi(argv[1]);    
    int sleepCount = atoi(argv[2]);

    int sleepTimeRandom = 1 + (rand() % (int)(sleeptime));
    int sleepCountRandom = 1 + (rand() % (int)(sleepCount));

    sleepTimeRandom = sleepTimeRandom * 1000;

    DWORD id = GetCurrentProcessId();

    cout << "\n\nProcess with id " << id << " will sleep for " << sleepTimeRandom << " milliseconds\n";
    cout << "\n\nProcess with id " << id << " will sleep " << sleepCountRandom << " times \n";
Run Code Online (Sandbox Code Playgroud)

当我打电话给exe时

sleeper …
Run Code Online (Sandbox Code Playgroud)

c++ random

4
推荐指数
2
解决办法
6094
查看次数