質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.19%

Windowsのcmd.exeから特定のファイルをVisual Studio(2008)で開きたい

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 3,298

rapan931

score 13

 質問内容

Windowsのcmd.exeから特定のファイルをVisual Studio(2008)で開きたいのですが、
実現方法が分かりません。すみませんが助けていただきたいです。

 環境

Windows 7
Microsoft Visual C++ 2008 Express Edition

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled May  2 2017 12:56:41)
MS-Windows 64 ビット GUI 版
適用済パッチ: 1-596
Modified by koron.kaoriya@gmail.com

 具体的に困っていること

Vimで開いているバッファーを起動済みのVisual Studio(2008)で開きたいです。

調べてみたところ、visual_studio.vimというプラグインを入れれば
vimで開いているバッファーを起動済みのVisual Studioで開けるようなのですが、
visual_studio.vimはpython依存のようで、仕事の都合上pythonが導入できない
私には使用できません。

(cmd.exeからの起動方法がわかればVim scriptの:executeを使用して、どうにかなるのかな。と考えています)

お手数をおかけしますが、ご確認をお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

0

explorer.exeにファイルを渡して上げると、そのファイルに関連づいたプログラムで起動できます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/16 09:03

    > > デバッグしたいのであれば、たぶんそのファイルをVSで開けたとしても、実行出来ないのではないかと思うのですが…
    > すみません。おっしゃっていることが余り理解できていません。。。
    理解できました。
    lunateaさんの回答にも書いたのですが、起動している(slnファイルを読み込んでいる)Visual Studioで開きたいのですが、簡易エディタみたいなところで開いてしまいますね。。

    実現難しそうな感じですかね。。

    キャンセル

  • 2017/06/16 09:57

    VSのIDEでソリューションを開いた状態で、vimでソリューション内のファイルを編集→単一のファイルを新規のIDE上に開くのではなく、ソリューションを開いたのと同じIDEに、編集内容を反映させた上で表示したいということでしょうか?

    キャンセル

  • 2017/06/16 10:14

    > ソリューションを開いたのと同じIDEに、編集内容を反映させた上で表示したいということでしょうか?
    説明が足りておらずすみません。yesです。

    キャンセル

0

以下はVS2017のものですが、devenv.exeにパスを通して開きたいファイルを引数を渡しで上げれば、
プロジェクトやソリューション以外の単一のファイルも開けると思います。

2017では適当なファイルを指定したら開けました。

Microsoft Visual Studio 2017 バージョン 15.0.26430.12.
Copyright (C) Microsoft Corp. All rights reserved.

使い方:
devenv  [solutionfile | projectfile | anyfile.ext]  [switches]

devenv の最初の引数は通常ソリューション ファイルまたはプロジェクト ファイルです
。
それ以外のファイルでも、 エディターで自動的に開くように最初の引数にそのファイル
を指定することも
できます。プロジェクト ファイルを指定すると、IDE は、プロジェクト ファイルの親デ
ィレク
トリにある、プロジェクト ファイルと同じベース名を持つ .sln ファイルを探します。
そのような .sln ファイルが存在しない場合は、 IDE は、プロジェクトを参照する
単一の .sln ファイルを探します。そのような単一の .sln ファイルが存在しない場合は
、
プロジェクト ファイルと同じベース名を含む 既定の .sln
ファイル名と共に保存されていないソリューションを作成します。

コマンド ラインでのビルド:
devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [ /projectconfig name ] ]
使用できるコマンド ラインのスイッチ:

/Build          指定されたソリューション構成でソリューションまたはプロジェクトを

                ビルドします。例: "Debug"
                複数のプラットフォームが可能な場合は、構成名を引用符で囲み、
                プラットフォーム名を入れます。例: "Debug|Win32"
/Clean          ビルド出力を削除します。
/Command        IDE を開始してコマンドを実行します。
/Deploy         ビルドしてから指定されたソリューション構成を配置します。
/Edit           このアプリケーションの実行されているインスタンス内の指定
                されたファイルを開きます。実行されているインスタンスがない場
                合、簡易ウィンドウ レイアウトで新しいインスタンスを開きます。
/LCID           IDE の既定の言語を UI に設定します。
/Log            トラブルシューティングのため、指定されたファイルに IDE 動作のロ
グを記録します。
/NoVSIP         VSIP テスト用の VSIP 開発者ライセンス キーを無効にします。
/Out            指定されたファイルにビルド ログを書き込みます。
/Project        ビルド、クリーン、または配置するプロジェクトを指定します。
                /Build、/Rebuild、/Clean または /Deploy と共に使用します。
/ProjectConfig  ソリューション構成で指定されたプロジェクト構成をオーバーライド
                します。例: ""Debug""
                複数のプラットフォームが可能な場合は、構成名を引用符で囲み、
                プラットフォーム名を入れます。例: ""Debug|Win32""
                /Project と共に使用します。
/Rebuild        クリーンを実行してから指定された構成でソリューションまたはプロジ
ェクトを
                ビルドします。
/ResetSettings  IDE の既定の設定を復元し、オプションで指定された
                VSSettings ファイルにリセットします。
/ResetSkipPkgs  VsPackages に追加された SkipLoading タグすべてをクリアします。
/Run            指定されたソリューションをコンパイルし実行します。
/RunExit        指定されたソリューションをコンパイルし実行してから IDE を終了し
ます。
/SafeMode       最低限の Windows を読み込んで、IDE をセーフ モードで起動します。

/Upgrade        プロジェクト、またはソリューションとその中のプロジェクトすべてを
アップグ
                レードします。これらのファイルのバックアップは必要に応じて作成さ
れます。
                バックアップ処理に関する詳細については、Visual Studio 変換ウィザ
ード
                についてのヘルプを参照してください。

製品固有のスイッチ:

/debugexe       指定されたデバッグ対象の実行ファイルを開きます。コマンド ライン
の
                残りの部分は、この実行ファイルに引数として渡されます。
/diff           2 つのファイルを比較します。4 つのパラメーターを受け取ります:
                ソース ファイル、ターゲット ファイル、ソース表示名 (省略可能)、
                ターゲット表示名 (省略可能)
/TfsLink        チーム エクスプローラーを開き、指定の成果物 URI が登録
                されている場合はそのビューアーを起動します。
/useenv         VC++ のビルドの IDE パスではなく、
                PATH、INCLUDE、LIBPATH、および LIB 環境変数を使用します。

コマンド ラインからデバッガーをアタッチするには、次を使用してください:
        VsJITDebugger.exe -p <pid>

追記

2008 Expressは未確認ですが、

指定したソリューションとその中の指定したファイルを新規のIDEで開く(指定したソリューションが既に開かれている場合、新規にIDEを開いてテキストファイルとして.slnファイルを開き、既存のIDEで指定したファイルを開く)
devenv <フルパス>\***.sln <フルパス>\***.cpp

開かれているIDEに指定したファイルがあったらそのIDE内で開く(開いているIDEが複数ある場合は未確認です)
devenv <フルパス>\***.cpp /edit

VCExpressは機能限定版でVCも2008と古いバージョンなので、もしかしたら/editコマンドが無いかもしれません(コマンドラインのヘルプにも載ってないみたいですし)。

あと、devenv(VCExpress)をコマンドラインから拡張子付きで実行する場合はdevenv.comの方が良いかもしれません。
.exeの方はIDE本体のGUIアプリケーションで.comは、.exeとコマンドラインのやり取りを行なうインターフェイスの様な感じになっているので。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/16 08:58 編集

    回答ありがとうございます。
    Express Edition のためか、devenv.exeはなかったです。ただ、VCExpress.exeというものはありました。(https://stackoverflow.com/questions/7818543/no-devenv-file-in-microsoft-visual-express-10)

    試しにVCExpress.exe <ファイル名>をcmd.exeから実行したのですが、Visual Studioの簡易エディターが開いてしまいました。。

    起動している(slnファイルを読み込んでいる)Visual Studioで開きたかったのですが、
    実現方法わかりますでしょうか?VCExpress.exeのヘルプを以下に記載します。

    ==================
    使い方:
    vcexpress [solutionfile | projectfile | anyfile.ext] [switches]

    devenv の最初の引数は通常ソリューション ファイルまたはプロジェクト ファイルです。
    それ以外のファイルでも、エディタで自動的に開くように最初の引数にそのファイルを指定することも
    できます。プロジェクト ファイルを指定すると、IDE は、プロジェクト ファイルの親ディレク
    トリにある、プロジェクト ファイルと同じベース名を持つ .sln ファイルを探します。
    そのような .sln ファイルが存在しない場合は、IDE は、プロジェクトを参照する
    単一の .sln ファイルを探します。そのような単一ファイルが存在しない場合は、
    プロジェクト ファイルと同じベース名を含む 既定の .sln
    ファイル名と共に保存されていないソリューションを作成します。

    コマンド ラインでのビルド:
    devenv solutionfile.sln /build solutionconfig [ /project projectnameorfile [ /projectconfig name ] ]
    使用できるコマンド ラインのスイッチ:

    /Log トラブルシューティングのため、指定されたファイルに IDE 動作のログを記録します。
    /ResetSettings IDE の既定の設定を復元し、オプションで指定された
    VSSettings ファイルにリセットします。
    /SafeMode 最小数のウィンドウを読み込んで、IDE をセーフ モードで起動します。

    製品固有のスイッチ:

    /debugexe デバッグするように指定された実行ファイルを開きます。
    コマンド ラインの残りの部分は
    この実行ファイルにその引数として渡されます。
    /useenv VC++ のビルドの IDE パスではなく、
    PATH、INCLUDE、LIBPATH、および LIB 環境変数を使用します。

    コマンド ラインからデバッガをアタッチするには、次を使用してください:
    VsJITDebugger.exe -p <pid>
    ==================

    キャンセル

  • 2017/06/16 11:38

    情報の追記ありがとうございます。

    > devenv <フルパス>\***.sln <フルパス>\***.cpp
    こちらについてはVCExpressで実行することができました!

    > devenv <フルパス>\***.cpp /edit
    まさに行いたいことはこちらなのですが、推測されているとおりVCExpressには/editはないため、VCExpressでは実行できませんでした。。以下エラーメッセージが表示されてしまいます。

    コマンド ラインが無効です。不明なスイッチ: edit

    キャンセル

0

こちらを使ってみて下さい。

https://github.com/mattn/vim-vsopen

python 非依存です。Vim でファイルを開いた状態で :VSOpen とすると Visual Studio で開きます。
作りたてホヤホヤなので動かない可能性があります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/05 14:09

    試してみましたが、VWDExpressでも状況変わらずです。。

    キャンセル

  • 2017/07/05 14:10

    だめかー。残念。ありがとうございました。

    キャンセル

  • 2017/07/05 14:16

    いえ、調査とプラグインの作成ありがとうございました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.19%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる