【问题标题】:Is there a Visual Studio "go to file in selection" hotkey?是否有 Visual Studio“选择文件”热键?
【发布时间】:2019-03-14 09:21:33
【问题描述】:

我有一些看起来像这样的代码:

@Html.Partial("~/Views/Shared/MyComponent/MyPartial.vbhtml")

就像我可以将光标放在方法上并按 F12 转到方法的定义一样,我希望能够将光标放在 "~/Views/Shared/MyComponent/MyPartial.vbhtml" 字符串上并按一些热键组合导航到该文件.

Visual Studio 有这样的热键吗?

接受 Vim 和 Resharper 快捷方式

[编辑] 只是为了给我遇到的一个场景添加上下文,我有一个类似这样的文件夹结构:

.
├─ _Views
|  ├── _Shared
|  |   └── SomePartial.vbhtml
|  └── _SomeComponent
|      └── Index.vbhtml

当我在 Index.vbhtml 时,我可以使用 @Html.Partial("SomePartial.vbhtml"),因为 asp.net mvc 有一个约定,如果在当前目录中找不到文件,它将在“共享”目录中搜索。

【问题讨论】:

  • 在vim中是gf

标签: visual-studio vim resharper


【解决方案1】:

@Doktor OSwaldo 所述,最快的方法是gf。请注意,这也适用于可视模式!

不过,:h gf 还有其他有趣的选项,包括:

  • <Ctrl-W><Ctrl-F> 在拆分缓冲区中打开。
  • 如果您希望在输入gf 时将光标下的任何文本作为新文件打开,您可以创建以下映射::map gf :e <cfile><CR>
  • 如果光标下的文件名后面有一个数字(如eval.c:10eval.c 40),输入gF 会将您定位到该行号。

【讨论】:

  • 这在某些情况下对我有用,但有时部分视图文件可能与引用它的位置不在同一目录中,在这种情况下,我会收到类似“找不到文件”的消息对于 /Views/Shared/MyComponent/MyPartial.vbhtml"
  • 我尝试了相对路径和绝对路径,它对我有用。您能否举一个具体的例子以及您使用:set path 获得的价值?
  • :设置路径给了我“.,,”。我在问题中添加了我的文件夹结构,但简而言之,vim 不知道 MVC 的约定,因此它只在当前目录中查找文件并错过了“共享”目录。
  • 您可以尝试这样设置吗→:set path=$PWD/**。这应该递归地添加与您当前路径相关的任何内容。为此,您需要在项目的根级别打开。希望您对当前的解决方案感到满意!
【解决方案2】:

最后我使用了 Resharper 的 go to file 快捷方式,与文档相反,我的文件未绑定,我必须将其设置为 ctrl+shift+t 才能使用它。

与 VsVim 的 gf 的不同之处在于它搜索整个 Visual Studio 解决方案而不是当前目录,并在搜索时接受路径中的“~”字符,因此我可以输入类似 vi" ctrl+shift+t 的内容。

【讨论】:

    猜你喜欢
    • 2015-08-07
    • 2010-11-30
    • 1970-01-01
    • 2018-03-02
    • 2011-06-09
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2016-07-12
    相关资源
    最近更新 更多