标签: vsx

如何使用MPF创建继承自c#的自定义项目?

使用Visual Studio的托管包框架,如何从C#继承,以便我可以拥有C#属性页和C#项目项?我已经尝试制作一个风味项目,但它在制作我们自己的自定义节点和自定义文件属性方面受到限制.但是,在使用MPF时,我似乎无法获得随着调味项目提供的那些C#属性.

谢谢

c# vsx extensibility mpf subtype

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

将项目中的Web引用的名称空间更改为VS项目模板

当我向项目添加Web引用时,它会提供一个默认命名空间:com.wpdevs.myservice.这是我期望它在应用程序中使用的命名空间.

当我将using语句添加到项目时,我必须添加:

using MyProject.com.wpdevs.myservice;
Run Code Online (Sandbox Code Playgroud)

我想找到一种方法来消除必须在using语句中引用项目名称.我现在正在组合的项目注定要转换为VS项目模板,并且在那里有相当奇怪的参考,甚至有一个每个项目的参考,这不是我想在项目中拥有的东西.

vsx namespaces web-reference visual-studio-2008

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

在Visual Studio包中更改配置文件

我正在构建一个Visual Studio包并与之关联,我有一个app.config文件(其中包含有关连接到WCF服务的一些信息).

据我所知,这个包实际上连接到devnev.exe.config配置文件(如果我使用AppDomain.CurrentDomain.SetupInformation.ConfigurationFile),它将检索devnev.exe.config的路径

首先,这是正确的吗?软件包不应该自动获取app.config文件吗?如果是这种情况,那么如何让项目使用app.config文件?

我正在运行VS2010 Ultimate,用C#编程.

vsx app-config configuration-files vspackage

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

VS2010加载项自定义菜单项在解决方案资源管理器的文件中

嘿伙计们,我需要在C#中为Visual Studio 2010加载项创建一个自定义菜单项,但我没有找到满足我需求的解决方案.

我知道有一个类似的帖子(Visual Studio加载项 - 向解决方案资源管理器添加上下文菜单项),但它没有帮助,因为博客通过集成包跟踪过程,视频通过VB.我曾尝试将VB语法转换为C#语法,但在视频的大约一半时间,加载方法从2005年到2010年发生了重大变化,因为某些方法已被删除或更改.

是否有关于在C#中最新的Visual Studio中的解决方案资源管理器上制作自定义菜单项的任何好的教程,是否有一个很好的网站可以作为查看VS加载项API的参考?我使用过微软的主要网站,但它很混乱,很难理解,很难理解并找到我正在寻找的方法,属性或命令.

任何帮助都会有所帮助,在此先感谢.

c# vsx contextmenu visual-studio-2010

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

基于另一个构建Visual Studio包

我想基于IronStudio添加自己的项目类型.所以,

  • 我下载的源和编译的最新版本的IronPython的,然后
  • 我创建了一个新的Visual Studio包.
  • 我添加了Templates\Projects\MyProject文件夹,并向其中添加了一个文件,并将其属性"包含在VSIX中"设置为true.

然后修改了要从IronStudio中派生的主Package类PythonProjectPackage,并设置ProvideProjectFactory属性:

[ProvideProjectFactory(
    typeof(PythonProjectFactory),
    "Django Project",
    "Django Project Files (*.myproj);*.myproj",
    "myproj", "myproj",
    @"Templates\Projects\MyProject",
    LanguageVsTemplate="MyProject")]
public sealed class MyPackage : PythonProjectPackage
Run Code Online (Sandbox Code Playgroud)

跑了.但MyProject没有出现在项目模板中.为什么不?

生成的.pkgdef文件如下所示:

[$RootKey$\InstalledProducts\VSPackage3Package]
@="#110"
"Package"="{5cd7435c-7461-459f-80bc-c0c79e9d462f}"
"PID"="1.0"
"ProductDetails"="#112"
"LogoID"="#400"
[$RootKey$\Packages\{5cd7435c-7461-459f-80bc-c0c79e9d462f}]
@="Microsoft.VSPackage3.VSPackage3Package, VSPackage3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a4f1577d825253f8"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="Microsoft.VSPackage3.VSPackage3Package"
"CodeBase"="$PackageFolder$\VSPackage3.dll"
[$RootKey$\Editors\{888888c4-36f9-4453-90aa-29fa4d2e5706}]
"Package"="{5cd7435c-7461-459f-80bc-c0c79e9d462f}"
[$RootKey$\Editors\{888888c4-36f9-4453-90aa-29fa4d2e5706}\Extensions]
"py"=dword:00000020
[$RootKey$\Editors\{888888c4-36f9-4453-90aa-29fa4d2e5706}\LogicalViews]
"{7651a701-06e5-11d1-8ebd-00a0c90f26ea}"=""
[$RootKey$\Editors\{888888c4-36f9-4453-90aa-29fa4d2e5706}\LogicalViews]
"{7651a702-06e5-11d1-8ebd-00a0c90f26ea}"=""
[$RootKey$\Editors\{888888c4-36f9-4453-90aa-29fa4d2e5706}\LogicalViews]
"{7651a703-06e5-11d1-8ebd-00a0c90f26ea}"=""
[$RootKey$\CLSID\{888888fd-3c4a-40da-aefb-5ac10f5e8b30}]
@="Microsoft.IronPythonTools.Project.PythonGeneralPropertyPage"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="Microsoft.IronPythonTools.Project.PythonGeneralPropertyPage"
"CodeBase"="$PackageFolder$\VSPackage3.dll"
"ThreadingModel"="Both"
[$RootKey$\Projects\{888888a0-9f3d-457c-b088-3a5042f75d52}]
@="PythonProjectFactory"
"DisplayName"="My Project"
"DisplayProjectFileExtensions"="My Project Files (*.myproj);*.myproj"
"Package"="{5cd7435c-7461-459f-80bc-c0c79e9d462f}"
"DefaultProjectExtension"="myproj"
"PossibleProjectExtensions"="myproj"
"ProjectTemplatesDir"="$PackageFolder$\Templates\Projects\MyProject"
"Language(VsTemplate)"="MyProject" …
Run Code Online (Sandbox Code Playgroud)

vsx ironpython visual-studio

6
推荐指数
2
解决办法
851
查看次数

VS 2010可扩展性:创建扩展以自动将所选文本(代码)包装在注释中并在其上方添加注释

我正在尝试开发一个类似于VS 2010中的"注释"工具栏按钮的扩展,但我想将所有文本标记为已注释,并在其上方添加注释.

这是一个例子.我知道这很简单,但它更容易.我的想法是有一些额外的工具栏按钮来标记不再使用的代码,标记有错误的代码......以及类似的东西......这可以在任务窗口中选取,因为它以TODO开头:

        // TODO MARTIN CODE NO LONGER USED
        /*if (myItem)
        {
            txtTest.Enabled = false;
            txtTest1.Value = 0;
            btnOk.Enabled = false;
        }*/
Run Code Online (Sandbox Code Playgroud)

我认为我需要使用:

       DTE.ActiveDocument
Run Code Online (Sandbox Code Playgroud)

和:

       (((TextDocument)myDoc).Selection.Text).
Run Code Online (Sandbox Code Playgroud)

然后再次写出代码,我需要做什么?

vsx extensibility visual-studio-addins

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

VSX - 设置要停靠的ToolWindowPanes初始位置

我正在创建一个公开工具窗口的Visual Studio包,我正在尝试确保在首次加载包时它显示为停靠在Visual Studio主窗口的左边缘.

[ProvideToolWindow(typeof(MyToolWindow), Orientation = ToolWindowOrientation.Left, 
    Style=VsDockStyle.Linked, Window=EnvDTE.Constants.vsWindowKindLinkedWindowFrame)])]
[ProvideToolWindowVisibility(typeof(MyToolWindow), VSConstants.UICONTEXT.NoSolution_string)]
public class MyPackage : Package
{
    ...
Run Code Online (Sandbox Code Playgroud)

我已经尝试了上述的许多变体,但我设法实现的最好的是将窗口停靠在底部 - 即使这样,每次重新加载包时它都会继续重新对接而不是持久化用户窗口位置.

如何指定我的窗格最初显示为停靠在主窗口的左侧?

.net vsx docking

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

如何在Visual Studio中以编程方式执行"转到定义"?

给定一个表示特定类/字段/属性的字符串(例如MyNameSpace.MyClass或者System.String.Length),我如何以编程方式使Visual Studio转到该类/字段/属性(即,使Visual Studio做同样的事情,如果我去在代码编辑器中输入引用然后点击F12)?

c# vsx envdte visual-studio-macros

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

如何为每个主题定义分类格式

在我的编辑器扩展中,我使用自定义分类格式来表示关键字,标识符等.当然,我可以使用默认格式,因为颜色(语法高亮使用)将根据所选主题进行更改.

由于我的自定义编辑器还需要其他分类类型(例如标点符号类型),因此当用户配置另一个主题(例如,通过切换DarkBlue主题)时,这些类型的颜色不会更改.我想知道如何提供特定于主题的格式.

vsx visual-studio visual-studio-extensions

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

从VSIX命令调用Roslyn

从EnvDTE.ProjectItem获取Roslyn的SyntaxTree的最佳方法是什么?我找到了另一种方法(Roslyn的Document into ProjectItem).

我从打开的文档中调用了VSIX命令,我想在那里试验Roslyn的语法树.

这段代码有效,但对我来说看起来很尴尬:

    var pi = GetProjectItem();
    var piName = pi.get_FileNames(1);

    var componentModel = (IComponentModel)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SComponentModel));
    var workspace = componentModel.GetService<Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace>();
    var ids = workspace.GetOpenDocumentIds();
    var id1 = ids.First(id => workspace.GetFilePath(id) == piName);

        Microsoft.CodeAnalysis.Solution sln = workspace.CurrentSolution;
        var doc = sln.GetDocument(id1);
        //var w = await doc.GetSyntaxTreeAsync();
        Microsoft.CodeAnalysis.SyntaxTree syntaxTree;
        if (doc.TryGetSyntaxTree(out syntaxTree))
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法从活动文档中获取Roslyn的文档?

vsx vsix roslyn visual-studio-package visual-studio-2015

6
推荐指数
2
解决办法
1256
查看次数