现在已经将源码放到GitHub中了

地址是

https://github.com/liningit/ViewJsLN

公司开发的项目使用的是Mvc框架,且Js与View页面是分开在两个文件夹下的,所以如果在View页面转到Js页面或者反过来都要先找到页面打开,很不方便.于是我做了一个VS外接程序可以很方便的用快捷键就直接互相跳转.

公司网站目录是如下图所示:View目录有Js分别在两个文件夹下:Views与Scripts

  1. 先打开VS新建项目:VS外接程序
  2. 因为我是用C#开发的所以选择Using C#
  3. 然后在下面这个图选中创建Tool这个选项
  4. 打开Connect.cs文件修改OnConnection中的一行
       Command command = commands.AddNamedCommand2(_addInInstance, "MyAddinJSView", "JSView互跳", "JSView互跳", true, , ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton);
  5. 修改Exec方法如下
      public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
    {
    handled = false;
    if (executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
    {
    if (commandName == "MyAddinJSView.Connect.MyAddinJSView")
    {
    handled = true;
    try
    {
    var file = _applicationObject.ActiveDocument;
    string opFile = string.Empty;
    if (file.FullName.ToLower().EndsWith(".cshtml"))
    {
    opFile = file.FullName.ToLower().Replace(@"\views\", @"\scripts\").Replace(".cshtml", ".js");
    }
    else if (file.FullName.ToLower().EndsWith(".js"))
    {
    opFile = file.FullName.ToLower().Replace(@"\scripts\", @"\views\").Replace(".js", ".cshtml");
    }
    if (!string.IsNullOrEmpty(opFile))
    {
    _applicationObject.ItemOperations.OpenFile(opFile);
    }
    }
    catch (Exception)
    {
    }
    return;
    }
    }
    }
  6. 然后生成dll把MyAddinJSView.dll考到一个目录下
  7. 打开MyAddinJSView - For Testing.AddIn文件所在的目录,我的是在
    C:\Users\Administrator\Documents\Visual Studio 2013\Addins下
  8. 修改 <Assembly>D:\LN\项目\MyAddinJSView\MyAddinJSView\bin\MyAddinJSView.dll</Assembly>为MyAddinJSView.dll的目录
  9. 这时候在打开vs在工具下面又一个js互跳的菜单了,如果没有则在工具>外接程序里面启用一下试试看
  10. 然后打开工具>自定义,点击下面的键盘按钮
  11. 在显示命令包含里面打myadd搜到我们新增的菜单设个快捷键并点击分配按钮就可以了

Visual Studio中View页面与Js页面用快捷键互相跳转的更多相关文章

  1. Visual Studio中安装viemu后,vim vax 快捷键大全

    高效率移动 在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM就像一个“哑巴”编辑器一样.很多新手都会一直呆在插入模式里面,因为这样易于使用.但VIM的强大之处在于 ...

  2. Umbraco -- 在Visual Studio中新建一个View 如何在Umbraco back office 中显示出来

    在使用Umbraco中的过程中,遇到一个问题. 我在项目中(Visual Studio),添加了一个View---Test.cshtml. 然后进入到该Umbraco项目的back office, 在 ...

  3. 在Visual Studio 中开发Office Add-in

    作者:陈希章 发表于2017年7月13日 "Talk is cheap, show me the code",我们就用代码来说话吧.这一篇将给大家介绍如何开始Office Add- ...

  4. [翻译]第二天 - Visual Studio 中的 .NET Core 模版一览

    原文: http://michaelcrump.net/part2-aspnetcore/ 免责声明:我不是 .NET Core 开发团队的一员,并且使用的是公开.可用的工具. 简介 该系列文章的完整 ...

  5. 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex

    开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...

  6. [No0000AE]在 Visual Studio 中调试 XAML 设计时异常

    在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并 ...

  7. [转]如何在 Visual Studio 中使用 Git 同步代码到 CodePlex

    本文转自:http://www.cnblogs.com/stg609/p/3673782.html 开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framew ...

  8. 使用Xamarin在Visual Studio中开发Android应用

    原文:使用Xamarin在Visual Studio中开发Android应用 本文使用的环境是Windows 8 Visual Studio 2012.2 1.下载Xamarin http://xam ...

  9. 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支

    使用VSTS的Git进行版本控制(四)--在Visual Studio中管理分支 可以从web版Team Services Git repo 的Branches视图中管理工作.定制视图来跟踪最关注的分 ...

随机推荐

  1. android自定义View绘制天气温度曲线

    原文:android自定义View绘制天气温度曲线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012942410/article/detail ...

  2. Matlab随笔之画图函数总结

    原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATL ...

  3. blockchain_eth客户端安装 & geth使用 &批量转账(一)

    这里是第一篇,主要讲eth客户端安装 eth官网 https://ethereum.org/ 国内有一个论坛内容挺多的,可以参考  http://ethfans.org/ eth客户端: eth客户端 ...

  4. html常用

    常用标签 <head></head> <body></body> <script></script> <a>< ...

  5. WPF LayoutTransform -改变布局

    LayoutTransform会影响布局,让grid显示分割线时候,可以看出 <Window x:Class="wpf180709.Window1" xmlns=" ...

  6. WPF开发之限制输入的控件---------转自CDSN

    原文地址 http://blog.csdn.net/ghosind/article/details/51627601 作者 ghosind 一,正则表达式过滤字符串 if (RegexString = ...

  7. Win8Metro(C#)数字图像处理--2.23二值图像开运算

    原文:Win8Metro(C#)数字图像处理--2.23二值图像开运算  [函数名称] 二值图像开运算函数OpenOperateProcess(WriteableBitmap src) [算法说明 ...

  8. C# 查农历 阴历 阳历 公历 节假日

    原文:C# 查农历 阴历 阳历 公历 节假日 using System;using System.Collections.Generic;using System.Text; namespace ca ...

  9. volatile变量理解 via《Java并发编程实战》

    第3章:对象的共享 volatile关键字的理解 volatile变量,用来确保将变量的更行操作通知到其他线程.当变量申明为volatile类型后,编译器与运行时都会注意带这个变量时共享的,因此不会将 ...

  10. jdbc连接oracle数据库字符串

    jdbc连接oracle数据库有两种方式: 连接数据库SID 连接数据库service_name 当连接SID时,字符串如下: url::orcl1" password="xxxx ...